이 페이지 개선에 도움 주기
이 사용자 가이드에 기여하려면 모든 페이지의 오른쪽 창에 있는 GitHub에서 이 페이지 편집 링크를 선택합니다.
AWS CLI를 사용하여 ACK 기능 생성
이 주제에서는 AWS CLI를 사용하여 AWS Controllers for Kubernetes(ACK) 기능을 생성하는 방법을 설명합니다.
사전 조건
-
AWS CLI – 버전
2.12.3이상. 버전을 확인하려면aws --version을 실행합니다. 자세한 내용은 AWS 명령줄 인터페이스 사용 설명서에서 설치하기를 참조하세요. -
kubectl- Kubernetes 클러스터 작업을 위한 명령줄 도구. 자세한 내용은 kubectl 및 eksctl 설정 섹션을 참조하세요.
1단계: IAM 기능 역할 생성
신뢰 정책 파일을 생성합니다.
cat > ack-trust-policy.json << 'EOF' { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "capabilities.eks.amazonaws.com" }, "Action": [ "sts:AssumeRole", "sts:TagSession" ] } ] } EOF
IAM 역할을 생성합니다.
aws iam create-role \ --role-name ACKCapabilityRole \ --assume-role-policy-document file://ack-trust-policy.json
AdministratorAccess 관리형 정책을 역할에 연결합니다.
aws iam attach-role-policy \ --role-name ACKCapabilityRole \ --policy-arn arn:aws:iam::aws:policy/AdministratorAccess
중요
제안된 AdministratorAccess 정책은 광범위한 권한을 부여하며 시작을 간소화하기 위해 제공됩니다. 프로덕션 사용 시 ACK로 관리하려는 특정 AWS 서비스에 필요한 권한만 부여하는 사용자 지정 정책으로 바꿉니다. 최소 권한 정책 생성에 대한 지침은 ACK 권한 구성 및 EKS 기능에 대한 보안 고려 사항 섹션을 참조하세요.
2단계: ACK 기능 생성
클러스터에서 ACK 기능 리소스를 생성합니다. region-code를 클러스터를 생성한 AWS 리전으로 바꾸고 my-cluster를 클러스터 이름으로 바꿉니다.
aws eks create-capability \ --regionregion-code\ --cluster-namemy-cluster\ --capability-name my-ack \ --type ACK \ --role-arn arn:aws:iam::$(aws sts get-caller-identity --query Account --output text):role/ACKCapabilityRole \ --delete-propagation-policy RETAIN
명령은 즉시 반환되지만, EKS가 필요한 기능 인프라 및 구성 요소를 생성하므로 기능이 활성 상태가 되려면 다소 시간이 걸립니다. EKS는 생성될 때 클러스터에서 이 기능과 관련된 Kubernetes 사용자 지정 리소스 정의를 설치합니다.
참고
클러스터가 존재하지 않는다는 오류가 발생하거나 권한이 없는 경우 다음을 확인합니다.
-
클러스터 이름이 올바른지
-
AWS CLI가 올바른 리전에 구성되었는지
-
필요한 IAM 권한이 있음
3단계: 기능이 활성 상태인지 확인
기능이 활성 상태가 될 때까지 기다립니다. region-code를 클러스터를 생성한 AWS 리전으로 바꾸고 my-cluster를 클러스터 이름으로 바꿉니다.
aws eks describe-capability \ --regionregion-code\ --cluster-namemy-cluster\ --capability-name my-ack \ --query 'capability.status' \ --output text
상태가 ACTIVE로 표시되면 기능이 준비된 것입니다. ACTIVE 상태가 되면 다음 단계를 계속하지 마세요.
전체 기능 세부 정보를 볼 수도 있습니다.
aws eks describe-capability \ --regionregion-code\ --cluster-namemy-cluster\ --capability-name my-ack
4단계: 사용자 지정 리소스를 사용할 수 있는지 확인
기능이 활성 상태가 되면 클러스터에서 ACK 사용자 지정 리소스를 사용할 수 있는지 확인합니다.
kubectl api-resources | grep services.k8s.aws
AWS 리소스에 대한 여러 API가 나열됩니다.
참고
AWS Controllers for Kubernetes의 기능은 다양한 AWS 리소스에 대해 여러 CRD를 설치합니다.