리눅스의 Control Groups 기능이 Kubernetes에 어떻게 적용되는지 살펴보기
Control Groups (cgroups)란 무엇인가?
- cgroups는 리눅스 커널 기능으로, 시스템에서 실행되는 프로세스를 그룹으로 묶어 자원 사용을 제한하고 격리하는 기능을 제공한다.
Kubernetes와 Control Groups
- Kubernetes에서는 cgroups를 사용하여 CPU와 메모리 자원을 관리하며, CPU와 메모리에 대한 cgroup 설정을 통해 자원 사용을 제어할 수 있다.
메모리 설정
- 메모리 설정에는 프로세스의 메모리 사용량을 제한하는 soft limit, 일시적인 초과를 허용하는 hard limit, 및 cgroup에 속한 프로세스 ID 등이 있다.
CPU 설정
- CPU 설정에는 CPU 자원에 대한 액세스를 재할당하는 주기, 할당된 CPU 사용 시간, 상대적인 CPU 사용량, 및 cgroup에 속한 프로세스 ID 등이 있다.
실험 결과
- CPU와 메모리 테스트를 통해 cgroup 설정이 어떻게 동작하는지 확인했으며, 설정을 변경하여 CPU 및 메모리 자원을 제어하는 방법을 살펴보았다.