리눅스의 Control Groups 기능이 Kubernetes에 어떻게 적용되는지 살펴보기
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 기준으로 자원 배분

연관 게시글