지니데비 기록 자세히보기
반응형

분류 전체보기 88

[WSL] 윈도우에서 우분투 설치 후 도커 설치

# Ubuntu 실행하여 Docker 설치sudo apt update && sudo apt upgrade –ysudo apt install -y apt-transport-https ca-certificates curl software-properties-commoncurl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpgecho "deb [signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release ..

개발환경 구축 2025.04.02

[PyCharm] Python (FastAPI) 프로젝트 실행하기

파이참으로 파이썬 프로젝트를 열면 .venv 가상환경이 자동으로 설치된다.오류 발생하면 파이참 터미널 프로젝트 루트 경로에서 아래를 실행한다.# 가상환경 구성python -m venv .vevn# 가상환경 활성화(source) .venv/bin/activate# 또는(source) .venv/Script/activate# requirements 설치pip install -r requirements.txt   File > settings > Project > Python Interpreter > .venv에 설치된 python 선택  Edit Configurations 클릭1. Application File: 프로젝트 내부의 main.py 지정 2. Python Interpreter: 이전에 지정했던 in..

개발환경 구축 2025.04.02

[Kubernetes] Rocky Linux V8.10 세팅, cgroup이란?

최근 쿠버네티스 버전이 V1.32.1로 업데이트 되면서 cgroup v2만 사용하도록 설정해야 한다.Rocky8(V8.10)에서 기본으로 설치되는 4.18 커널은 cgroup v2를 지원하지 않아서 커널 업데이트를 진행하여 cgroup v2 사용하도록 설정하는 작업을 해줘야 한다. cgroup(Control Group) 이란?cgroup은 리눅스 커널에서 제공하는 기능으로, 프로세스들이 사용하는 시스템 자원(CPU, 메모리, 디스크 I/O, 네트워크 대역폭 등)을 효율적으로 관리하고 제한할 수 있는 도구이다. 여러 프로세스가 동시에 실행될 때 한 프로세스가 너무 많은 자원을 사용하면 전체 시스템 성능에 영향을 줄 수 있는데, cgroup을 사용하면 각 프로세스 그룹에 할당된 자원을 제어할 수 있다.주요 ..

[VirtualBox] Rocky9 게스트 확장 에러

게스트확장 모듈을 컴파일 하기 위해서는 커널 개발 패키지가 필요하다고 한다.# 커널 개발 패키지 설치yum install kernel-devel kernel-headers gcc make perl# 마운팅 된 폴더로 이동cd /run/media/$(whoami)/VBox_GAs_7.1.6# 게스트 확장 CD 재설치./VBoxWindowsAdditions.exe 이랬는데도 안 되면,# 커널 확인uname -r# 커널 헤더 확인rpm -qa | grep kernel-headers 커널과 커널 헤더가 일치하는 지 확인하고 다르면 게스트 확장이 불가능하다.# 기본 커널 확인grubby --default-kernel# 필요한 커널 설치dnf install kernel-5.14.0-503.21.1.el9_5# GR..

[helm] helm 사용법

1. helm이란 무엇인가?helm이란 쿠버네티스 패키지 관리자이다. helm을 통해 쿠버네티스 클러스터에 어플리케이션을 쉽게 배포하고 관리할 수 있다. 리눅스의 yum, apt, dnf 같은 것이라고 생각하면 된다. 2. helm 주요 요소Chart: 패키지 단위이다. 하나의 Chart에는 쿠버네티스에 앱을 배포하는 데 필요한 모든 설정 파일이 포함돼 있다.(deployment, service, configmap, PVC 등)Release: Chart를 이용하여 쿠버네티스 클러스터에 앱을 처음 배포하면 Release는 1이고, upgrade 시 1씩 오른다. 각각의 독립적인 Release로 관리되고 이전 버전으로 롤백할 수 있다.Repository: Chart를 저장하는 저장소이다. 3. helm을 왜..

[Kubernetes] 68. Troubleshooting

Application failure# endpoint(front-end) 확인curl http://[web service ip]:[node port]# Service 확인(서비스에 나와있는 selector와 endpoint를 배포된 pod와 비교)kubectl describe service [web service name]# Pod 확인(environment 확인)kubectl get podkubectl describe pod [pod name]kubectl logs [pod name]kubectl logs [pod name] -f (다음 실패까지 대기)kubectl logs [pod name] -f --previous (이전의 pod의 로그)# DB Service 확인# DB Pod 확인(back-en..

[Kubernetes] 67. kubeadm

kubeadm setup 순서1. 다중시스템 or 다중VM 프로비저닝 --> 마스터(컨트롤플레인)/워커 노드 지정2. 모든 노드에 컨테이너런타임(containerd), kubeadm 설치3. 마스터 노드 초기화4. Pod 네트워크 구성(네트워크 플러그인 설치)5. 마스터 노드와 워커 노드 연결 VirtualBox로 VM 구성 후 Vagrant로 VM 스핀업git clone https://github.com/kodekloudhub/certified-kubernetes-administrator-coursecd certified-kubernetes-administrator-coursevi Vagrantfilevagrant statusvagrant upvagrant ssh kubemasterls -lalogou..

[Kubernetes] 66. Design a Cluster

클러스터 설계 전 확인사항목적이 무엇인가 - edu/dev/test/prod클라우드 타입이 무엇인가 - self/CSP어떤 작업을 실행할 것인가호스트 되는 응용프로그램이 몇 개인가응용프로그램 종류는 무엇인가 - web/big data/analytics앱 리소스 요구사항은 어떤가 - CPU/Memory트래픽 유형은 어떠한가 - 지속적인 대용량 트래픽/불규칙적인 트래픽 폭발 HA 고가용성 클러스터 구축 --> 마스터노드 여러개, 마스터노드 앞에서 로드밸런서를 구성하여 트래픽을 분산해야 함 전체 마스터노드가 다운되는 것을 대비한 external ETCD topology 구축 --> external ETCD도 여러개(Quorum, N/2+1)로 구성(복제)ETCD도 리더(RAFT로 정해짐)와 팔로워로 나뉘기 때..

반응형