

 **이 페이지 개선에 도움 주기** 

이 사용자 가이드에 기여하려면 모든 페이지의 오른쪽 창에 있는 **GitHub에서 이 페이지 편집** 링크를 선택합니다.

# Amazon VPC CNI 생성(Amazon EKS 추가 기능)
<a name="vpc-add-on-create"></a>

다음 단계에 따라 Kubernetes용 Amazon VPC CNI 플러그인 Amazon EKS 추가 기능을 생성합니다.

시작하기 전에 고려 사항을 검토하세요. 자세한 내용은 [고려 사항](managing-vpc-cni.md#manage-vpc-cni-add-on-on-considerations) 섹션을 참조하세요.

## 사전 조건
<a name="vpc-add-on-create-prerequisites"></a>

다음은 Kubernetes용 Amazon VPC CNI 플러그인 Amazon EKS 추가 기능의 사전 조건입니다.
+ 기존 Amazon EKS 클러스터. 배포하려면 [Amazon EKS 시작하기](getting-started.md) 섹션을 참조하세요.
+ 클러스터에 대한 기존 AWS Identity and Access Management(IAM) OpenID Connect(OIDC) 제공자입니다. 이미 있는지 아니면 생성해야 하는지 확인하려면 [클러스터에 대한 IAM OIDC 공급자 생성](enable-iam-roles-for-service-accounts.md) 부분을 참조하세요.
+ [AmazonEKS\_CNI\_Policy](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonEKS_CNI_Policy.html) IAM 정책(클러스터에서 `IPv4` 패밀리를 사용하는 경우) 또는 IPv6 정책(클러스터에서 `IPv6` 패밀리를 사용하는 경우)이 연결된 IAM 역할. VPC CNI 역할에 대한 자세한 내용은 [IRSA를 사용하도록 Amazon VPC CNI 플러그인 구성](cni-iam-role.md)을 참조하세요. IPv6 정책에 대한 자세한 내용은 [`IPv6` 패밀리를 사용하는 클러스터에 대한 IAM 정책 생성](cni-iam-role.md#cni-iam-role-create-ipv6-policy)을 참조하세요.

**중요**  
Kubernetes용 Amazon VPC CNI 플러그인 버전 `v1.16.0`\~`v1.16.1`은 CNI 사양 버전 `v1.0.0`을 구현합니다. CNI 사양 `v1.0.0`에 대한 자세한 내용은 GitHub의 [Container Network Interface (CNI) Specification](https://github.com/containernetworking/cni/blob/spec-v1.0.0/SPEC.md)을 참조하세요.

## 절차
<a name="vpc-add-on-create-procedure"></a>

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

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

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

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

   ```
   v1.16.4-eksbuild.2
   ```

1. 클러스터에 설치된 추가 기능의 유형을 확인하세요. 클러스터를 생성하는 데 사용한 도구에 따라 현재 클러스터에 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 유형의 추가 기능이 클러스터에 설치되지 않습니다. 이 절차의 나머지 단계를 완료하여 설치하세요.

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

   ```
   kubectl get daemonset aws-node -n kube-system -o yaml > aws-k8s-cni-old.yaml
   ```

1. AWS CLI를 사용하여 추가 기능을 생성합니다. AWS Management Console 또는 `eksctl`를 사용하여 추가 기능을 만들려면 [Amazon EKS 추가 기능 생성](creating-an-add-on.md)을 참조하여 추가 기능 이름을 `vpc-cni`로 지정하세요. 다음 명령을 디바이스에 복사합니다. 필요에 따라 명령을 다음과 같이 수정한 다음에 수정한 명령을 실행합니다.
   + {{my-cluster}}를 해당 클러스터의 이름으로 바꿉니다.
   + {{v1.20.3-eksbuild.1}}을 클러스터 버전의 최신 버전 테이블에 나와 있는 최신 버전으로 바꿉니다. 최신 버전 테이블은 [Amazon VPC CNI 버전](managing-vpc-cni.md#vpc-cni-latest-available-version)을 참조하세요.
   + {{111122223333}}을 계정 ID로, {{AmazonEKSVPCCNIRole}}을 생성한 [기존 IAM 역할](cni-iam-role.md#cni-iam-role-create-role) 이름으로 바꿉니다. 역할을 지정하려면 클러스터의 IAM OpenID Connect(OIDC) 제공자가 있어야 합니다. 클러스터의 해당 제공업체가 이미 있는지 아니면 생성해야 하는지 결정하려면 [클러스터에 대한 IAM OIDC 공급자 생성](enable-iam-roles-for-service-accounts.md) 섹션을 참조하세요.

     ```
     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`을(를) 추가할 수 있습니다. 이렇게 하면 추가 기능이 기존 사용자 지정 설정을 덮어쓸 수 있습니다. 추가 기능을 만든 후에는 사용자 지정 설정으로 업데이트할 수 있습니다.

1. 클러스터의 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
   ```

1. 원래 추가 기능을 사용자 지정 설정했다면 Amazon EKS 추가 기능을 생성하기 전에 이전 단계에서 저장한 구성을 사용하여 EKS 추가 기능을 사용자 지정 설정으로 업데이트하세요. [Amazon VPC CNI 업데이트(Amazon EKS 추가 기능)](vpc-add-on-update.md) 섹션의 단계를 따르세요.

1. (선택사항)`cni-metrics-helper` 클러스터에 설치합니다. 지표 헬퍼는 네트워크 인터페이스 및 IP 주소 정보를 수집하고 클러스터 수준에서 지표를 집계하고 이 지표를 Amazon CloudWatch에 게시하는 데 사용할 수 있는 도구입니다. 자세한 내용은 GitHub에서 [metrics.proto](https://github.com/aws/amazon-vpc-cni-k8s/blob/master/cmd/cni-metrics-helper/README.md)를 참조하세요.