Amazon EKS Pod Identity Agent 설정 - Amazon EKS

이 페이지 개선에 도움 주기

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

Amazon EKS Pod Identity Agent 설정

Amazon EKS Pod Identity는 Amazon EC2 인스턴스 프로파일이 Amazon EC2 인스턴스에 자격 증명을 제공하는 것과 비슷한 방식으로 애플리케이션에 대한 자격 증명을 관리하는 기능을 제공합니다.

Amazon EKS Pod Identity는 추가 EKS Auth API와 각 노드에서 실행되는 에이전트 포드를 통해 워크로드에 보안 인증 정보를 제공합니다.

고려 사항

  • IPv6

    기본적으로 EKS Pod Identity Agent는 포드의 IPv4IPv6 주소에서 수신 대기하여 자격 증명을 요청합니다. 에이전트는 IPv4의 경우 루프백(localhost) IP 주소 169.254.170.23을 사용하고 IPv6의 경우 localhost IP 주소 [fd00:ec2::23]을 사용합니다.

    IPv6 주소를 비활성화하거나 localhost IPv6 IP 주소를 차단하는 경우 에이전트를 시작할 수 없습니다. IPv6을 사용할 수 없는 노드에서 에이전트를 시작하려면 EKS Pod Identity Agent에서 IPv6 비활성화의 단계에 따라 IPv6 구성을 비활성화합니다.

Amazon EKS Pod Identity Agent 생성

에이전트 필수 조건

  • 기존 Amazon EKS 클러스터. 배포하려면 Amazon EKS 시작하기 섹션을 참조하세요. 클러스터 버전 및 플랫폼 버전은 EKS Pod Identity 클러스터 버전에 나열된 버전과 동일한 버전 또는 이후 버전이어야 합니다.

  • 노드 역할에는 에이전트가 EKS Auth API에서 AssumeRoleForPodIdentity 작업을 수행할 수 있는 권한이 있습니다. AWS 관리형 정책: AmazonEKSWorkerNodePolicy 사용 또는 다음과 유사한 사용자 지정 정책 추가가 가능합니다.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "eks-auth:AssumeRoleForPodIdentity" ], "Resource": "*" } ] }

    이 작업은 태그로 제한하여 에이전트를 사용하는 포드가 맡을 수 있는 역할을 제한할 수 있습니다.

  • 노드는 Amazon ECR에 연결하여 이미지를 다운로드할 수 있습니다. 추가 기능의 컨테이너 이미지는 Amazon EKS 추가 기능에 대한 Amazon 컨테이너 이미지 레지스트리 보기에 나열된 레지스트리에 있습니다.

    AWS Management Console의 선택적 구성 설정, 그리고 AWS CLI의 --configuration-values에서 이미지 위치를 변경하고 EKS 추가 기능에 대해 imagePullSecrets를 제공할 수 있습니다.

  • 노드는 Amazon EKS Auth API에 연결할 수 있습니다. 프라이빗 클러스터의 경우 AWS PrivateLink의 eks-auth 엔드포인트가 필요합니다.

AWS Management Console
  1. https://console.aws.amazon.com/eks/home#/clusters에서 Amazon EKS 콘솔을 엽니다.

  2. 왼쪽 탐색 창에서 클러스터를 선택한 다음 EKS Pod Identity Agent 추가 기능을 구성할 클러스터의 이름을 선택합니다.

  3. 추가 기능(Add-ons) 탭을 선택합니다.

  4. 추가 기능 더 가져오기를 선택합니다.

  5. EKS Pod Identity Agent 추가 기능 상자의 오른쪽 상단에 있는 상자를 선택하고 다음을 선택합니다.

  6. 선택한 추가 기능 설정 구성 페이지의 버전 드롭다운 목록에서 임의의 버전을 선택합니다.

  7. (선택 사항) 선택적 구성 설정을 확장하여 추가 구성을 입력합니다. 예를 들어 대체 컨테이너 이미지 위치 및 ImagePullSecrets를 제공할 수 있습니다. 허용된 키가 포함된 JSON Schema는 추가 기능 구성 스키마에 표시됩니다.

    구성 값에 구성 키와 값을 입력합니다.

  8. Next(다음)를 선택합니다.

  9. EKS Pod Identity Agent 포드가 클러스터에서 실행 중인지 확인합니다.

    kubectl get pods -n kube-system | grep 'eks-pod-identity-agent'

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

    eks-pod-identity-agent-gmqp7 1/1 Running 1 (24h ago) 24h eks-pod-identity-agent-prnsh 1/1 Running 1 (24h ago) 24h

    이제 클러스터에서 EKS Pod Identity 연결을 사용할 수 있습니다. 자세한 내용은 Kubernetes 서비스 계정에 IAM 역할 할당 단원을 참조하십시오.

AWS CLI
  1. 다음 AWS CLI 명령을 실행합니다. my-cluster를 클러스터 이름으로 바꿉니다.

    aws eks create-addon --cluster-name my-cluster --addon-name eks-pod-identity-agent --addon-version v1.0.0-eksbuild.1
    참고

    EKS Pod Identity Agent는 서비스 계정에 대한 IAM 역할에 service-account-role-arn을 사용하지 않습니다. EKS Pod Identity Agent에 노드 역할의 권한을 제공해야 합니다.

  2. EKS Pod Identity Agent 포드가 클러스터에서 실행 중인지 확인합니다.

    kubectl get pods -n kube-system | grep 'eks-pod-identity-agent'

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

    eks-pod-identity-agent-gmqp7 1/1 Running 1 (24h ago) 24h eks-pod-identity-agent-prnsh 1/1 Running 1 (24h ago) 24h

    이제 클러스터에서 EKS Pod Identity 연결을 사용할 수 있습니다. 자세한 내용은 Kubernetes 서비스 계정에 IAM 역할 할당 단원을 참조하십시오.