Aidez à améliorer cette page
Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Pour contribuer à ce guide de l'utilisateur, cliquez sur le GitHub lien Modifier cette page sur qui se trouve dans le volet droit de chaque page.
Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Création d'une fonctionnalité Argo CD à l'aide de la CLI AWS
Cette rubrique décrit comment créer une fonctionnalité Argo CD à l'aide de la AWS CLI.
Conditions préalables
-
AWS CLI : version
2.12.3ou ultérieure. Pour vérifier votre version, lancezaws --version. Pour plus d'informations, consultez la section Installation dans le guide de l'utilisateur de l'interface de ligne de AWS commande. -
kubectl: outil de ligne de commande pour travailler avec des clusters Kubernetes. Pour de plus amples informations, veuillez consulter Configuration de kubectl et eksctl. -
AWS Identity Center configuré : Argo CD nécessite AWS Identity Center pour l'authentification. Les utilisateurs locaux ne sont pas pris en charge. Si AWS Identity Center n'est pas configuré, consultez Commencer à utiliser AWS Identity Center pour créer une instance d'Identity Center, et Ajouter des utilisateurs et Ajouter des groupes pour créer des utilisateurs et des groupes pour accéder à Argo CD.
Étape 1 : Création d'un rôle de capacité IAM
Créez un fichier de politique de confiance :
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
Créez le rôle IAM :
aws iam create-role \ --role-name ArgoCDCapabilityRole \ --assume-role-policy-document file://argocd-trust-policy.json
Note
Si vous envisagez d'utiliser les intégrations facultatives avec AWS Secrets Manager or AWS CodeConnections, vous devrez ajouter des autorisations au rôle. Pour des exemples de politique IAM et des conseils de configuration, reportez-vous aux sections Gérez les secrets des applications avec AWS Secrets Manager etConnectez-vous aux référentiels Git avec AWS CodeConnections.
Étape 2 : Création de la fonctionnalité Argo CD
Créez la ressource de capacité Argo CD sur votre cluster.
Définissez d'abord les variables d'environnement pour la configuration de votre 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"
Créez la fonctionnalité grâce à l'intégration d'Identity Center. Remplacez region-code par la AWS région où se trouve votre cluster et my-cluster par le nom de votre 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" }] }] } }'
La commande revient immédiatement, mais la fonctionnalité met un certain temps à devenir active car EKS crée l'infrastructure et les composants de capacité requis. EKS installera les définitions de ressources personnalisées Kubernetes associées à cette fonctionnalité dans votre cluster lors de sa création.
Note
Si vous recevez un message d'erreur indiquant que le cluster n'existe pas ou que vous n'êtes pas autorisé, vérifiez :
-
Le nom du cluster est correct
-
Votre AWS CLI est configurée pour la bonne région
-
Vous disposez des autorisations IAM requises
Étape 3 : vérifier que la fonctionnalité est active
Attendez que la fonctionnalité soit activée. Remplacez region-code par la AWS région où se trouve votre cluster et my-cluster par le nom de votre cluster.
aws eks describe-capability \ --regionregion-code\ --cluster-namemy-cluster\ --capability-name my-argocd \ --query 'capability.status' \ --output text
La fonctionnalité est prête lorsque l'état s'afficheACTIVE. Ne passez pas à l'étape suivante tant que le statut n'est pas atteintACTIVE.
Vous pouvez également consulter les détails complets des fonctionnalités :
aws eks describe-capability \ --regionregion-code\ --cluster-namemy-cluster\ --capability-name my-argocd
Étape 4 : vérifier que les ressources personnalisées sont disponibles
Une fois la fonctionnalité activée, vérifiez que les ressources personnalisées Argo CD sont disponibles dans votre cluster :
kubectl api-resources | grep argoproj.io
Vous devriez voir apparaître une liste Application ApplicationSet des types de ressources.
Étapes suivantes
-
Travailler avec Argo CD- Configurer des référentiels, enregistrer des clusters et créer des applications
-
Considérations relatives à Argo CD- Architecture multi-clusters et configuration avancée
-
Utilisation des ressources en matière de capacités- Gérez vos ressources de capacités Argo CD