

 **이 페이지 개선에 도움 주기** 

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

# eksctl 사용 시 Argo CD 기능 생성
<a name="argocd-create-eksctl"></a>

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

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

## 1단계: IAM 기능 역할 생성
<a name="_step_1_create_an_iam_capability_role"></a>

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

```
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를 사용하여 애플리케이션 보안 암호 관리](integration-secrets-manager.md) 및 [AWS CodeConnections를 사용하여 Git 리포지토리에 연결](integration-codeconnections.md) 섹션을 참조하세요.

## 2단계: AWS Identity Center 구성 가져오기
<a name="step_2_get_your_shared_aws_identity_center_configuration"></a>

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 구성 파일 생성
<a name="_step_3_create_an_eksctl_configuration_file"></a>

다음 콘텐츠가 포함된 `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`, `EDITOR` 및 `VIEWER`입니다.

## 4단계: Argo CD 기능 생성
<a name="_step_4_create_the_argo_cd_capability"></a>

구성 파일을 적용합니다.

```
eksctl create capability -f argocd-capability.yaml
```

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

## 5단계: 기능이 활성 상태인지 확인
<a name="_step_5_verify_the_capability_is_active"></a>

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

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

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

## 6단계: 사용자 지정 리소스를 사용할 수 있는지 확인
<a name="_step_6_verify_custom_resources_are_available"></a>

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

```
kubectl api-resources | grep argoproj.io
```

`Application` 및 `ApplicationSet` 리소스 유형이 나열됩니다.

## 다음 단계
<a name="_next_steps"></a>
+  [Argo CD 작업](working-with-argocd.md) - Argo CD 애플리케이션을 생성하고 관리하는 방법 알아보기
+  [Argo CD 고려 사항](argocd-considerations.md) - SSO 및 다중 클러스터 액세스 구성
+  [기능 리소스 작업](working-with-capabilities.md) - Argo CD 기능 리소스 관리