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 アイデンティティセンター設定を取得する

RBAC 設定用にアイデンティティセンターインスタンス ARN とユーザー ID を取得します。

# Get your Identity Center instance ARN aws sso-admin list-instances --query 'Instances[0].InstanceArn' --output text # Get your Identity Center region aws sso-admin list-instances --query 'Instances[0].IdentityStoreId' --output text | cut -d'/' -f1 # 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、アイデンティティセンターインスタンス ARN、アイデンティティセンターリージョン、およびユーザー ID に置き換えます。

apiVersion: eksctl.io/v1alpha5 kind: ClusterConfig metadata: name: my-cluster region: region-code capabilities: - name: my-argocd type: ARGOCD roleArn: arn:aws:iam::[.replaceable]111122223333:role/ArgoCDCapabilityRole 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 を指定します。使用可能なロールは、ADMINEDITOR、および VIEWER です。

ステップ 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 のリソースタイプがリストされます。

次のステップ