Amazon VPC CNI plugin for Kubernetes Amazon EKS 추가 기능 생성 - Amazon EKS

이 페이지 개선에 도움 주기

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

Amazon VPC CNI plugin for Kubernetes Amazon EKS 추가 기능 생성

Amazon VPC CNI plugin for Kubernetes Amazon EKS 추가 기능을 생성하려면 다음 단계를 사용합니다.

시작하기 전에 고려 사항을 검토하세요. 자세한 내용은 고려 사항 단원을 참조하십시오.

사전 조건

다음은 Amazon VPC CNI plugin for Kubernetes Amazon EKS 추가 기능의 사전 조건입니다.

  • 기존 Amazon EKS 클러스터. 배포하려면 Amazon EKS 시작하기 섹션을 참조하세요.

  • 클러스터에 대한 기존 AWS Identity and Access Management(IAM) OpenID Connect(OIDC) 제공업체입니다. 이미 있는지 아니면 생성해야 하는지 확인하려면 클러스터에 대한 IAM OIDC 공급자 생성 부분을 참조하세요.

  • AmazonEKS_CNI_Policy IAM 정책(클러스터에서 IPv4 패밀리를 사용하는 경우) 또는 IPv6 정책(클러스터에서 IPv6 패밀리를 사용하는 경우)이 연결된 IAM 역할. 자세한 내용은 IRSA를 사용하도록 Amazon VPC CNI 플러그인 구성 단원을 참조하십시오.

  • CNI 플러그인 버전 1.7.0 이상을 사용하고 Amazon VPC CNI plugin for Kubernetes사용자 지정 Pod보안 정책을 사용하는 경우 기본 Amazon EKS Pod 보안 정책 삭제Amazon EKS에서 생성한 포드 보안 정책(PSP) 이해 부분을 참조하세요.

  • 중요

    Amazon VPC CNI plugin for Kubernetes 버전 v1.16.0~v1.16.1은 Kubernetes 버전 1.23 이하와의 호환성을 제거했습니다. VPC CNI 버전 v1.16.2는 Kubernetes 버전 1.23 이하 및 CNI 사양 v0.4.0과의 호환성을 복원합니다.

    Amazon VPC CNI plugin for Kubernetes 버전 v1.16.0~v1.16.1은 CNI 사양 버전 v1.0.0을 구현합니다. CNI 사양 v1.0.0은 Kubernetes 버전 v1.24 이상을 실행하는 EKS 클러스터에서 지원됩니다. VPC CNI 버전 v1.16.0~v1.16.1 및 CNI 사양 v1.0.0은 Kubernetes 버전 v1.23 이하에서 지원되지 않습니다. CNI 사양 v1.0.0에 대한 자세한 내용은 Container Network Interface (CNI) Specification을 참조하세요.

절차

사전 조건을 완료한 후에는 다음 단계를 사용하여 추가 기능을 생성합니다.

  1. 클러스터에 설치된 추가 기능의 버전을 확인하세요.

    kubectl describe daemonset aws-node --namespace kube-system | grep amazon-k8s-cni: | cut -d : -f 3

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

    v1.16.4-eksbuild.2
  2. 클러스터에 설치된 추가 기능의 유형을 확인하세요. 클러스터를 생성하는 데 사용한 도구에 따라 현재 클러스터에 Amazon EKS 추가 기능이 유형이 설치되어 있지 않을 수 있습니다. my-cluster를 해당 클러스터의 이름으로 바꿉니다.

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

    버전 번호가 반환되는 경우 Amazon EKS 유형의 추가 기능이 클러스터에 설치되고 본 절차의 나머지 단계를 완료할 필요가 없습니다. 오류가 번호가 반환되는 경우 Amazon EKS 유형의 추가 기능이 클러스터에 설치되지 않습니다. 이 절차의 나머지 단계를 완료하여 설치하세요.

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

    kubectl get daemonset aws-node -n kube-system -o yaml > aws-k8s-cni-old.yaml
  4. AWS CLI를 사용하여 추가 기능을 생성합니다. AWS Management Console 또는 eksctl를 사용하여 추가 기능을 만들려면 Amazon EKS 추가 기능 생성을 참조하여 추가 기능 이름을 vpc-cni로 지정하십시오. 다음 명령을 디바이스에 복사합니다. 필요에 따라 명령을 다음과 같이 수정한 다음에 수정한 명령을 실행합니다.

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

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

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

    aws eks create-addon --cluster-name my-cluster --addon-name vpc-cni --addon-version v1.18.3-eksbuild.2 \ --service-account-role-arn arn:aws:iam::111122223333:role/AmazonEKSVPCCNIRole

    Amazon EKS 추가 기능의 기본 설정과 충돌하는 사용자 지정 설정을 현재 추가 기능에 적용한 경우 생성이 실패할 수 있습니다. 생성에 실패하면 문제 해결에 도움이 될 수 있는 오류를 받게 됩니다. 또는 이전 명령에 --resolve-conflicts OVERWRITE을(를) 추가할 수 있습니다. 이렇게 하면 추가 기능이 기존 사용자 지정 설정을 덮어쓸 수 있습니다. 추가 기능을 만든 후에는 사용자 지정 설정으로 업데이트할 수 있습니다.

  5. 클러스터 Kubernetes 버전에 맞는 추가 기능의 최신 버전이 클러스터에 추가되었는지 확인합니다. my-cluster를 클러스터 이름으로 바꿉니다.

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

    추가 기능 생성이 완료되는 데 몇 초 정도 걸릴 수 있습니다.

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

    v1.18.3-eksbuild.2
  6. 원래 추가 기능을 사용자 지정 설정했다면 Amazon EKS 추가 기능을 생성하기 전에 이전 단계에서 저장한 구성을 사용하여 Amazon EKS 추가 기능을 사용자 지정 설정으로 업데이트하십시오.

  7. (선택 사항)cni-metrics-helper 클러스터에 설치합니다. 지표 헬퍼는 네트워크 인터페이스 및 IP 주소 정보를 수집하고 클러스터 수준에서 지표를 집계하고 이 지표를 Amazon CloudWatch에 게시하는 데 사용할 수 있는 도구입니다. 자세한 내용은 GitHub에서 metrics.proto를 참조하세요.