Amazon EKS 클러스터 및 추가 기능을 업그레이드하려면 어떻게 해야 합니까?
모범 사례를 따라 Amazon Elastic Kubernetes Service(EKS) 클러스터 및 추가 기능을 업그레이드하고 싶습니다.
간략한 설명
클러스터를 업그레이드하기 전에 새 Kubernetes 버전과 호환되는지 확인하십시오. 또한 새 버전에서 작동하려면 스토리지 드라이버 및 추가 기능을 업데이트해야 할 수도 있습니다.
Amazon EKS 클러스터에서 Kubernetes 버전을 업그레이드한 후에는 이전 버전으로 다운그레이드할 수 없습니다. Kubernetes 버전을 업그레이드하기 전에 EKS의 Kubernetes 버전 수명 주기 이해를 참조하십시오. 보안 그룹 규칙이 클러스터를 만들 때 지정한 서브넷에 필요한 클러스터 통신을 허용하는지 확인하십시오.
참고:
- 노드의 kubelet 버전은 Kubernetes 버전보다 최신일 수 없습니다.
- 컨트롤 플레인을 업데이트할 때 노드 그룹은 자동으로 업그레이드되지 않습니다.
- 노드 kubelet 버전은 Kubernetes 버전보다 두 마이너 버전 이하일 수 없습니다. 예를 들어, Kubernetes 버전이 1.33인 경우 지원되는 kubelet 버전은 1.33, 1.32, 1.31입니다.
마이너 버전은 출시 후 14개월 동안 Amazon EKS에서 표준 지원을 받습니다. 그 후 버전은 12개월 동안 확장 지원으로 전환됩니다.
확장 지원을 사용하면 클러스터 시간당 추가 비용을 지불하고 특정 Kubernetes 버전을 더 오래 유지할 수 있습니다. 확장 지원 기간이 종료되기 전에 클러스터를 업그레이드하지 않으면 AWS는 현재 지원되는 가장 초기 버전으로 클러스터를 자동으로 업그레이드합니다.
확장 지원은 기본적으로 활성화됩니다. 확장 지원을 비활성화하려면 EKS 확장 지원을 비활성화하여 클러스터 비용 증가 방지를 참조하십시오. 릴리스 및 지원 날짜는 Amazon EKS Kubernetes 릴리스 캘린더를 참조하십시오.
해결 방법
Amazon EKS 클러스터 버전 업데이트
참고: AWS Command Line Interface(AWS CLI) 명령을 실행할 때 오류가 발생하면 AWS CLI의 오류 해결을 참조하십시오. 또한 최신 AWS CLI 버전을 사용하고 있는지 확인하십시오.
먼저 클러스터 컨트롤 플레인 및 노드의 현재 Kubernetes 버전과 현재 eksctl 버전을 확인하십시오.
다음 명령을 실행하여 클러스터 컨트롤 플레인의 Kubernetes 버전을 확인합니다.
kubectl version
출력 예시:
Client Version: v1.33.2 Kustomize Version: v5.6.0 Server Version: v1.32.5-eks-5d4a308
다음 명령을 실행하여 노드의 Kubernetes 버전을 확인합니다.
kubectl get nodes
출력 예시:
NAME STATUS ROLES AGE VERSION ip-10-42-177-172.ec2.internal Ready <none> 132m v1.32.3-eks-473151a ip-10-42-177-39.ec2.internal Ready <none> 142m v1.32.3-eks-473151a
다음 명령을 실행하여 eksctl 버전을 확인합니다.
eksctl version
참고: eksctl 버전 0.210.0 이상을 사용해야 합니다. 업그레이드를 완료하는 데 몇 분 정도 걸립니다.
그런 다음, eksctl, Amazon EKS 콘솔 또는 AWS CLI를 사용하여 클러스터를 업데이트합니다.
노드 그룹 버전 업데이트
관리형 노드 그룹을 업데이트하려면 클러스터의 관리형 노드 그룹 업데이트를 참조하십시오. 자체 관리형 노드 그룹을 업데이트하려면 애플리케이션을 새 노드 그룹으로 마이그레이션해야 합니다.
Amazon EKS 추가 기능 업데이트
Amazon EKS는 컨트롤 플레인 업그레이드 중에 추가 기능을 자동으로 업그레이드하지 않습니다. 추가 기능의 호환 버전을 확인한 후 업데이트하십시오. 한 번에 하나의 마이너 버전만 업그레이드할 수 있습니다.
추가 기능 버전이 최신 버전의 Kubernetes와 호환되는지 확인하려면 다음 명령을 실행합니다.
eksctl utils describe-addon-versions —kubernetes-version 1.33 —name name-of-addon | grep AddonVersion
참고: name-of-addon을 추가 기능 이름으로 바꾸고 1.33을 최신 버전의 Kubernetes로 바꾸십시오.
현재 버전이 출력에 표시되는지 확인합니다.
출력 예시:
"AddonVersions": [ "AddonVersion": "v1.12.1-eksbuild.2", "AddonVersion": "v1.11.4-eksbuild.14", "AddonVersion": "v1.11.4-eksbuild.10", "AddonVersion": "v1.11.4-eksbuild.2", "AddonVersion": "v1.11.3-eksbuild.3", "AddonVersion": "v1.11.3-eksbuild.2",
다음과 같은 Amazon EKS 추가 기능을 업데이트해야 할 수 있습니다.
- 포드 네트워킹을 위한 Amazon Virtual Private Cloud Container Network Interface(Amazon VPC CNI)
- DNS 확인을 위한 CoreDNS
- 네트워크 라우팅을 위한 kube-proxy
- 영구 스토리지용 Amazon Elastic Block Store(Amazon EBS) 및 Amazon Elastic File System(Amazon EFS) 컨테이너 스토리지 인터페이스(CSI) 드라이버
자세한 내용은 AWS 추가 기능을 참조하십시오.
Amazon VPC CNI 플러그 인
클러스터와 호환되는 Amazon VPC CNI 버전을 확인하십시오.
그 후 다음 옵션 중 하나를 선택하여 추가 기능을 업데이트합니다.
- 자체 관리형 추가 기능에서 Amazon EKS 관리형 추가 기능으로 마이그레이션하려면 Amazon VPC CNI 플러그 인 만들기(Amazon EKS 추가 기능)를 참조하십시오.
- 기존 Amazon EKS 관리형 추가 기능이 있는 경우 Amazon VPC CNI 플러그 인 업데이트(Amazon EKS 추가 기능)를 참조하십시오.
- 자체 관리형 추가 기능을 업데이트하려면 Amazon VPC CNI 업데이트(자체 관리형 추가 기능)를 참조하십시오.
- 서비스 계정(IRSA)에 대한 AWS Identity and Access Management 역할을 구성하려면 IRSA를 사용하도록 Amazon VPC CNI 플러그 인 구성을 참조하십시오.
kube-proxy
클러스터와 호환되는 kube-proxy 버전을 확인하십시오.
그 후 다음 옵션 중 하나를 선택하여 추가 기능을 업데이트합니다.
- Amazon EKS 관리형 추가 기능이 있는 경우 Amazon EKS 추가 기능 업데이트를 참조하십시오.
- 자체 관리형 추가 기능이 있는 경우 Kubernetes kube-proxy 자체 관리형 추가 기능 업데이트를 참조하십시오.
CoreDNS
클러스터와 호환되는 CoreDNS 버전을 확인하십시오.
그 후 다음 옵션 중 하나를 선택하여 추가 기능을 업데이트합니다.
- 자체 관리형 추가 기능에서 Amazon EKS 관리형 추가 기능으로 마이그레이션하려면 CoreDNS Amazon EKS 추가 기능 만들기를 참조하십시오.
- Amazon EKS 관리형 추가 기능이 있는 경우 CoreDNS Amazon EKS 추가 기능 업데이트를 참조하십시오.
- 자체 관리형 추가 기능이 있는 경우 CoreDNS 자체 관리형 추가 기능 업데이트를 참조하십시오.
Amazon EBS 및 Amazon EFS CSI 드라이버
Amazon EBS CSI 드라이버 또는 Amazon EFS CSI 드라이버를 업데이트하려면 Amazon EKS 추가 기능 업데이트를 참조하십시오.
AWS Load Balancer Controller 업데이트
AWS Load Balancer Controller와 Kubernetes 버전 호환성은 GitHub 웹 사이트에서 지원되는 Kubernetes 버전을 참조하십시오. AWS Load Balancer Controller 버전 2.5.0 이상에는 Kubernetes 버전 1.22 이상이 필요합니다. 자세한 내용은 GitHub 웹 사이트에서 aws-load-balancer-controller 릴리스를 참조하십시오. AWS Load Balancer Controller를 설치하려면 컨트롤러 설치를 참조하십시오.
- 언어
- 한국어

관련 콘텐츠
질문됨 2년 전
질문됨 2년 전
AWS 공식업데이트됨 일 년 전