전체 글

경험 정리용 연습장
쿠버네티스

[쿠버네티스] cgroup과 cgroup driver이란

cgroup - 프로세스에 대한 리소스 분리 및 할당 제어를 제공하는 리눅스 커널 기능 - 이를 통해 프로세스를 계층형 컨테이너로 그룹화하고 이러한 컨테이너 간의 CPU, 메모리, 디스크 I/O 및 네트워크 대역폭과 같은 시스템 리소스 할당을 관리할 수 있음 - cgroup이 관리할 수 있는 리소스의 컨트롤러는 파일 시스템의 형태로 관리되고 있음 cgroup driver - 리소스 관리를 위해 kubernetes 런타임이 기본 리눅스 커널의 cgroup 하위 시스템과 상호 작용하는 방법 - kubernetes 클러스터에서 사용되는 컨테이너 런타임을 구성할 때 설정됨 사용 가능한 cgroup driver 1. cgroupfs - kubernetes의 기본 cgroup 드라이버 - cgroupfs 파일 시스..

쿠버네티스

[쿠버네티스] 파드 정리

1. Definition - 쿠버네티스 오브젝트 중 가장 작고 기본적인 단위 - 클러스터에서 실행 중인 프로세스의 단일 인스턴스를 나타냄 - 파드에는 동일한 네트워크 네임스페이스, 스토리지 및 기타 리소스를 공유하는 하나 이상의 컨테이너가 포함될 수 있음 2. Containerization - 파드는 주로 컨테이너형 애플리케이션을 캡슐화하고 관리하는 데 사용됨 - 파드 내의 각 컨테이너는 일반적으로 서로 다른 프로세스를 실행하지만 라이프사이클이 동일하며 리소스를 공유함 3. Atomicity - 파드는 쿠버네티스에 의해 원자 단위로 취급되며 단일 엔티티로 스케줄링, 배포 및 확장됨 - 여러 컨테이너가 함께 작동하고 리소스를 공유해야 하는 경우 동일한 포드 내에 배치해야 함 4. IP Address - 각..

쿠버네티스

[쿠버네티스] 컴포넌트 정리

Control Plane Component 1. kube-apiserver- 쿠버네티스 클러스터의 중심 역할을 하는 통로 - 모든 컴포넌트와 통신하며 주로 상태 값을 저장하는 etcd와 통신 - 수평으로 확장되도록 디자인되어 여러 kube-apiserver 인스턴스를 실행하고, 인스턴스 간의 트래픽을 균형 있게 조정 가능2. kube-controller-manager - 쿠버네티스 클러스터의 오브젝트 상태를 관리 - 노드 컨트롤러, 엔드포인트 컨트롤러, 레플리카셋 컨트롤러 등이 하나의 바이너리로 통합되어 있음3. kube-scheduler - 노드가 배정되지 않은 새 파드를 감지하고, 어떤 워커 노드에 생성할 것인지 결정하고 할당4. etcd - 컴포넌트들의 상태 값이 모두 저장되는, 즉 쿠버네티스의 D..

파이썬

[파이썬] 도커 컨테이너 정보 출력

import docker 필요한 라이브러리 임포트 (https://docker-py.readthedocs.io/en/stable) def add_unit(mem: float) -> str: if mem > 1024**3: mem = round(mem / 1024**3, 2) mem = f"{mem}GiB" elif mem > 1024**2: mem = round(mem / 1024**2, 2) mem = f"{mem}MiB" elif mem > 1024: mem = round(mem / 1024, 2) mem = f"{mem}KiB" else: mem = round(mem, 2) mem = f"{mem}Byte" return mem 데이터 단위를 붙여주기 위한 함수 client = docker.Docke..

파이썬

[파이썬] GPU 정보 출력

import GPUtil 필요한 라이브러리 임포트 (https://github.com/anderskm/gputil) def add_unit(mem: float) -> str: if mem > 1024: mem = round(mem / 1024, 2) mem = f"{mem}GiB" else: mem = round(mem, 2) mem = f"{mem}MiB" return mem 데이터 단위를 붙여주기 위한 함수 for gpu in GPUtil.getGPUs(): gpu_util = f"{gpu.load}%" mem_total = add_unit(gpu.memoryTotal) mem_used = add_unit(gpu.memoryUsed) mem_used_percent = f"{round(gpu.memor..

IntegerString
코딩 연습장