이 페이지 개선에 도움 주기
이 사용자 가이드에 기여하려면 모든 페이지의 오른쪽 창에 있는 GitHub에서 이 페이지 편집 링크를 선택합니다.
클러스터에 대한 IAM OIDC 공급자 생성
클러스터에는 OpenID Connect
-
기존 Amazon EKS 클러스터. 배포하려면 Amazon EKS 시작하기 섹션을 참조하세요.
-
장치에 설치 및 구성된 AWS 명령줄 인터페이스(AWS CLI)의 버전
2.12.3이상 또는 버전1.27.160이상 또는 AWS CloudShell. 현재 버전을 확인하려면aws --version | cut -d / -f2 | cut -d ' ' -f1을 사용합니다.yum,apt-get또는 macOS용 Homebrew와 같은 패키지 관리자는 최신 버전의 AWS CLI 이전에 나온 버전이 몇 가지 있을 때도 있습니다. 최신 버전을 설치하려면 AWS 명령줄 인터페이스 사용 설명서에서 설치 및 aws config를 사용하여 빠른 구성을 참조하세요. AWS CloudShell에 설치된 AWS CLI 버전도 최신 버전보다 여러 버전 이전일 수도 있습니다. 업데이트하려면 AWS CloudShell 사용 설명서의 홈 디렉터리에 AWS CLI 설치하기를 참조하세요. -
kubectl명령줄 도구는 장치 또는 AWS CloudShell에 설치됩니다. 버전은 클러스터의 Kubernetes 버전과 동일하거나 최대 하나 이전 또는 이후의 마이너 버전일 수 있습니다. 예를 들어, 클러스터 버전이1.29인 경우kubectl버전1.28,1.29또는1.30를 함께 사용할 수 있습니다.kubectl을 설치하거나 업그레이드하려면 kubectl 및 eksctl 설정 부분을 참조하세요. -
클러스터 구성이 포함된 기존
kubectlconfig파일입니다.kubectlconfig파일을 생성하려면 Kubeconfig 파일을 생성하여 kubectl을 EKS 클러스터에 연결 섹션을 참조하세요.
eksctl 또는 AWS Management 콘솔을 사용하여 클러스터에 대한 IAM OIDC 제공자를 생성할 수 있습니다.
OIDC 공급자 생성(eksctl)
-
장치에 설치된
eksctl명령줄 도구의 버전0.212.0이상 또는 AWS CloudShell이 필요합니다.eksctl을 설치 또는 업그레이드하려면eksctl설명서에서 설치를 참조하세요. -
클러스터의 OIDC 발행자 ID를 판단합니다.
클러스터의 OIDC 발행자 ID를 검색하고 변수에 저장합니다.
<my-cluster>을 사용자의 고유한 값으로 교체합니다.cluster_name=<my-cluster> oidc_id=$(aws eks describe-cluster --name $cluster_name --query "cluster.identity.oidc.issuer" --output text | cut -d '/' -f 5) echo $oidc_id -
클러스터의 발행자 ID를 가진 IAM OIDC 제공자가 이미 계정에 있는지 판단합니다.
aws iam list-open-id-connect-providers | grep $oidc_id | cut -d "/" -f4출력이 반환되면 클러스터에 대한 IAM OIDC 제공자가 이미 있는 것이므로 다음 단계를 건너뛸 수 있습니다. 출력이 반환되지 않은 경우 해당 클러스터에 대한 IAM OIDC 공급자를 생성해야 합니다.
-
다음 명령을 사용하여 클러스터의 IAM OIDC ID 공급자를 생성합니다.
eksctl utils associate-iam-oidc-provider --cluster $cluster_name --approve참고
EKS VPC 엔드포인트를 활성화한 경우 해당 VPC 내에서 EKS OIDC 서비스 엔드포인트에 액세스할 수 없습니다. 그에 따라 VPC에서
eksctl을 통해 OIDC 공급자를 생성하는 등의 작업은 작동하지 않으며 시간 초과가 발생합니다. 오류 메시지의 예는 다음과 같습니다.** server cant find oidc.eks.<region-code>.amazonaws.com: NXDOMAIN
이 단계를 완료하려면 VPC 외부(예: AWS CloudShell 또는 인터넷에 연결된 컴퓨터)에서 명령을 실행할 수 있습니다. 또는 VPC에서 Route 53 Resolver와 같은 분할-수평 조건부 확인자를 생성하여 OIDC 발급자 URL에 대해 다른 확인자를 사용하고 VPC DNS를 사용하지 않을 수 있습니다. CoreDNS의 조건부 전달의 예는 GitHub의 Amazon EKS feature request
를 참조하세요.
OIDC 공급자 생성(AWS 콘솔)
-
Amazon EKS 콘솔
을 엽니다. -
왼쪽 창에서 클러스터를 선택한 다음 클러스터 페이지에서 클러스터 이름을 선택합니다.
-
개요 탭의 세부 정보 섹션에서 OpenID Connect 공급자 URL의 값을 적어 둡니다.
-
https://console.aws.amazon.com/iam/
에서 IAM 콘솔을 엽니다. -
왼쪽 탐색 창의 액세스 관리에서 자격 증명 공급자를 선택합니다. 클러스터의 URL과 일치하는 공급자가 목록에 있으면 클러스터에 대한 공급자가 이미 있는 것입니다. 클러스터의 URL과 일치하는 공급자가 나열되지 않는 경우 공급자를 생성해야 합니다.
-
공급자를 생성하려면 공급자 추가를 선택합니다.
-
제공업체 유형에서 OpenID Connect를 선택합니다.
-
공급자 URL에 클러스터의 OIDC 제공자 URL을 입력합니다.
-
대상에
sts.amazonaws.com을 입력합니다. -
(선택사항) 원하는 태그(예: 이 공급자의 클러스터를 식별하는 태그)를 추가합니다.
-
공급자 추가를 선택합니다.
다음 단계: Kubernetes 서비스 계정에 IAM 역할 할당