이 페이지 개선에 도움 주기
이 사용자 가이드에 기여하려면 모든 페이지의 오른쪽 창에 있는 GitHub에서 이 페이지 편집 링크를 선택합니다.
AWS CLI를 사용하여 Argo CD 기능 생성
이 주제에서는 AWS CLI를 사용하여 Argo CD 기능을 생성하는 방법을 설명합니다.
사전 조건
-
AWS CLI – 버전
2.12.3이상. 버전을 확인하려면aws --version을 실행합니다. 자세한 내용은 AWS 명령줄 인터페이스 사용 설명서에서 설치하기를 참조하세요. -
kubectl- Kubernetes 클러스터 작업을 위한 명령줄 도구. 자세한 내용은 kubectl 및 eksctl 설정 섹션을 참조하세요. -
구성된 AWS Identity Center - Argo CD에는 인증을 위해 AWS Identity Center가 필요합니다. 로컬 사용자는 지원되지 않습니다. AWS Identity Center를 설정하지 않은 경우 Getting started with AWS Identity Center를 참조하여 Identity Center 인스턴스를 생성하고 사용자 추가 및 그룹 추가를 통해 Argo CD 액세스를 위한 사용자 및 그룹을 생성합니다.
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
참고
AWS Secrets Manager 또는 AWS CodeConnections와의 선택적 통합을 사용하려는 경우 역할에 권한을 추가해야 합니다. IAM 정책 예제 및 구성 지침은 AWS Secrets Manager를 사용하여 애플리케이션 보안 암호 관리 및 AWS CodeConnections를 사용하여 Git 리포지토리에 연결 섹션을 참조하세요.
2단계: Argo CD 기능 생성
클러스터에서 Argo CD 기능 리소스를 생성합니다.
먼저 Identity Center 구성에 대한 환경 변수를 설정합니다.
# Get your Identity Center instance ARN (replace region if your IDC instance is in a different region) export IDC_INSTANCE_ARN=$(aws sso-admin list-instances --region [.replaceable]`region` --query 'Instances[0].InstanceArn' --output text) # Get a user ID for RBAC mapping (replace with your username and region if needed) export IDC_USER_ID=$(aws identitystore list-users \ --region [.replaceable]`region` \ --identity-store-id $(aws sso-admin list-instances --region [.replaceable]`region` --query 'Instances[0].IdentityStoreId' --output text) \ --query 'Users[?UserName==`your-username`].UserId' --output text) echo "IDC_INSTANCE_ARN=$IDC_INSTANCE_ARN" echo "IDC_USER_ID=$IDC_USER_ID"
Identity Center 통합을 사용하여 기능을 생성합니다. region-code를 클러스터가 있는 AWS 리전으로 바꾸고 my-cluster를 클러스터 이름으로 바꿉니다.
aws eks create-capability \ --regionregion-code\ --cluster-namemy-cluster\ --capability-name my-argocd \ --type ARGOCD \ --role-arn arn:aws:iam::$(aws sts get-caller-identity --query Account --output text):role/ArgoCDCapabilityRole \ --delete-propagation-policy RETAIN \ --configuration '{ "argoCd": { "awsIdc": { "idcInstanceArn": "'$IDC_INSTANCE_ARN'", "idcRegion": "'[.replaceable]`region-code`'" }, "rbacRoleMappings": [{ "role": "ADMIN", "identities": [{ "id": "'$IDC_USER_ID'", "type": "SSO_USER" }] }] } }'
명령은 즉시 반환되지만, EKS가 필요한 기능 인프라 및 구성 요소를 생성하므로 기능이 활성 상태가 되려면 다소 시간이 걸립니다. EKS는 생성될 때 클러스터에서 이 기능과 관련된 Kubernetes 사용자 지정 리소스 정의를 설치합니다.
참고
클러스터가 존재하지 않는다는 오류가 발생하거나 권한이 없는 경우 다음을 확인합니다.
-
클러스터 이름이 올바른지
-
AWS CLI가 올바른 리전에 구성되었는지
-
필요한 IAM 권한이 있음
3단계: 기능이 활성 상태인지 확인
기능이 활성 상태가 될 때까지 기다립니다. region-code를 클러스터가 있는 AWS 리전으로 바꾸고 my-cluster를 클러스터 이름으로 바꿉니다.
aws eks describe-capability \ --regionregion-code\ --cluster-namemy-cluster\ --capability-name my-argocd \ --query 'capability.status' \ --output text
상태가 ACTIVE로 표시되면 기능이 준비된 것입니다. ACTIVE 상태가 되면 다음 단계를 계속하지 마세요.
전체 기능 세부 정보를 볼 수도 있습니다.
aws eks describe-capability \ --regionregion-code\ --cluster-namemy-cluster\ --capability-name my-argocd
4단계: 사용자 지정 리소스를 사용할 수 있는지 확인
기능이 활성 상태가 되면 클러스터에서 Argo CD 사용자 지정 리소스를 사용할 수 있는지 확인합니다.
kubectl api-resources | grep argoproj.io
Application 및 ApplicationSet 리소스 유형이 나열됩니다.
다음 단계
-
Argo CD 작업 - 리포지토리 구성, 클러스터 등록, 애플리케이션 생성
-
Argo CD 고려 사항 - 다중 클러스터 아키텍처 및 고급 구성
-
기능 리소스 작업 - Argo CD 기능 리소스 관리