클러스터의 IAM OIDC 제공업체 생성 - Amazon EKS

클러스터의 IAM OIDC 제공업체 생성

클러스터에는 OpenID Connect(OIDC) 발급자 URL이 연결되어 있습니다. 서비스 계정에 AWS Identity and Access Management(IAM) 역할을 사용하려면 클러스터에 IAM OIDC 제공업체가 있어야 합니다.

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

  • AWS CLI 버전 2.8.6 이상 또는 1.26.3 이상이 디바이스나 AWS CloudShell에 설치되고 구성되어 있습니다. aws --version | cut -d / -f2 | cut -d ' ' -f1을 사용하여 현재 버전을 확인할 수 있습니다. macOS용 yum, apt-get 또는 Homebrew와 같은 패키지 관리자는 최신 버전의 AWS CLI보다 여러 버전 이전인 경우가 많습니다. 최신 버전을 설치하려면 AWS Command Line Interface 사용 설명서의 최신 버전의 AWS CLI 설치 또는 업데이트aws configure를 통한 빠른 구성을 참조하세요. AWS CloudShell에 설치된 AWS CLI 버전도 최신 버전보다 여러 버전 이전일 수도 있습니다. 업데이트하려면 AWS CloudShell 사용 설명서의 홈 디렉터리에 AWS CLI 설치를 참조하세요.

  • 디바이스 또는 AWS CloudShell에 설치된 kubectl 명령줄 도구. 버전은 클러스터의 Kubernetes 버전과 동일하거나 최대 하나 이전 또는 이후의 마이너 버전일 수 있습니다. 예를 들어 클러스터 버전이 1.22인 경우 kubectl 버전 1.21, 1.22 또는 1.23를 함께 사용할 수 있습니다. kubectl을 설치하거나 업그레이드하려면 kubectl 설치 또는 업데이트 섹션을 참조하세요.

  • 클러스터 구성이 포함된 기존 kubectl config 파일입니다. kubectl config 파일을 생성하려면 Amazon EKS 클러스터용 kubeconfig 파일 생성 또는 업데이트 섹션을 참조하세요.

eksctl 또는 AWS Management Console을 사용하여 클러스터에 대한 OIDC 제공업체를 생성할 수 있습니다.

eksctl
사전 조건

디바이스 또는 0.117.0에 설치된 버전 AWS CloudShell 이상의 eksctl 명령줄 도구. eksctl를 설치 또는 업데이트하려면 eksctl 설치 또는 업데이트 섹션을 참조하세요.

eksctl로 클러스터의 IAM OIDC ID 제공업체 생성
  1. 클러스터에 기존 IAM OIDC 제공업체가 있는지 확인합니다.

    클러스터의 OIDC 제공업체 ID를 검색하고 변수에 저장합니다.

    oidc_id=$(aws eks describe-cluster --name my-cluster --query "cluster.identity.oidc.issuer" --output text | cut -d '/' -f 5)
  2. 클러스터 ID를 가진 IAM OIDC 제공업체가 이미 계정에 있는지 확인합니다.

    aws iam list-open-id-connect-providers | grep $oidc_id

    이전 명령에서 출력이 반환되면 클러스터에 대한 제공업체가 이미 있는 것이므로 다음 단계를 건너뛸 수 있습니다. 출력이 반환되지 않은 경우 해당 클러스터에 대한 IAM OIDC 제공업체를 생성해야 합니다.

  3. 다음 명령을 사용하여 클러스터의 IAM OIDC ID 제공업체를 생성합니다. my-cluster을 사용자의 고유한 값으로 교체합니다.

    eksctl utils associate-iam-oidc-provider --cluster my-cluster --approve
AWS Management Console
AWS Management Console로 클러스터의 IAM OIDC ID 제공업체 생성
  1. https://console.aws.amazon.com/eks/home#/clusters에서 Amazon EKS 콘솔을 엽니다.

  2. 왼쪽 창에서 클러스터(Clusters)를 선택한 다음 클러스터(Clusters) 페이지에서 클러스터 이름을 선택합니다.

  3. 개요(Overview) 탭의 세부 정보(Details) 섹션에서 OpenID Connect 공급자 URL(OpenID Connect provider URL)의 값을 적어 둡니다.

  4. https://console.aws.amazon.com/iam/에서 IAM 콘솔을 엽니다.

  5. 왼쪽 탐색 창의 액세스 관리(Access management)에서 자격 증명 공급자(Identity Providers)를 선택합니다. 클러스터의 URL과 일치하는 공급자가 목록에 있으면 클러스터에 대한 공급자가 이미 있는 것입니다. 클러스터의 URL과 일치하는 공급자가 나열되지 않는 경우 공급자를 생성해야 합니다.

  6. 제공업체를 생성하려면 Add Provider(공급자 추가)를 선택합니다.

  7. Provider type(제공업체 유형)에서 OpenID Connect를 선택합니다.

  8. Provider URL(제공업체 URL)에 클러스터의 OIDC 제공업체 URL을 입력하고 Get thumbprint(지문 가져오기)를 선택합니다.

  9. [대상(Audience)에서 sts.amazonaws.com을 입력하고 [공급자 추가(Add provider)]를 선택합니다.

다음 단계

IAM 역할을 수임하도록 Kubernetes 서비스 계정 구성