29
AI 요약
이 글은 AI가 원문을 분석하여 핵심 내용을 요약한 것입니다.
리눅스 Control Groups와 Kubernetes 적용
이 게시물은 리눅스 커널의 Control Groups(cgroups) 기능과 Kubernetes(k8s)에서의 적용 방식을 설명합니다.cgroups 기본 개념
- 프로세스를 그룹으로 묶어 CPU, 메모리, I/O, 네트워크 자원 사용을 제한 및 격리
- 특히 CPU와 메모리 자원 관리에 중점
메모리 및 CPU 자원 설정
- 메모리: memory.limit_in_bytes로 사용량 제한, soft_limit_in_bytes는 기본값 유지
- CPU: cpu.cfs_period_us, cpu.cfs_quota_us, cpu.shares로 자원 할당 및 스로틀링 조절
- Pod 생성 시 k8s는 해당 cgroup을 생성하고 limits, requests 값에 따라 cgroup 설정을 조정
운영 경험
- requests.memory와 limits.memory는 동일하게 설정하는 것이 바람직
- CPU 제한이 민감한 서비스는 limits.cpu를 설정하지 않고 requests.cpu 기준으로 자원 배분