eksctl 사용 시 Argo CD 기능 생성 - Amazon EKS

이 페이지 개선에 도움 주기

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

eksctl 사용 시 Argo CD 기능 생성

이 주제에서는 eksctl을 사용하여 Argo CD 기능을 생성하는 방법을 설명합니다.

참고

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

1단계: IAM 기능 역할 생성

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

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

이 기본 설정에는 추가 IAM 정책이 필요하지 않습니다. 리포지토리 자격 증명 또는 CodeConnections에 Secrets Manager를 사용하려는 경우 역할에 권한을 추가해야 합니다. IAM 정책 예제 및 구성 지침은 AWS Secrets Manager를 사용하여 애플리케이션 보안 암호 관리AWS CodeConnections를 사용하여 Git 리포지토리에 연결 섹션을 참조하세요.

2단계: AWS Identity Center 구성 가져오기

RBAC 구성을 위해 Identity Center 인스턴스 ARN 및 사용자 ID를 가져옵니다.

# Get your Identity Center instance ARN aws sso-admin list-instances --query 'Instances[0].InstanceArn' --output text # Get a user ID for admin access (replace 'your-username' with your Identity Center username) aws identitystore list-users \ --identity-store-id $(aws sso-admin list-instances --query 'Instances[0].IdentityStoreId' --output text) \ --query 'Users[?UserName==`your-username`].UserId' --output text

이 값을 기록합니다. 다음 단계에 해당 값이 필요합니다.

3단계: eksctl 구성 파일 생성

다음 콘텐츠가 포함된 argocd-capability.yaml이라는 파일을 생성합니다. 자리 표시자 값을 클러스터 이름, 리전, IAM 역할 ARN, Identity Center 인스턴스 ARN, Identity Center 리전 및 사용자 ID로 바꿉니다.

apiVersion: eksctl.io/v1alpha5 kind: ClusterConfig metadata: name: my-cluster region: cluster-region-code capabilities: - name: my-argocd type: ARGOCD roleArn: arn:aws:iam::[.replaceable]111122223333:role/ArgoCDCapabilityRole deletePropagationPolicy: RETAIN configuration: argocd: awsIdc: idcInstanceArn: arn:aws:sso:::instance/ssoins-123abc idcRegion: idc-region-code rbacRoleMappings: - role: ADMIN identities: - id: 38414300-1041-708a-01af-5422d6091e34 type: SSO_USER
참고

RBAC 매핑에 여러 사용자 또는 그룹을 추가할 수 있습니다. 그룹의 경우 type: SSO_GROUP을 사용하고 그룹 ID를 제공합니다. 사용 가능한 역할은 ADMIN, EDITORVIEWER입니다.

4단계: Argo CD 기능 생성

구성 파일을 적용합니다.

eksctl create capability -f argocd-capability.yaml

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

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

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

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

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

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

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

kubectl api-resources | grep argoproj.io

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

다음 단계