Kubernetes v1.37: 노드 수명주기 조건 소... 노트

Kubernetes v1.37: 노드 수명주기 조건 소개

Kubernetes는 전통적으로 기본적인 상태 정보 외에 Node의 라이프사이클 상태를 설명하는 통합된 방식을 제공하지 못했습니다. 이는 종종 파편화된 이해와 다양한 클러스터 구성 요소 간의 잠재적 충돌을 야기했습니다. Kubernetes v1.37은 이러한 격차를 해소하기 위해 다섯 가지 잘 알려진 Node 조건을 도입합니다. 이 새로운 조건들은 DrainInProgress, Drained, MaintenancePlanned, MaintenanceInProgress, GracefulNodeShutdownInProgress입니다. 각 조건은 True, False 또는 Unknown 상태를 사용하여 현재 상태를 나타냅니다. 관리자 또는 권한이 있는 컨트롤러는 이러한 조건을 설정하고 해제할 책임이 있습니다. 현재 핵심 워크로드 컨트롤러는 이러한 조건에 따라 작동하지 않지만, Node 라이프사이클 이벤트를 신호함으로써 운영 명확성을 제공합니다. 예를 들어, 자동화는 작업 시작 전에 MaintenancePlanned를 설정하고 시작되면 MaintenanceInProgress를 설정할 수 있습니다. 마찬가지로, 드레인 자동화는 그에 따라 DrainInProgress와 Drained를 설정할 수 있습니다. 권장되는 패턴은 실제 운영(예: 코드로닝 및 드레인)을 위해 기존 Kubernetes 메커니즘을 계속 활용하면서 상태 보고를 위해 이러한 조건을 사용하는 것입니다. 스케줄러부터 외부 유지보수 시스템에 이르기까지 다양한 클러스터 구성 요소가 Node 상태를 이해해야 하므로 이 공유 신호는 매우 중요합니다. 이것이 없으면 구성 요소는 스케줄러가 종료 중인 Pod를 교체하는 것과 같이 충돌하는 결정을 내릴 수 있습니다. 이러한 새로운 조건은 Node 라이프사이클 관리의 향후 개선을 위한 안정적인 기반을 제공합니다. Kubernetes 커뮤니티는 graceful node shutdown 및 유지보수와 같은 시나리오를 개선하기 위해 이러한 새로운 조건에 대한 피드백을 적극적으로 찾고 있습니다.