帮助改进此页面
要帮助改进本用户指南,请选择位于每个页面右侧窗格中的在 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 策略示例和配置指南,请参阅使用 Amazon Secrets Manager 管理应用程序密钥和使用 Amazon CodeConnections 连接到 Git 存储库。
步骤 2:获取 Amazon Identity Center 配置
获取 Identity Center 实例 ARN 和用户 ID,用于 RBAC 配置:
# 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-clusterregion:region-codecapabilities: - name: my-argocd type: ARGOCD roleArn: arn:aws:iam::[.replaceable]111122223333:role/ArgoCDCapabilityRole configuration: argocd: awsIdc: idcInstanceArn:arn:aws:sso:::instance/ssoins-123abcidcRegion:idc-region-coderbacRoleMappings: - role: ADMIN identities: - id:38414300-1041-708a-01af-5422d6091e34type: SSO_USER
注意
您可以向 RBAC 映射添加多个用户或组。对于组,请使用 type: SSO_GROUP 并提供组 ID。可用角色包括 ADMIN、EDITOR 和 VIEWER。
步骤 4:创建 Argo CD 功能
应用配置文件:
eksctl create capability -f argocd-capability.yaml
命令会立即返回,但该功能需要一些时间才能变为活动状态。
步骤 5:验证功能是否处于活动状态
检查功能状态。将 region-code 替换为您的集群所在的 Amazon 区域,并将 my-cluster 替换为您的集群的名称。
eksctl get capability \ --regionregion-code\ --clustermy-cluster\ --name my-argocd
当状态显示为 ACTIVE 时,表示功能已准备就绪。
步骤 6:验证自定义资源是否可用
待该功能处于活动状态后,验证 Argo CD 自定义资源是否已在集群中正常可用:
kubectl api-resources | grep argoproj.io
您应该会看到列出的 Application 和 ApplicationSet 资源类型。
后续步骤
-
使用 Argo CD:了解如何创建和管理 Argo CD 应用程序
-
Argo CD 注意事项:配置 SSO 和多集群访问权限
-
使用功能资源:管理 Argo CD 功能资源