이 페이지 개선에 도움 주기
이 사용자 설명서에 기여하고 싶으신가요? 모든 페이지의 오른쪽 창에 있는 GitHub에서 이 페이지 편집 링크를 선택합니다. 여러분의 기여는 모두를 위한 더 나은 사용자 설명서를 만드는 데 도움이 됩니다.
Amazon VPC CNI 업데이트(Amazon EKS 추가 기능)
Amazon VPC CNI plugin for Kubernetes 추가 기능의 Amazon EKS 유형 업데이트. 클러스터에 Amazon EKS 유형의 애드온을 추가하지 않은 경우 Amazon VPC CNI 생성(Amazon EKS 추가 기능)에 따라 설치할 수 있습니다. 또는 Amazon VPC CNI(자체 관리형 추가 기능) 업데이트에 따라 다른 유형의 VPC CNI 설치를 업데이트합니다.
-
클러스터에 설치된 추가 기능의 버전을 확인하세요.
<cluster-name>
을 클러스터 이름으로 바꿉니다.aws eks describe-addon --cluster-name my-cluster --addon-name vpc-cni --query "addon.addonVersion" --output text
예제 출력은 다음과 같습니다.
v1.16.4-eksbuild.2
버전을 Amazon VPC CNI 버전의 최신 버전 표와 비교합니다. 반환된 버전이 최신 버전 표에 있는 클러스터의 Kubernetes 버전과 동일한 경우 클러스터에 이미 최신 버전이 설치되어 있으므로 이 절차의 나머지 부분을 완료하지 않아도 됩니다. 출력에 버전 번호 대신 오류가 표시되면 클러스터에 설치된 추가 기능의 Amazon EKS 유형이 없는 것입니다. 이 절차로 업데이트하려면 먼저 추가 기능을 생성해야 합니다. VPC CNI 추가 기능의 Amazon EKS 유형을 생성하려면 Amazon VPC CNI 생성(Amazon EKS 추가 기능)를 따르세요.
-
현재 설치된 추가 기능의 구성을 저장합니다.
kubectl get daemonset aws-node -n kube-system -o yaml > aws-k8s-cni-old.yaml
-
AWS CLI를 사용하여 추가 기능 업데이트. AWS Management Console 또는
eksctl
를 사용하여 추가 기능을 업데이트하려면 Amazon EKS 추가 기능 업데이트 부분을 참조하세요. 다음 명령을 디바이스에 복사합니다. 필요에 따라 명령을 다음과 같이 수정한 다음에 수정한 명령을 실행합니다.-
my-cluster
를 해당 클러스터의 이름으로 바꿉니다. -
v1.19.0-eksbuild.1
을 클러스터 버전의 최신 버전 테이블에 나와 있는 최신 버전으로 바꿉니다. -
111122223333
을 계정 ID로,AmazonEKSVPCCNIRole
을 생성한 기존 IAM 역할 이름으로 바꿉니다. VPC CNI에 대한 IAM 역할을 생성하려면 1단계 - Amazon VPC CNI plugin for Kubernetes IAM 역할 생성을 참조하세요. 역할을 지정하려면 클러스터의 IAM OpenID Connect(OIDC) 공급자가 있어야 합니다. 클러스터의 해당 공급자가 이미 있는지 아니면 생성해야 하는지 결정하려면 클러스터에 대한 IAM OIDC 공급자 생성 부분을 참조하세요. -
--resolve-conflicts PRESERVE
옵션에서는 추가 기능의 기존 구성 값을 보존합니다. 추가 기능 설정에 사용자 지정 값을 설정하고 이 옵션을 사용하지 않는 경우 Amazon EKS에서는 기본값으로 해당 값을 덮어씁니다. 이 옵션을 사용하는 경우에는 추가 기능을 업데이트하기 전에 프로덕션 클러스터에서 비프로덕션 클러스터의 필드 및 값 변경 사항을 테스트하는 것이 좋습니다. 이 값을OVERWRITE
로 변경하면 모든 설정이 Amazon EKS 기본값으로 변경됩니다. 설정에 사용자 지정 값을 설정한 경우 Amazon EKS 기본값으로 해당 값을 덮어쓸 수도 있습니다. 이 값을none
으로 변경하면 Amazon EKS에서는 설정의 값을 변경하지 않지만 업데이트에 실패할 수도 있습니다. 업데이트에 실패하면 충돌 해결에 도움이 되는 오류 메시지가 표시됩니다. -
구성 설정을 업데이트하지 않는 경우,
--configuration-values '{
을(를) 명령에서 제거하세요. 구성 설정을 업데이트하는 경우"env":{"AWS_VPC_K8S_CNI_EXTERNALSNAT":"true"}
}'"env":{"AWS_VPC_K8S_CNI_EXTERNALSNAT":"true"}
를 설정하려는 설정으로 바꾸세요. 이 예에서는AWS_VPC_K8S_CNI_EXTERNALSNAT
환경 변수가true
로 설정되어 있습니다. 지정한 값은 구성 스키마에 유효해야 합니다. 구성 스키마를 모르는 경우aws eks describe-addon-configuration --addon-name vpc-cni --addon-version
을 실행하여v1.19.0-eksbuild.1
v1.19.0-eksbuild.1
을 추가 기능의 버전 번호(구성을 확인하려는 추가 기능)로 변경하세요. 스키마가 출력에 반환됩니다. 기존 사용자 지정 구성이 있는데 이를 모두 제거하고 모든 설정의 값을 Amazon EKS 기본값으로 다시 설정하려면 명령에서"env":{"AWS_VPC_K8S_CNI_EXTERNALSNAT":"true"}
를 제거하여{}
을(를) 비워 두십시오. 각 설정에 대한 설명은 GitHub의 CNI 구성 변수를 참조하세요. aws eks update-addon --cluster-name my-cluster --addon-name vpc-cni --addon-version v1.19.0-eksbuild.1 \ --service-account-role-arn arn:aws:iam::111122223333:role/AmazonEKSVPCCNIRole \ --resolve-conflicts PRESERVE --configuration-values '{"env":{"AWS_VPC_K8S_CNI_EXTERNALSNAT":"true"}}'
업데이트가 완료되는 데 몇 초 정도 걸릴 수 있습니다.
-
-
추가 기능 버전이 업데이트되었는지 확인합니다.
my-cluster
를 해당 클러스터의 이름으로 바꿉니다.aws eks describe-addon --cluster-name my-cluster --addon-name vpc-cni
업데이트가 완료되는 데 몇 초 정도 걸릴 수 있습니다.
예제 출력은 다음과 같습니다.
{ "addon": { "addonName": "vpc-cni", "clusterName": "my-cluster", "status": "ACTIVE", "addonVersion": "v1.19.0-eksbuild.1", "health": { "issues": [] }, "addonArn": "arn:aws:eks:region:111122223333:addon/my-cluster/vpc-cni/74c33d2f-b4dc-8718-56e7-9fdfa65d14a9", "createdAt": "2023-04-12T18:25:19.319000+00:00", "modifiedAt": "2023-04-12T18:40:28.683000+00:00", "serviceAccountRoleArn": "arn:aws:iam::111122223333:role/AmazonEKSVPCCNIRole", "tags": {}, "configurationValues": "{\"env\":{\"AWS_VPC_K8S_CNI_EXTERNALSNAT\":\"true\"}}" } }