확장 지원의 Kubernetes 버전에 대한 릴리스 노트 검토 - Amazon EKS

이 페이지 개선에 도움 주기

이 사용자 가이드에 기여하려면 모든 페이지의 오른쪽 창에 있는 GitHub에서 이 페이지 편집 링크를 선택합니다.

확장 지원의 Kubernetes 버전에 대한 릴리스 노트 검토

Amazon EKS는 Amazon EKS에서 릴리스된 시점으로부터 14개월 동안 Kubernetes 마이너 버전에 대한 표준 지원과 추가 12개월 동안 Kubernetes 마이너 버전에 대한 추가 지원(버전당 총 26개월)을 통해 업스트림에서 지원되는 것보다 긴 Kubernetes 버전을 지원합니다.

이 주제에서는 추가 지원의 각 Kubernetes 버전에 대해 알아야 할 중요한 변경 사항을 제공합니다. 업그레이드할 때는 클러스터의 이전 버전과 새 버전 간에 발생한 변경 사항을 주의 깊게 검토하세요.

Kubernetes 1.31

Kubernetes 1.31은 이제 Amazon EKS에서 사용할 수 있습니다. Kubernetes 1.31에 대한 자세한 내용은 공식 릴리스 발표를 참조하세요.

중요
  • 2017년 이후 더 이상 사용되지 않는 --keep-terminated-pod-volumes 플래그 kubelet는 버전 1.31 릴리스의 일환으로 제거되었습니다. 이 변경 사항은 종료된 포드 볼륨이 kubelet에서 처리되는 방식에 영향을 미칩니다. 노드 구성에서 이 플래그를 사용하는 경우 업그레이드 전에 부트스트랩 스크립트와 시작 템플릿을 업데이트하여 제거해야 합니다.

  • 베타 VolumeAttributesClass 기능 게이트 및 API 리소스는 Amazon EKS 버전 1.31에서 활성화됩니다. 이 기능을 통해 클러스터 운영자는 Amazon EBS CSI 드라이버를 비롯하여 호환 가능한 CSI 드라이버로 관리되는 영구 볼륨(PV)의 변경 가능한 속성을 수정할 수 있습니다. 이 기능을 활용하려면 CSI 드라이버가 해당 VolumeAttributesClass 기능을 지원하는지 확인하세요(Amazon EBS CSI 드라이버의 경우, 1.35.0 이상으로 업그레이드하여 기능을 자동으로 활성화). VolumeAttributesClass 객체를 생성하여 볼륨 유형 및 처리량과 같은 원하는 볼륨 속성을 정의하고 이를 영구 볼륨 클레임(PVC)과 연결할 수 있습니다. 자세한 내용은 공식 Kubernetes 설명서 및 CSI 드라이버 설명서를 참조하세요.

  • AppArmor에 대한 Kubernetes의 지원이 안정화되었으며 이제 일반 대중에게 공개되었습니다. 이 기능을 사용하면 컨테이너의 securityContextappArmorProfile.type 필드를 설정하여 AppArmor로 컨테이너를 보호할 수 있습니다. Kubernetes 버전 1.30 이전에는 주석으로 AppArmor를 제어했습니다. 버전 1.30부터 필드를 사용하여 제어합니다. 이 기능을 활용하려면 주석에서 벗어나 appArmorProfile.type 필드를 사용하여 워크로드가 호환되는지 확인하는 것이 좋습니다.

  • PersistentVolume 마지막 단계 트랜지션 시간 기능이 안정화되었으며, 이제 Kubernetes 버전 1.31에서 일반 공개로 사용할 수 있게 되었습니다. 이 기능은 PersistentVolume이 다른 단계로 마지막으로 전환된 시점의 타임스탬프를 제공하는 PersistentVolumeStatus의 새로운 .status.lastTransitionTime 필드를 도입합니다. 이 개선 사항을 통해 특히 볼륨의 수명 주기를 이해하는 것이 중요한 시나리오에서 PersistentVolumes을 더 잘 추적하고 관리할 수 있습니다.

전체 Kubernetes 1.31 변경 로그는 https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.31.md를 참조하세요.

Kubernetes 1.30

