Kubernetes v1.36: 포드 레벨 자원 관리자... 노트

Kubernetes v1.36: 포드 레벨 자원 관리자 (알파)

Kubernetes v1.36은 알파 기능으로 Pod-Level Resource Managers를 도입하여 성능에 민감한 워크로드의 리소스 관리를 향상시킵니다. 이는 kubelet의 Topology, CPU, Memory Managers를 컨테이너별 사양을 넘어선 포드 중심의 리소스 할당 모델로 확장합니다. 이를 통해 주요 애플리케이션 컨테이너에 대한 독점적이고 NUMA 정렬된 리소스를 제공하는 동시에 경량 사이드카를 효율적으로 지원하는 과제를 해결합니다. 이전에는 예측 가능한 성능을 달성하기 위해 종종 모든 컨테이너에 독점 리소스를 할당해야 했지만, 이는 사이드카에 비효율적이었습니다. 그렇지 않으면 포드의 Guaranteed QoS를 희생해야 했습니다. Pod-level resource managers는 하이브리드 할당을 가능하게 하여 고성능 워크로드가 리소스를 낭비하지 않고 NUMA 정렬을 달성할 수 있도록 합니다. 예를 들어, 지연 시간에 민감한 데이터베이스 포드는 메인 컨테이너가 독점 CPU 및 메모리를 받고, 사이드카는 다른 노드 리소스와 격리된 별도의 포드 공유 풀을 공유할 수 있습니다. 또 다른 사용 사례는 ML 워크로드로, 학습 컨테이너가 독점적인 NUMA 정렬 리소스를 받고, 서비스 메시 사이드카가 일반적인 노드 전체 공유 풀에서 실행됩니다. CPU 격리는 독점 컨테이너에 대한 CFS 쿼터 적용을 비활성화하고 공유 풀 컨테이너에 대해 포드 수준에서 적용함으로써 관리됩니다. 활성화하려면 특정 kubelet 기능 게이트, Topology Manager 정책 및 정적 CPU 및 Memory Manager 구성이 필요합니다. 새로운 kubelet 메트릭은 리소스 할당 및 컨테이너 할당에 대한 관찰 가능성을 제공합니다. 이 기능은 현재 알파 단계이며 알려진 제한 사항과 주의 사항이 있으며, Kubernetes 커뮤니티 채널을 통해 사용자 피드백을 권장합니다.