Kubernetes v1.33 미리 보기
작성자: Agustina Barbetta, Aakanksha Bhende, Udi Hofesh, Ryota Sawada, Sneha Yadav | 2025년 3월 26일 수요일
Kubernetes v1.33 릴리스가 다가오면서, Kubernetes 프로젝트는 계속해서 진화하고 있습니다. 전체 프로젝트의 건강한 발전을 위해 기능이 폐지되거나 제거되거나 교체될 수 있습니다. 이 블로그 포스트에서는 v1.33 릴리스 팀이 사용자가 알아야 한다고 판단한 주요 변경 사항을 정리했습니다. 아래 정보는 현재 시점의 v1.33 릴리스 계획을 기반으로 하며, 최종 릴리스 이전에 변경될 수 있습니다.
Kubernetes API 제거 및 폐지 프로세스
Kubernetes 프로젝트는 기능 폐지에 대한 명확한 정책을 문서화해 두고 있습니다. 이 정책에 따르면,
- Generally available(GA) API는 새로운 안정 버전이 존재할 때만 폐지될 수 있으며, 폐지된 이후 최소 1년 동안 유지됩니다.
- Beta 또는 pre-release API는 폐지 이후 3개의 릴리스 동안 지원되어야 합니다.
- Alpha 또는 experimental API는 별도의 사전 경고 없이 어느 릴리스에서든 제거될 수 있습니다.
API가 베타에서 안정 버전으로 승격되거나, 실패하여 제거되는 경우 모두 이 정책을 따릅니다. API가 제거될 때는 마이그레이션 경로가 명시된 가이드가 제공됩니다.
v1.33에서의 주요 API 폐지 및 제거
Endpoints API의 안정 버전 폐지
EndpointSlices API는 v1.21부터 stable 버전으로 제공되며, 기존 Endpoints API를 효과적으로 대체합니다. 기존 API는 단순했지만, 대규모 네트워크 엔드포인트에서는 확장성 문제가 있었습니다. EndpointSlices는 듀얼 스택 네트워킹 등의 기능을 제공하며, 이제 기존 Endpoints API는 폐지 수순에 들어갑니다.
이 변경은 Endpoints API를 직접 사용하는 사용자(스크립트, 워크로드 등)에만 영향을 미치며, EndpointSlices로 마이그레이션해야 합니다. KEP-4974를 참고하세요.
노드 상태의 kube-proxy 버전 정보 제거
v1.31에서 폐지된 후, status.nodeInfo.kubeProxyVersion 필드는 v1.33에서 완전히 제거됩니다. 이 필드는 kubelet에 의해 설정되었으나 정확하지 않았으며, v1.31 이후 기본적으로 비활성화되었습니다. 관련 정보는 KEP-4004를 참고하세요.
Windows Pod의 hostNetwork 지원 제거
Windows Pod 네트워킹은 Linux와의 기능 동등성을 목표로 했으며, host 네트워크 네임스페이스 사용을 통해 클러스터 밀도를 높이고자 했습니다. 그러나 containerd의 예기치 않은 동작과 대체 솔루션의 존재로 인해 해당 기능(Kep-3503)은 철회되며, v1.33에서 완전히 제거될 예정입니다.
v1.33의 주요 개선 사항
Linux Pod 내 사용자 네임스페이스 지원
가장 오래된 KEP 중 하나인 KEP-127은 Pod 보안을 강화하기 위해 Linux 사용자 네임스페이스를 도입합니다. 이 기능은 v1.25에 알파, v1.30에 베타(기본 비활성화)로 출시되었고, 이제 v1.33에서 기본 활성화됩니다.
이 기능은 기존 Pod에는 영향을 주지 않으며, pod.spec.hostUsers를 명시하여 수동으로 활성화해야 합니다. 이는 보안 취약점을 완화하기 위한 중요한 이정표입니다.
v1.33의 기타 주요 기능들
Pod 리소스의 인플레이스(무중단) 수직 확장
Pod의 리소스를 수정하려면 이전에는 Pod를 재시작해야 했습니다. 그러나 KEP-1287을 통해 Pod를 재생성하지 않고도 CPU/메모리 등의 리소스를 동적으로 수정할 수 있습니다.
- 이 기능은 v1.27에 알파로 도입되었으며, v1.33에서 베타로 예정되어 있습니다.
- 초기 부팅 시 많은 리소스를 할당하고 이후 줄이거나, 상태 저장 서비스의 무중단 확장에 유용합니다.
DRA의 ResourceClaim 장치 상태(Device Status) 베타 전환
v1.32에서 도입된 devices 필드는 ResourceClaim의 상태에 장치 상태 정보를 포함할 수 있도록 해줍니다. 이 필드는:
- 네트워크 인터페이스의 이름, MAC 주소, IP 주소 등을 보고하여 관측성과 디버깅을 향상시킵니다.
- 관련 KEP는 KEP-4817입니다.
네임스페이스 삭제 순서 지정
현재 네임스페이스 삭제는 순서가 랜덤하여, 관련 리소스가 잘못된 순서로 제거될 수 있는 보안 문제가 있었습니다.
- KEP-5080은 논리적·보안적 종속성을 고려한 삭제 순서를 도입하여, Pod가 먼저 삭제된 후 NetworkPolicy 등이 제거되도록 보장합니다.
인덱스 잡(Indexed Jobs) 처리 향상
KEP-3850과 KEP-3998은 인덱스 잡에 대한 신뢰성과 제어력을 향상시킵니다.
- 인덱스별 백오프 한계를 정의할 수 있어, 실패한 인덱스만 재시도하게 할 수 있습니다.
- 일부 인덱스가 실패해도 잡을 성공적으로 완료된 상태로 처리할 수 있습니다.
더 알아보기
Kubernetes v1.33 릴리스는 2025년 4월 23일 수요일에 예정되어 있으며, 릴리스 노트와 CHANGELOG에서 모든 변경 사항이 공식 발표될 예정입니다.