Amazon VPC CNI plugin for Kubernetes Amazon EKS 추가 기능 업데이트 - Amazon EKS

이 페이지 개선에 도움 주기

이 사용자 설명서에 기여하고 싶으신가요? 이 페이지 하단으로 스크롤하여 GitHub에서 이 페이지 편집을 선택하세요. 여러분의 기여는 모두를 위한 더 나은 사용자 설명서를 만드는 데 도움이 됩니다.

Amazon VPC CNI plugin for Kubernetes Amazon EKS 추가 기능 업데이트

추가 기능의 Amazon EKS 유형 업데이트. 클러스터에 Amazon EKS 유형의 추가 기능을 추가하지 않은 경우 추가하거나 Amazon EKS 자체 관리형 추가 기능 업데이트 섹션을 참조하세요.

  1. 클러스터에 설치된 추가 기능의 버전을 확인하세요. my-cluster을 클러스터 이름으로 교체합니다.

    aws eks describe-addon --cluster-name my-cluster --addon-name vpc-cni --query "addon.addonVersion" --output text

    예제 출력은 다음과 같습니다.

    v1.16.4-eksbuild.2

    반환된 버전이 최신 버전 표에 있는 클러스터의 Kubernetes 버전과 동일한 경우 클러스터에 이미 최신 버전이 설치되어 있으므로 이 절차의 나머지 부분을 완료하지 않아도 됩니다. 출력에 버전 번호 대신 오류가 표시되면 클러스터에 설치된 추가 기능의 Amazon EKS 유형이 없는 것입니다. 이 절차로 업데이트하려면 먼저 추가 기능을 생성해야 합니다.

  2. 현재 설치된 추가 기능의 구성을 저장합니다.

    kubectl get daemonset aws-node -n kube-system -o yaml > aws-k8s-cni-old.yaml
  3. AWS CLI를 사용하여 추가 기능 업데이트. AWS Management Console 또는 eksctl를 사용하여 추가 기능을 업데이트하려면 Amazon EKS 추가 기능 업데이트 부분을 참조하세요. 다음 명령을 디바이스에 복사합니다. 필요에 따라 명령을 다음과 같이 수정한 다음에 수정한 명령을 실행합니다.

    • my-cluster를 클러스터 이름으로 바꿉니다.

    • 클러스터 버전의 최신 버전 표에 나와 있는 최신 버전으로 v1.18.5-eksbuild.1을(를) 교체하십시오.

    • 111122223333을 계정 ID로, AmazonEKSVPCCNIRole을 생성한 기존 IAM 역할 이름으로 바꿉니다. 역할을 지정하려면 클러스터의 IAM OpenID Connect(OIDC) 제공업체가 있어야 합니다. 클러스터의 해당 제공업체가 이미 있는지 아니면 생성해야 하는지 결정하려면 클러스터에 대한 IAM OIDC 공급자 생성 부분을 참조하세요.

    • --resolve-conflicts 보존 옵션에서는 추가 기능의 기존 구성 값을 보존합니다. 추가 기능 설정에 사용자 지정 값을 설정하고 이 옵션을 사용하지 않는 경우 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.18.5-eksbuild.1을 실행하여 v1.18.5-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.18.5-eksbuild.1 \ --service-account-role-arn arn:aws:iam::111122223333:role/AmazonEKSVPCCNIRole \ --resolve-conflicts PRESERVE --configuration-values '{"env":{"AWS_VPC_K8S_CNI_EXTERNALSNAT":"true"}}'

      업데이트가 완료되는 데 몇 초 정도 걸릴 수 있습니다.

  4. 추가 기능 버전이 업데이트되었는지 확인합니다. 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.18.5-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\"}}" } }