확장 지원 Kubernetes 버전의 릴리스 노트 검토
확장 지원 Kubernetes 버전의 릴리스 노트 검토
Amazon EKS는 Kubernetes 버전을 업스트림에서 지원되는 것보다 더 오래 지원하며, Kubernetes 마이너 버전을 Amazon EKS에서 릴리스된 시점부터 14개월 동안 표준 지원하고 추가로 12개월(버전당 총 26개월) 동안 확장 지원합니다.
이 주제는 확장 지원에 있는 각 Kubernetes 버전에 대해 알아야 할 중요한 변경 사항을 제공합니다. 업그레이드할 때 클러스터의 이전 버전과 새 버전 사이에서 발생한 변경 사항을 주의 깊게 검토하세요.
참고
표준 지원 버전에서 확장 지원 버전으로 롤백하면 해당 클러스터에 확장 지원 요금이 다시 적용됩니다.
Kubernetes 1.33
Kubernetes 1.33이 Amazon EKS에서 사용 가능해졌습니다. Kubernetes 1.33에 대한 자세한 내용은 공식 릴리스 공지를 참고하세요.
중요
Dynamic Resource Allocation beta Kubernetes API가 활성화됩니다.
이 beta API는 GPU 같은 리소스를 요구하는 워크로드의 스케줄링·모니터링 경험을 개선합니다. beta API는 Kubernetes 커뮤니티가 정의하며 향후 Kubernetes 버전에서 변경될 수 있어요. beta API 사용의 함의를 이해하려면 Kubernetes 문서의 Feature stages를 주의 깊게 검토하세요.
- AWS는 Kubernetes 1.33용 EKS 최적화 Amazon Linux 2 AMI를 릴리스하지 않습니다.
- AWS는 Amazon Linux 2023으로 마이그레이션할 것을 권장합니다. Upgrade from Amazon Linux 2 to Amazon Linux 2023 방법을 알아보세요.
- 자세한 내용은 Amazon Linux 2 AMI deprecation을 참고하세요.
- In-Place Pod Resource Resize (Beta): Kubernetes 1.33은 제자리 리소스 크기 조정을 beta로 승격합니다. 이는 재시작 없이 기존 Pod의 CPU·메모리 리소스를 동적으로 업데이트할 수 있게 해 주며, 상태 유지 워크로드의 제로 다운타임 수직 확장을 가능하게 합니다.
- Sidecar Containers Now Stable: Sidecar 컨테이너가 안정으로 승격되었습니다. 애플리케이션 컨테이너 전에 시작하고 Pod 수명 내내 실행되며 운영 상태 신호를 위한 프로브를 지원하는
restartPolicy: Always가 있는 특수 init 컨테이너로 구현됩니다. 자세한 내용은 Kubernetes 문서의 Sidecar Containers를 참고하세요. - Endpoints API 폐기: Endpoints API가 이제 공식적으로 폐기되었으며 접근 시 경고를 반환합니다. 워크로드와 스크립트를 EndpointSlices API로 마이그레이션하세요. 이는 이중 스택 네트워킹 같은 현대 기능을 지원하고 Service당 여러 EndpointSlices를 처리합니다. 자세한 내용은 Kubernetes 블로그의 Kubernetes v1.33: Continuing the transition from Endpoints to EndpointSlice를 참고하세요.
- Elastic Fabric Adapter 지원: Amazon EKS 클러스터의 기본 보안 그룹이 이제 Elastic Fabric Adapter (EFA) 트래픽을 지원합니다. 기본 보안 그룹에는 같은 보안 그룹을 목적지로 하는 EFA 트래픽을 허용하는 새 아웃바운드 규칙이 있습니다. 이는 클러스터 내 EFA 트래픽을 허용합니다. 자세한 내용은 Amazon Elastic Compute Cloud User Guide의 Elastic Fabric Adapter for AI/ML and HPC workloads on Amazon EC2를 참고하세요.
전체 Kubernetes 1.33 변경 로그는 https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.33.md를 참고하세요.
Kubernetes 1.32
Kubernetes 1.32가 Amazon EKS에서 사용 가능해졌습니다. Kubernetes 1.32에 대한 자세한 내용은 공식 릴리스 공지를 참고하세요.
중요
- FlowSchema와 PriorityLevelConfiguration의
flowcontrol.apiserver.k8s.io/v1beta3API 버전이1.32에서 제거되었습니다. 이 API를 사용하고 있다면 업그레이드 전에 구성을 최신 지원 버전으로 업데이트해야 합니다.- ServiceAccount
metadata.annotations[kubernetes.io/enforce-mountable-secrets]가1.32에서 폐기되었으며 향후 Kubernetes 마이너 버전 릴리스에서 제거될 예정입니다. 마운트된 비밀에 대한 접근을 격리하려면 별도의 네임스페이스를 사용할 것을 권장합니다.- Kubernetes
1.32는 Amazon EKS가 Amazon Linux 2 (AL2) AMI를 릴리스하는 마지막 버전입니다.1.33부터 Amazon EKS는 Amazon Linux 2023 (AL2023) 및 Bottlerocket 기반 AMI를 계속 릴리스합니다.- Memory Manager 기능이 Kubernetes
1.32에서 일반 공개(GA) 상태로 승격되었습니다. 이 향상은 컨테이너화된 애플리케이션, 특히 특정 메모리 요구 사항이 있는 워크로드에 더 효율적이고 예측 가능한 메모리 할당을 제공합니다.- StatefulSets가 만든 PersistentVolumeClaims (PVCs)에는 이제 자동 정리 기능이 포함됩니다. PVC가 더 이상 필요 없으면 StatefulSet 업데이트와 노드 유지 관리 작업 중 데이터 지속성을 유지하면서 자동으로 삭제됩니다. 이 기능은 스토리지 관리를 단순화하고 클러스터의 고아 PVC를 방지하는 데 도움이 됩니다.
- Custom Resource Field Selector 기능이 도입되어 개발자가 사용자 정의 리소스에 필드 선택기를 추가할 수 있습니다. 이 기능은 내장 Kubernetes 객체에 사용 가능한 것과 같은 필터링 기능을 사용자 정의 리소스에 제공해서 더 정확하고 효율적인 리소스 필터링을 가능하게 하고 더 나은 API 설계 관행을 촉진합니다.
전체 Kubernetes 1.32 변경 로그는 https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.32.md를 참고하세요.
익명 인증 변경
Amazon EKS 1.32부터 익명 인증은 다음 API 서버 상태 점검 엔드포인트로 제한됩니다.
/healthz/livez/readyz
system:unauthenticated 사용자로 다른 엔드포인트에 대한 요청은 401 Unauthorized HTTP 응답을 받습니다. 이 보안 강화는 잘못 구성된 RBAC 정책으로 인해 발생할 수 있는 의도하지 않은 클러스터 접근을 방지하는 데 도움이 됩니다.
참고
위에 나열된 상태 점검 엔드포인트에는
public-info-viewerRBAC 역할이 계속 적용됩니다.
Amazon Linux 2 AMI 폐기
Kubernetes 1.32는 Amazon EKS가 AL2 AMI를 릴리스한 마지막 버전입니다. 1.33부터 Amazon EKS는 AL2023 및 Bottlerocket 기반 AMI를 계속 릴리스합니다. 자세한 내용은 Guide to EKS AL2 & AL2-Accelerated AMIs transition features를 참고하세요.
Kubernetes 1.31
Kubernetes 1.31이 Amazon EKS에서 사용 가능해졌습니다. Kubernetes 1.31에 대한 자세한 내용은 공식 릴리스 공지를 참고하세요.
중요
- kubelet 플래그
--keep-terminated-pod-volumes는 2017년부터 폐기되었으며1.31릴리스의 일부로 제거되었습니다. 이 변경은 kubelet이 종료된 Pod 볼륨을 처리하는 방식에 영향을 줍니다. 노드 구성에서 이 플래그를 사용한다면 업그레이드 전에 부트스트랩 스크립트와 런치 템플릿을 업데이트해서 제거해야 합니다.- beta
VolumeAttributesClass기능 게이트와 API 리소스가 Amazon EKS1.31에서 활성화됩니다. 이 기능은 클러스터 운영자가 Amazon EBS CSI Driver를 포함해 호환되는 CSI Drivers가 관리하는 Persistent Volumes (PVs)의 변경 가능 속성을 수정할 수 있게 해 줍니다. 이 기능을 활용하려면 CSI Driver가VolumeAttributesClass기능을 지원하는지 확인하세요(Amazon EBS CSI Driver의 경우 버전1.35.0이상으로 업그레이드하면 기능이 자동 활성화됩니다). 원하는 볼륨 속성(볼륨 유형, 처리량 같은)을 정의하는VolumeAttributesClass객체를 만들고 Persistent Volume Claims (PVCs)와 연결할 수 있습니다. 자세한 내용은 공식 Kubernetes 문서와 CSI 드라이버 문서를 참고하세요.- Amazon EBS CSI Driver에 대한 자세한 내용은 Use Kubernetes volume storage with Amazon EBS를 참고하세요.
- Kubernetes의 AppArmor 지원이 안정으로 승격되어 일반적으로 공개 사용이 가능해졌습니다. 이 기능은 컨테이너의
securityContext에서appArmorProfile.type필드를 설정해서 컨테이너를 AppArmor로 보호할 수 있게 해 줍니다. Kubernetes1.30이전에는 AppArmor가 annotations로 제어되었습니다.1.30부터 필드로 제어됩니다. 이 기능을 활용하려면 annotations에서 벗어나appArmorProfile.type필드를 사용해서 워크로드가 호환되도록 마이그레이션할 것을 권장합니다.- PersistentVolume 마지막 단계 전환 시간 기능이 안정으로 승격되어 Kubernetes
1.31에서 일반적으로 공개 사용이 가능해졌습니다. 이 기능은 PersistentVolumeStatus에.status.lastTransitionTime이라는 새 필드를 도입하며, 이는 PersistentVolume이 마지막으로 다른 단계로 전환된 시점의 타임스탬프를 제공합니다. 이 향상은 특히 볼륨 수명 주기를 이해하는 것이 중요한 시나리오에서 PersistentVolumes의 더 나은 추적과 관리를 가능하게 합니다.
전체 Kubernetes 1.31 변경 로그는 https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.31.md를 참고하세요.
더 알아보기 (Learn more)
출처: 문서