이 페이지 개선에 도움 주기
이 사용자 설명서에 기여하고 싶으신가요? 모든 페이지의 오른쪽 창에 있는 GitHub에서 이 페이지 편집 링크를 선택합니다. 여러분의 기여는 모두를 위한 더 나은 사용자 설명서를 만드는 데 도움이 됩니다.
표준 지원 Kubernetes 버전에 대한 릴리스 정보 검토
이 주제에서는 표준 지원의 각 Kubernetes 버전에 대해 알아야 할 중요한 변경 사항을 제공합니다. 업그레이드할 때는 클러스터의 이전 버전과 새 버전 간에 발생한 변경 사항을 주의 깊게 검토하세요.
참고
1.24
및 이후 클러스터에서는 공식적으로 발표된 Amazon EKS AMI에 유일한 런타임으로 containerd
가 포함됩니다. 1.24
이전 버전의 Kubernetes에서는 Docker를 기본 런타임으로 사용합니다. 이러한 버전에는 containerd
로 지원되는 클러스터에서 워크로드를 테스트하기 위해 사용할 수 있는 부트스트랩 플래그 옵션이 있습니다. 자세한 내용은 dockershim에서 containerd로 마이그레이션 단원을 참조하십시오.
Kubernetes 1.32
이제 Kubernetes 1.32
는 Amazon EKS에서 사용 가능합니다. Kubernetes 1.32
에 대한 자세한 내용을 알아보려면 공식 릴리스 발표
중요
-
v1.32
에서 FlowSchema 및 PriorityLevelConfiguration의flowcontrol.apiserver.k8s.io/v1beta3
API 버전이 제거되었습니다. 이 API를 사용하는 경우 업그레이드하기 전에 지원되는 최신 버전을 사용하도록 구성을 업데이트해야 합니다. -
ServiceAccount
metadata.annotations[kubernetes.io/enforce-mountable-secrets]
는v1.32
에서 더 이상 사용되지 않으며 향후 Kubernetes 마이너 버전 릴리스에서 제거될 예정입니다. 탑재된 보안 암호에 대한 액세스를 격리하려면 별도의 네임스페이스를 사용하는 것이 좋습니다. -
Kubernetes 버전 1.32는 Amazon EKS가 Amazon Linux 2(AL2) AMI를 출시하는 최신 버전입니다. v1.33부터 Amazon EKS는 Amazon Linux 2023(AL2023) 및 Bottlerocket 기반 AMI를 계속 출시합니다.
-
Memory Manager 기능은 Kubernetes
v1.32
의 정식 버전(GA) 상태로 전환되었습니다. 이 개선 사항은 컨테이너화된 애플리케이션에 더 효율적이고 예측 가능한 메모리 할당을 제공하며, 특히 특정 메모리 요구 사항이 있는 워크로드에 유용합니다. -
이제 StatefulSets에서 생성한 PersistentVolumeClaims(PVC)에 자동 정리 기능이 포함됩니다. PVC가 더 이상 필요하지 않으면 StatefulSet의 업데이트 및 노드 유지 관리 작업 중에 데이터 지속성을 유지하면서 해당 PVC가 자동으로 삭제됩니다. 이 기능은 스토리지 관리를 간소화하고 클러스터에서 분리된 PVC가 생기지 않도록 하는 데 도움이 됩니다.
-
사용자 지정 리소스 필드 선택기 기능이 도입되어 개발자가 사용자 지정 리소스에 필드 선택기를 추가할 수 있습니다. 이 기능은 기본 제공 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-viewer
RBAC 역할은 위에 나열된 상태 확인 엔드포인트에 계속 적용됩니다.
Amazon Linux 2 AMI 사용 중단
Kubernetes 버전 1.33 이상의 경우 EKS는 사전 빌드된 최적화된 Amazon Linux 2(AL2) Amazon Machine Image(AMI)를 제공하지 않습니다.
AWS는 EKS 자율 모드를 채택하거나 Amazon Linux 2023(AL2023) 또는 Bottlerocket과 같은 최신 운영 체제로 마이그레이션할 것을 제안합니다.
참고
이 업데이트는 EKS 최적화 AL2 AMI에 적용됩니다. 운영 체제 자체에 대한 자세한 내용은 Amazon Linux 2 FAQ
Kubernetes 1.31
이제 Kubernetes 1.31
는 Amazon EKS에서 사용 가능합니다. Kubernetes 1.31
에 대한 자세한 내용을 알아보려면 공식 릴리스 발표
중요
-
2017년 이후 더 이상 사용되지 않는
--keep-terminated-pod-volumes
플래그 kubelet는v1.31
릴리스의 일환으로 제거되었습니다. 이 변경 사항은 종료된 포드 볼륨이 kubelet에서 처리되는 방식에 영향을 미칩니다. 노드 구성에서 이 플래그를 사용하는 경우 업그레이드 전에 부트스트랩 스크립트와 시작 템플릿을 업데이트하여 제거해야 합니다.
-
베타
VolumeAttributesClass
기능 게이트 및 API 리소스는 Amazon EKSv1.31
에서 활성화됩니다. 이 기능을 통해 클러스터 운영자는 Amazon EBS CSI 드라이버를 비롯하여 호환 가능한 CSI 드라이버로 관리되는 영구 볼륨(PV)의 변경 가능한 속성을 수정할 수 있습니다. 이 기능을 활용하려면 CSI 드라이버가 해당VolumeAttributesClass
기능을 지원하는지 확인하세요(Amazon EBS CSI 드라이버의 경우,v1.35.0
이상으로 업그레이드하여 기능을 자동으로 활성화).VolumeAttributesClass
객체를 생성하여 볼륨 유형 및 처리량과 같은 원하는 볼륨 속성을 정의하고 이를 영구 볼륨 클레임(PVC)과 연결할 수 있습니다. 자세한 내용은 공식 Kubernetes 설명서및 CSI 드라이버 설명서를 참조하세요. -
Amazon EBS CSI 드라이버에 대한 자세한 내용은 Amazon EBS를 사용한 Kubernetes 볼륨 저장을 참조하세요.
-
-
AppArmor
에 대한 Kubernetes의 지원이 안정화되었으며 이제 일반 대중에게 공개되었습니다. 이 기능을 사용하면 컨테이너의 securityContext
에appArmorProfile.type
필드를 설정하여 AppArmor로 컨테이너를 보호할 수 있습니다. Kubernetesv1.30
이전에는 주석으로 AppArmor를 제어했습니다.v1.30
부터 필드를 사용하여 제어합니다. 이 기능을 활용하려면 주석에서 벗어나appArmorProfile.type
필드를 사용하여 워크로드가 호환되는지 확인하는 것이 좋습니다. -
PersistentVolume 마지막 단계 트랜지션 시간 기능이 안정화되었으며, 이제 Kubernetes
v1.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 Linux 2(AL2)를 기본 노드 운영 체제로 사용했습니다. 새 노드 그룹을 생성할 때 AL2를 AMI 유형으로 선택하여 계속 사용할 수 있습니다.-
Amazon Linux에 대한 자세한 정보는 AL2 및 AL 2023 비교를 참조하세요.
-
관리형 노드 그룹의 운영 체제 지정에 대한 자세한 내용은 클러스터에 대한 관리형 노드 그룹 생성 섹션을 참조하세요.
-
-
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
를 참조해야 합니다. 아니면v1.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
에 대한 자세한 내용을 알아보려면 공식 릴리스 발표
중요
-
FlowSchema
및PriorityLevelConfiguration
의 사용 중단된flowcontrol.apiserver.k8s.io/v1beta2
API 버전은 Kubernetesv1.29
에서 더 이상 제공되지 않습니다. 사용 중단된 베타 API 그룹을 사용하는 매니페스트 또는 클라이언트 소프트웨어가 있는 경우v1.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