使用 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 政策。如果您計劃將 Secrets Manager 用於儲存庫登入資料或 CodeConnections,您將需要將許可新增至角色。如需 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 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、Identity Center 執行個體 ARN、Identity Center 區域和使用者 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。可用的角色為 ADMINEDITORVIEWER

步驟 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

您應該會看到列出的 ApplicationSet Application和資源類型。

後續步驟