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 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éez une fonctionnalité Argo CD à l'aide du AWS INTERFACE DE LIGNE DE COMMANDE (CLI)
Créez une fonctionnalité Argo CD sur votre cluster Amazon EKS à l'aide de l' AWS interface de ligne de commande. Cette procédure vous explique comment créer un rôle IAM, configurer AWS l'intégration d'Identity Center et vérifier que la fonctionnalité est active.
Conditions préalables
-
AWS CLI : version
2.12.3ou version ultérieure. Pour vérifier votre version, exécutezaws --version. Pour plus d'informations, consultez le guide d'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 Configurer 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 vous n'avez pas configuré AWS Identity Center, consultez Démarrage avec AWS Identity Center pour créer une instance Identity Center, et Ajouter des utilisateurs et Ajouter des groupes pour créer des utilisateurs et des groupes pour accéder à Argo CD.
-
Au moins un utilisateur ou un groupe dans AWS Identity Center : au moins un utilisateur ou un groupe doit être configuré dans votre instance Identity Center pour attribuer des mappages de rôles Argo CD RBAC et fournir un accès à l'interface utilisateur 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 ou AWS CodeConnections d'ajouter des autorisations au rôle. Pour obtenir des exemples de politiques IAM et des conseils de configuration, consultez Gérez les secrets des applications avec AWS Secrets Manager etConnectez-vous aux référentiels Git avec AWS CodeConnections.
(Facultatif) Configurer un point de terminaison privé
Par défaut, l'interface utilisateur et le point de terminaison de l'API Argo CD sont accessibles au public sur Internet. Si vous devez restreindre l'accès, vous pouvez configurer un point de terminaison VPC. Ceci est recommandé pour les environnements soumis à des exigences de sécurité réseau strictes.
Création d'un point de terminaison VPC pour les fonctionnalités EKS
Créez un point de terminaison VPC d'interface pour le service EKS Capabilities de votre VPC. Remplacez vpc-idsubnet-id-1 subnet-id-2,sg-id, et region-code par vos propres valeurs :
aws ec2 create-vpc-endpoint \ --vpc-endpoint-type Interface \ --service-name com.amazonaws.region-code.eks-capabilities \ --vpc-idvpc-id\ --subnet-idssubnet-id-1 subnet-id-2\ --security-group-idssg-id\ --regionregion-code
Note
-
Les sous-réseaux doivent se trouver dans des zones de disponibilité différentes pour garantir une haute disponibilité.
-
Le groupe de sécurité doit autoriser le trafic HTTPS entrant (port 443) en provenance des réseaux qui doivent accéder à l'interface utilisateur et à l'API Argo CD.
-
Notez l'ID de point de terminaison VPC renvoyé par cette commande ; vous en aurez besoin lors de la création de la fonctionnalité.
Vérifiez que le point de terminaison VPC est disponible
aws ec2 describe-vpc-endpoints \ --vpc-endpoint-idsvpce-xxxxxxxx\ --query 'VpcEndpoints[0].State' \ --output text \ --regionregion-code
Attendez que l'état apparaisse available avant de continuer.
Étape 2 : Création de la fonctionnalité Argo CD
Créez la ressource de fonctionnalité Argo CD sur votre cluster.
Tout d'abord, définissez 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 --regionregion-code--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 \ --regionregion-code\ --identity-store-id $(aws sso-admin list-instances --regionregion-code--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 cette fonctionnalité grâce à l'intégration d'Identity Center. Remplacez region-code par la AWS région dans laquelle se trouve votre cluster, my-cluster par le nom de votre cluster et idc-region-code par le code de région dans lequel se trouve votre instance Identity Center :
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": "'idc-region-code'" }, "rbacRoleMappings": [{ "role": "ADMIN", "identities": [{ "id": "'$IDC_USER_ID'", "type": "SSO_USER" }] }] } }'
Si vous avez configuré un point de terminaison VPC pour un accès privé, incluez le network-configuration paramètre permettant de créer la fonctionnalité avec un point de terminaison privé. Remplacez-le vpce-xxxxxxxx par votre ID de point de terminaison VPC :
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 \ --network-configuration '{ "elasticNetworkInterfaces": { "vpcEndpointId": "'vpce-xxxxxxxx'" } }' \ --configuration '{ "argoCd": { "awsIdc": { "idcInstanceArn": "'$IDC_INSTANCE_ARN'", "idcRegion": "'idc-region-code'" }, "rbacRoleMappings": [{ "role": "ADMIN", "identities": [{ "id": "'$IDC_USER_ID'", "type": "SSO_USER" }] }] } }'
La commande revient immédiatement, mais la capacité met un certain temps à être active car EKS crée l'infrastructure et les composants de capacité requis. EKS installe les définitions de ressources personnalisées (CRD) Kubernetes dans votre cluster lors de la création des fonctionnalités.
Note
Si vous recevez un message d'erreur indiquant que le cluster n'existe pas ou que vous n'avez pas d'autorisations, 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érifiez que la fonctionnalité est active
Attendez que la fonctionnalité soit active. Remplacez region-code par la AWS région dans laquelle 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. Attendez que le statut soit ACTIVE affiché avant de passer à l'étape suivante.
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 la disponibilité des ressources personnalisées
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 Application et répertorier les types de ApplicationSet 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- Multi-cluster architecture et configuration avancées
-
Utilisation des ressources capacitaires- Gérez votre ressource de fonctionnalités Argo CD