eksctl을 사용하여 kro 기능 생성 - Amazon EKS

이 페이지 개선에 도움 주기

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

eksctl을 사용하여 kro 기능 생성

이 주제에서는 eksctl을 사용하여 Kube Resource Orchestrator(kro) 기능을 생성하는 방법을 설명합니다.

참고

다음 단계에서는 eksctl 버전 0.220.0 이상이 필요합니다. 버전을 확인하려면 eksctl version을 실행합니다.

1단계: IAM 기능 역할 생성

신뢰 정책 파일을 생성합니다.

cat > kro-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 KROCapabilityRole \ --assume-role-policy-document file://kro-trust-policy.json
참고

ACK 및 Argo CD와 달리 kro에는 신뢰 정책 이외의 추가 IAM 권한이 필요하지 않습니다. kro는 전적으로 클러스터 내에서 작동하며 AWS API 직접 호출을 수행하지 않습니다.

2단계: kro 기능 생성

eksctl을 사용하여 kro 기능을 생성합니다. region-code를 클러스터를 생성한 AWS 리전으로 바꾸고 my-cluster를 클러스터 이름으로 바꿉니다.

eksctl create capability \ --region region-code \ --cluster my-cluster \ --name my-kro \ --type KRO \ --role-arn arn:aws:iam::[.replaceable]111122223333:role/KROCapabilityRole

명령은 즉시 반환되지만 기능이 활성 상태가 되려면 다소 시간이 걸립니다.

3단계: 기능이 활성 상태인지 확인

기능 상태를 확인합니다. region-code를 클러스터를 생성한 AWS 리전으로 바꾸고 my-cluster를 클러스터 이름으로 바꿉니다.

eksctl get capability \ --region region-code \ --cluster my-cluster \ --name my-kro

상태가 ACTIVE로 표시되면 기능이 준비된 것입니다.

4단계: Kubernetes 리소스를 관리할 권한 부여

기본적으로 kro는 ResourceGraphDefinitions 및 해당 인스턴스만 생성하고 관리할 수 있습니다. kro가 ResourceGraphDefinitions에 정의된 기본 Kubernetes 리소스를 생성하고 관리할 수 있도록 하려면 AmazonEKSClusterAdminPolicy 액세스 정책을 기능의 액세스 항목에 연결합니다.

기능 역할 ARN을 가져옵니다.

CAPABILITY_ROLE_ARN=$(aws eks describe-capability \ --region region-code \ --cluster my-cluster \ --name my-kro \ --query 'capability.roleArn' \ --output text)

클러스터 관리 정책을 연결합니다.

aws eks associate-access-policy \ --region region-code \ --cluster my-cluster \ --principal-arn $CAPABILITY_ROLE_ARN \ --policy-arn arn:aws:eks::aws:cluster-access-policy/AmazonEKSClusterAdminPolicy \ --access-scope type=cluster
중요

AmazonEKSClusterAdminPolicy는 모든 Kubernetes 리소스를 생성하고 관리할 수 있는 광범위한 권한을 부여하며 시작을 간소화하기 위해 제공됩니다. 프로덕션 사용 시 ResourceGraphDefinitions에서 관리할 특정 리소스에 필요한 권한만 부여하는 보다 제한적인 RBAC 정책을 생성합니다. 최소 권한 구성에 대한 지침은 kro 권한 구성EKS 기능에 대한 보안 고려 사항 섹션을 참조하세요.

5단계: 사용자 지정 리소스를 사용할 수 있는지 확인

기능이 활성 상태가 되면 클러스터에서 kro 사용자 지정 리소스를 사용할 수 있는지 확인합니다.

kubectl api-resources | grep kro.run

ResourceGraphDefinition 리소스 유형이 나열됩니다.

다음 단계