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.
Comparaison de la capacité EKS d'Argo CD à celle d'Argo CD autogéré
La fonctionnalité EKS pour Argo CD fournit une expérience Argo CD entièrement gérée qui s'exécute dans EKS. Pour une comparaison générale entre les capacités d'EKS et les solutions autogérées, consultezConsidérations relatives aux fonctionnalités EKS. Cette rubrique se concentre sur les CD-specific différences d'Argo, notamment l'authentification, la gestion multi-clusters et la prise en charge des fonctionnalités en amont.
Différences par rapport à Argo CD en amont
La fonctionnalité EKS pour Argo CD est basée sur Argo CD en amont, mais elle diffère quant à la manière dont elle est accessible, configurée et intégrée aux AWS services.
RBAC et authentification : cette fonctionnalité comprend trois rôles RBAC (administrateur, éditeur, afficheur) et utilise AWS Identity Center pour l'authentification au lieu de l'authentification intégrée d'Argo CD. Configurez les mappages de rôles via le rbacRoleMapping paramètre de la fonctionnalité pour mapper les groupes Identity Center aux rôles Argo CD, et non via Argo CD. argocd-rbac-cm ConfigMap L'interface utilisateur d'Argo CD est hébergée avec sa propre URL directe (vous la trouverez dans la console EKS, sous l'onglet Capabilities de votre cluster), et l'accès à l'API utilise AWS l'authentification et l'autorisation via IAM.
Configuration du cluster : cette fonctionnalité ne configure pas automatiquement les topologies en cluster local ou en étoile. Vous configurez les clusters cibles de votre déploiement et les entrées d'accès EKS. Cette fonctionnalité prend uniquement en charge les clusters Amazon EKS en tant que cibles de déploiement à l'aide des ARN des clusters EKS (et non des URL de serveurs d'API Kubernetes). La fonctionnalité n'ajoute pas automatiquement le cluster local (kubernetes.default.svc) en tant que cible de déploiement. Pour déployer sur le même cluster que celui où la fonctionnalité est créée, enregistrez explicitement ce cluster à l'aide de son ARN.
Accès aux clusters distants simplifié : cette fonctionnalité simplifie les déploiements multi-clusters en utilisant EKS Access Entries pour accorder à Argo CD l'accès aux clusters distants, éliminant ainsi le besoin de configurer les rôles IAM pour les comptes de service (IRSA) ou de définir des hypothèses de rôles IAM entre comptes. Cette fonctionnalité fournit également un accès transparent à des clusters EKS entièrement privés sans nécessiter de peering VPC ou de configuration réseau spécialisée. Elle AWS gère automatiquement la connectivité entre la fonctionnalité Argo CD et les clusters distants privés.
Intégration directe des AWS services : cette fonctionnalité permet une intégration directe avec AWS les services via les autorisations IAM du rôle Capability. Vous pouvez référencer des CodeCommit référentiels, des diagrammes ECR Helm et accéder CodeConnections directement aux ressources de l'application sans créer de configurations de référentiel. Cela simplifie l'authentification et élimine le besoin de gérer des informations d'identification distinctes pour les AWS services. Consultez Configuration de l'accès au référentiel pour plus de détails.
Prise en charge des espaces de noms : cette fonctionnalité vous oblige à spécifier un espace de noms unique dans lequel l'application Argo CD et ApplicationSet les ressources AppProject personnalisées doivent être créées.
Note
Cette restriction d'espace de noms s'applique uniquement aux ressources personnalisées d'Argo CD (Application, ApplicationSet, AppProject). Les charges de travail de vos applications peuvent être déployées dans n'importe quel espace de noms de n'importe quel cluster cible. Par exemple, si vous créez la fonctionnalité avec un espace de nomsargocd, tous les CR d'application doivent être créés dans cet argocd espace de noms, mais ces applications peuvent déployer des charges de travail versdefault, productionstaging, ou tout autre espace de noms.
Note
La fonctionnalité gérée présente des exigences spécifiques en matière d'utilisation et de AppProject configuration de l'interface de ligne de commande :
-
Lorsque vous utilisez l'interface de ligne de commande Argo CD, spécifiez les applications avec le préfixe d'espace de noms :
argocd app sync namespace/appname -
AppProject les ressources doivent spécifier
.spec.sourceNamespacespour définir les espaces de noms que le projet peut surveiller pour les applications (généralement définis sur l'espace de noms que vous avez spécifié lors de la création de la fonctionnalité) -
Les annotations de suivi des ressources utilisent le format suivant :
namespace_appname:group/kind:namespace/name
Fonctionnalités non prises en charge : les fonctionnalités suivantes ne sont pas disponibles dans la fonctionnalité gérée :
-
Plugins de gestion de configuration (CMP) pour la génération de manifestes personnalisés
-
Contrôleur des notifications
-
Fournisseurs SSO personnalisés (seul AWS Identity Center est pris en charge, y compris l'identité fédérée tierce via AWS Identity Center)
-
Extensions d'interface utilisateur et bannières personnalisées
-
L'accès direct
argocd-paramset la plupart des configurations ConfigMaps (un sous-ensemble deargocd-cmchamps) sont pris en charge. VoirConfiguration des paramètres d'Argo CD) -
Modification du délai de synchronisation (fixé à 120 secondes)
Compatibilité : les applications et le ApplicationSets fonctionnement sont identiques à ceux d'Argo CD en amont, sans aucune modification de vos manifestes. Cette fonctionnalité utilise les mêmes API et CRD Kubernetes, de sorte que des outils comme celui-ci kubectl fonctionnent de la même manière. Cette fonctionnalité prend entièrement en charge les applications et ApplicationSets les GitOps flux de travail avec synchronisation automatique, les déploiements multi-clusters, les politiques de synchronisation (automatisées, prunelles, auto-guérison), les ondes de synchronisation et les hooks, l'évaluation de l'état des ressources Kubernetes standard, les fonctionnalités de restauration, les sources des référentiels Git (HTTPS et SSH), Helm, Kustomize et les manifestes YAML simples, les informations d'identification des GitHub applications, les projets de mutualisation et les exclusions et inclusions de ressources.
Utilisation de l'interface de ligne de commande Argo CD avec la fonctionnalité gérée
L'interface de ligne de commande Argo CD fonctionne de la même manière que l'Argo CD en amont pour la plupart des opérations, mais l'authentification et l'enregistrement du cluster diffèrent.
Conditions préalables
Installez l'interface de ligne de commande Argo CD en suivant les instructions d'installation
Configuration
Configurez la CLI à l'aide de variables d'environnement :
-
Obtenez l'URL du serveur Argo CD depuis la console EKS (sous l'onglet Capabilities de votre cluster) ou via l' AWS interface de ligne de commande. Le
https://préfixe doit être supprimé :export ARGOCD_SERVER=$(aws eks describe-capability \ --cluster-namemy-cluster\ --capability-namemy-argocd\ --query 'capability.configuration.argoCd.serverUrl' \ --output text \ --regionregion-code| sed 's|^https://||') -
Générez un jeton de compte depuis l'interface utilisateur d'Argo CD (Paramètres → Comptes → admin → Générer un nouveau jeton), puis définissez-le comme variable d'environnement :
export ARGOCD_AUTH_TOKEN="your-token-here"
Important
Cette configuration utilise le jeton du compte administrateur pour la configuration initiale et les flux de travail de développement. Pour les cas d'utilisation en production, utilisez des rôles et des jetons spécifiques au projet afin de respecter le principe du moindre privilège. Pour plus d'informations sur la configuration des rôles de projet et du RBAC, consultezConfigurer les autorisations d'Argo CD.
-
Définissez l'option gRPC requise :
export ARGOCD_OPTS="--grpc-web"
Une fois ces variables d'environnement définies, vous pouvez utiliser l'interface de ligne de commande Argo CD sans la argocd login commande.
Principales différences
La fonctionnalité gérée présente les limites suivantes de l'interface de ligne de commande :
-
argocd adminles commandes ne sont pas prises en charge (elles nécessitent un accès direct au pod) -
argocd loginn'est pas pris en charge (utilisez plutôt des jetons de compte ou de projet) -
argocd cluster addnécessite le--aws-cluster-namedrapeau avec l'ARN du cluster EKS
Exemple : enregistrer un cluster
Enregistrez un cluster EKS pour le déploiement d'applications :
# Get the cluster ARN CLUSTER_ARN=$(aws eks describe-cluster \ --namemy-cluster\ --query 'cluster.arn' \ --output text) # Register the cluster argocd cluster add $CLUSTER_ARN \ --aws-cluster-name $CLUSTER_ARN \ --name in-cluster \ --project default
Pour consulter la documentation complète de l'interface de ligne de commande Argo CD, consultez la référence de l'interface de ligne de commande Argo CD.
Voie de migration
Vous pouvez migrer d'Argo CD autogéré vers la fonctionnalité gérée :
-
Vérifiez votre configuration Argo CD actuelle pour détecter les fonctionnalités non prises en charge (contrôleur de notifications, CMP, contrôles de santé personnalisés, extensions d'interface utilisateur)
-
Faites évoluer vos contrôleurs Argo CD autogérés jusqu'à ce qu'il n'y ait aucune réplication pour éviter les conflits
-
Créez une ressource de fonctionnalités Argo CD sur votre cluster
-
Exportez vos applications existantes ApplicationSets, et AppProjects
-
Migrer les informations d'identification du référentiel, les secrets de cluster et les modèles d'informations d'identification du référentiel (rapports)
-
Si vous utilisez des clés GPG, des certificats TLS ou des hôtes SSH connus, migrez également ces configurations
-
Mettre à jour
destination.serverles champs pour utiliser les noms de clusters ou les ARN des clusters EKS -
Appliquez-les à l'instance Argo CD gérée
-
Vérifiez que les applications se synchronisent correctement
-
Mettez hors service votre installation Argo CD autogérée
La fonctionnalité gérée utilise les mêmes API et définitions de ressources Argo CD, de sorte que vos manifestes existants fonctionnent avec un minimum de modifications.
Étapes suivantes
-
Création d’une fonctionnalité Argo CD- Création d'une ressource de fonctionnalités Argo CD
-
Travailler avec Argo CD- Déployez votre première application
-
Considérations relatives à Argo CD- Configurer AWS l'intégration d'Identity Center