Kubernetes 1.30은 이제 Amazon EKS에서 사용할 수 있습니다. Kubernetes 1.30에 대한 자세한 내용은 공식 릴리스 발표를 참조하세요.

  • Amazon EKS 버전 1.30 이상부터 새로 생성되는 모든 관리형 노드 그룹은 자동으로 Amazon Linux 2023(AL2023)을 기본 노드 운영 체제로 사용합니다. 관리형 노드 그룹의 운영 체제 지정에 대한 자세한 내용은 클러스터에 대한 관리형 노드 그룹 생성 섹션을 참조하세요.

  • Amazon EKS 1.30을 사용하면 topology.k8s.aws/zone-id 레이블이 작업자 노드에 추가됩니다. 가용 영역 ID(AZ ID)를 사용하면 다른 계정의 리소스를 기준으로 한 계정의 리소스 위치를 확인할 수 있습니다. 자세한 내용은 AWS RAM 사용 설명서AWS 리소스에 대한 가용 영역 ID(AZ ID)를 참조하세요.

  • 1.30부터 Amazon EKS는 새로 생성된 클러스터에 적용된 gp2 StorageClass 리소스에 대한 default 주석을 더 이상 포함하지 않습니다. 이 스토리지 클래스를 이름으로 참조하는 경우에는 영향을 주지 않습니다. 클러스터에서 기본값 StorageClass 사용에 의존하고 있다면 조치를 취해야 합니다. 이름 gp2를 기준으로 StorageClass를 참조해야 합니다. 아니면 버전 1.31.0 설치 시 또는 나중에 aws-ebs-csi-driver add-on을 설치할 때 defaultStorageClass.enabled 파라미터를 true로 설정하여 Amazon EBS 권장 기본 스토리지 클래스를 배포할 수 있습니다.

  • Amazon EKS 클러스터 IAM 역할에 필요한 최소 IAM 정책이 변경되었습니다. ec2:DescribeAvailabilityZones 작업은 필수입니다. 자세한 내용은 Amazon EKS 클러스터 IAM 역할 섹션을 참조하세요.

전체 Kubernetes 1.30 변경 로그는 https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.30.md을 참조하세요.

Kubernetes 1.29

Kubernetes 1.29는 이제 Amazon EKS에서 사용할 수 있습니다. Kubernetes 1.29에 대한 자세한 내용은 공식 릴리스 발표를 참조하세요.

중요
  • FlowSchemaPriorityLevelConfiguration의 사용 중단된 flowcontrol.apiserver.k8s.io/v1beta2 API 버전은 Kubernetes 버전 1.29에서 더 이상 제공되지 않습니다. 사용 중단된 베타 API 그룹을 사용하는 매니페스트 또는 클라이언트 소프트웨어가 있는 경우 버전 1.29로 업그레이드하기 전에 이를 변경해야 합니다.

  • Node 객체의 .status.kubeProxyVersion 필드는 이제 사용 중단되었으며 Kubernetes 프로젝트는 향후 릴리스에서 해당 필드를 제거할 것을 제안하고 있습니다. 사용 중단된 필드는 정확하지 않으며 kube-proxy 버전을 실제로 알지 못하거나 kube-proxy가 실행 중인지 여부조차 모르는 kubelet에 의해 관리되었습니다. 클라이언트 소프트웨어에서 이 필드를 사용했다면 중지하세요. 정보를 신뢰할 수 없으며 해당 필드는 이제 사용 중단되었습니다.

  • 잠재적인 공격 표면을 줄이기 위해 Kubernetes 1.29에서 LegacyServiceAccountTokenCleanUp 기능은 레거시 자동 생성 비밀 기반 토큰이 오랫동안(기본값으로 1년) 사용되지 않으면 유효하지 않은 것으로 레이블을 지정하고, 유효하지 않은 것으로 표시된 후 오랫동안(기본값으로 추가 1년) 사용을 시도하지 않으면 자동으로 제거합니다. 이러한 토큰을 식별하려면 다음을 실행합니다.

    kubectl get cm kube-apiserver-legacy-service-account-token-tracking -n kube-system

전체 Kubernetes 1.29 변경 로그는 https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.29.md#changelog-since-v1280을 참조하세요.