Amazon VPC CNI 생성하기

Amazon VPC CNI 생성하기 (Amazon EKS 추가 기능) (Create the Amazon VPC CNI (Amazon EKS add-on))

다음 단계를 사용해 Kubernetes용 Amazon VPC CNI 플러그인 Amazon EKS 추가 기능을 만드세요.

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

출처: 문서

본문

사전 요구 사항 (Prerequisites)

Kubernetes용 Amazon VPC CNI 플러그인 Amazon EKS 추가 기능의 사전 요구 사항은 다음과 같아요.

  • 기존 Amazon EKS 클러스터. 배포하려면 Amazon EKS 시작하기를 참고하세요.

  • 클러스터용 기존 AWS IAM(Identity and Access Management) OIDC(OpenID Connect) 프로바이더. 이미 있는지 확인하거나 만들려면 클러스터용 IAM OIDC 프로바이더 생성하기를 참고하세요.

  • AmazonEKS_CNI_Policy IAM 정책(클러스터가 IPv4 패밀리를 사용하는 경우) 또는 IPv6 정책(클러스터가 IPv6 패밀리를 사용하는 경우)이 연결된 IAM 역할. VPC CNI 역할에 대한 자세한 내용은 IRSA를 사용하도록 Amazon VPC CNI 플러그인 구성하기를, IPv6 정책에 대한 자세한 내용은 IPv6 패밀리를 사용하는 클러스터용 IAM 정책 생성을 참고하세요.

중요

Kubernetes용 Amazon VPC CNI 플러그인 버전 v1.16.0부터 v1.16.1까지는 CNI 사양 버전 v1.0.0을 구현해요. CNI 사양 v1.0.0에 대한 자세한 내용은 GitHub의 Container Network Interface (CNI) Specification을 참고하세요.

절차 (Procedure)

사전 요구 사항을 완료한 후 다음 단계로 추가 기능을 만드세요.

  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.20.3-eksbuild.1을 클러스터 버전용 최신 버전 표에 나열된 최신 버전으로 바꾸세요. 최신 버전 표는 Amazon VPC CNI 버전을 참고하세요.
    • 111122223333을 계정 ID로, AmazonEKSVPCCNIRole을 생성한 기존 IAM 역할 이름으로 바꾸세요. 역할을 지정하려면 클러스터용 IAM OIDC(OpenID Connect) 프로바이더가 필요해요. 클러스터에 있는지 확인하거나 만들려면 클러스터용 IAM OIDC 프로바이더 생성하기를 참고하세요.
    aws eks create-addon --cluster-name my-cluster --addon-name vpc-cni --addon-version v1.20.3-eksbuild.1 \
        --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.20.3-eksbuild.1
    
  6. 원래 추가 기능에 커스텀 설정을 했다면, Amazon EKS 추가 기능을 만들기 전에 이전 단계에서 저장한 구성을 사용해 커스텀 설정으로 EKS 추가 기능을 업데이트하세요. Amazon VPC CNI 업데이트하기(Amazon EKS 추가 기능)의 단계를 따르세요.

  7. (선택 사항) 클러스터에 cni-metrics-helper를 설치해요. 이 도구는 탄력적 네트워크 인터페이스와 IP 주소 정보를 수집해 클러스터 수준에서 집계하고 메트릭을 Amazon CloudWatch에 게시해요. 자세한 내용은 GitHub의 cni-metrics-helper를 참고하세요.

더 알아보기 (Learn more)