쿠버네티스 v1.37: 인플레이스 파드 재조정을 위한 ... 노트

쿠버네티스 v1.37: 인플레이스 파드 재조정을 위한 스케줄러 선점 (알파)

Kubernetes v1.35는 재시작 없이 CPU 및 메모리를 동적으로 조정할 수 있는 인플레이스 Pod 크기 조정을 도입했습니다. 그러나 완전히 활용된 노드에서 Pod를 확장할 때 용량이 부족하면 "Deferred" 상태가 될 수 있었습니다. 이는 Pod가 리소스가 사용 가능해질 때까지 무기한 대기한다는 것을 의미했습니다. 이를 해결하기 위해 Kubernetes v1.37은 현재 알파 단계인 인플레이스 Pod 크기 조정을 위한 스케줄러 선점을 도입했습니다. 이 기능은 Kubernetes 스케줄러가 노드 용량을 선제적으로 확보할 수 있도록 합니다. 실행 중인 Pod의 인플레이스 크기 조정 요청이 사용 가능한 리소스를 초과하면 스케줄러는 우선순위가 낮은 Pod를 선점할 수 있습니다. 이를 통해 중요한 애플리케이션이 바쁜 노드에서도 확장될 수 있습니다. 선점은 Pod의 현재 노드로 국한되며, 적격한 우선순위가 낮은 워크로드를 대상으로 합니다. 이를 통해 클러스터 운영자는 우선순위가 낮은 작업을 빈 패킹하여 리소스 활용도를 극대화할 수 있습니다. 이것이 없으면 운영자는 활용도 저하 또는 중요한 애플리케이션 확장 실패 위험이라는 딜레마에 직면했습니다. 이 기능은 스케줄러의 기존 추적 메커니즘과 통합됩니다. 일반적인 Pod 배치 선점과 크기 조정 선점을 구분합니다. 리소스 예약은 크기 조정 중 경쟁 조건을 방지하기 위해 안전하게 처리됩니다. 이 기능은 Kubernetes v1.37 이상 및 InPlacePodVerticalScalingSchedulerPreemption 기능 게이트가 활성화되어 있어야 합니다. 관리자는 podPreemptionPolicy 필드를 사용하여 특정 노드에 대한 크기 조정 선점을 비활성화할 수 있습니다.