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.
Enregistrer les clusters cibles
Enregistrez les clusters pour permettre à Argo CD d'y déployer des applications. Vous pouvez enregistrer le même cluster sur lequel Argo CD est en cours d'exécution (cluster local) ou des clusters distants dans différents comptes ou régions.
Conditions préalables
-
Création d'un cluster EKS doté de la fonctionnalité Argo CD
-
kubectlconfiguré pour communiquer avec votre cluster -
Pour les clusters distants : autorisations IAM et entrées d'accès appropriées
Enregistrez le cluster local
Pour déployer des applications sur le même cluster que celui sur lequel Argo CD est exécuté, enregistrez-le en tant que cible de déploiement.
Note
La fonctionnalité Argo CD n'enregistre pas automatiquement le cluster local. Vous devez l'enregistrer explicitement pour déployer des applications sur le même cluster.
À l'aide de l'Argo CD CLI :
argocd cluster add <cluster-context-name> \ --aws-cluster-name arn:aws:eks:us-west-2:111122223333:cluster/my-cluster \ --name local-cluster
À l'aide d'un secret Kubernetes :
apiVersion: v1 kind: Secret metadata: name: local-cluster namespace: argocd labels: argocd.argoproj.io/secret-type: cluster stringData: name: local-cluster server: arn:aws:eks:us-west-2:111122223333:cluster/my-cluster project: default
Appliquez la configuration :
kubectl apply -f local-cluster.yaml
Note
Utilisez l'ARN du cluster EKS server sur le terrain, et non l'URL du serveur d'API Kubernetes. La fonctionnalité gérée nécessite ARNs d'identifier les clusters. La valeur par défaut n'kubernetes.default.svcest pas prise en charge.
Enregistrer des clusters distants
Pour effectuer un déploiement sur des clusters distants, vous devez :
-
Créez une entrée d'accès sur le cluster distant pour votre rôle Argo CD IAM Capability
-
Associer une politique d'accès aux autorisations appropriées
-
Enregistrez le cluster dans Argo CD
Étape 1 : créer l'entrée d'accès sur le cluster distant
Remplacez region-code par la AWS région dans laquelle se trouve votre cluster distant, remplacez remote-cluster par le nom de votre cluster distant et remplacez l'ARN par l'ARN de votre rôle de fonctionnalité Argo CD.
aws eks create-access-entry \ --regionregion-code\ --cluster-nameremote-cluster\ --principal-arn arn:aws:iam::[.replaceable]111122223333:role/ArgoCDCapabilityRole\ --type STANDARD
Étape 2 : associer une politique d'accès
aws eks associate-access-policy \ --regionregion-code\ --cluster-nameremote-cluster\ --principal-arn arn:aws:iam::[.replaceable]111122223333:role/ArgoCDCapabilityRole\ --policy-arn arn:aws:eks::aws:cluster-access-policy/AmazonEKSClusterAdminPolicy \ --access-scope type=cluster
Note
Pour les environnements de production, envisagez d'utiliser des politiques d'accès plus restrictives. Voir Considérations relatives à la sécurité relatives aux fonctionnalités EKS pour les configurations avec le moindre privilège.
Étape 3 : enregistrer le cluster dans Argo CD
À l'aide de l'Argo CD CLI :
argocd cluster add <cluster-context-name> \ --aws-cluster-name arn:aws:eks:us-west-2:111122223333:cluster/remote-cluster \ --name remote-cluster
À l'aide d'un secret Kubernetes :
apiVersion: v1 kind: Secret metadata: name: remote-cluster namespace: argocd labels: argocd.argoproj.io/secret-type: cluster stringData: name: remote-cluster server: arn:aws:eks:us-west-2:111122223333:cluster/remote-cluster project: default
Appliquez la configuration :
kubectl apply -f remote-cluster.yaml
Clusters multicomptes et interrégionaux
Pour effectuer un déploiement sur des clusters situés dans différents AWS comptes ou régions, procédez comme suit :
-
Ajoutez le rôle Argo CD Capability en tant qu'entrée d'accès sur le cluster distant
-
Associez la politique d'accès appropriée (généralement
AmazonEKSClusterAdminPolicy) -
Enregistrez le cluster à l'aide de son ARN complet (qui inclut la région)
Le format ARN du cluster inclut la région. Il n'y a donc aucune différence entre l'enregistrement entre comptes et entre régions : les deux utilisent le même processus.
Pour une configuration inter-comptes détaillée, y compris les politiques de confiance et les autorisations IAM, voir. Considérations relatives à Argo CD
Vérifier l'enregistrement du cluster
Afficher les clusters enregistrés :
kubectl get secrets -n argocd -l argocd.argoproj.io/secret-type=cluster
Ou vérifiez l'état du cluster dans l'interface utilisateur d'Argo CD sous Paramètres → Clusters.
Clusters privés
La fonctionnalité Argo CD fournit 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.
AWS gère automatiquement la connectivité entre la fonctionnalité Argo CD et les clusters distants privés.
Enregistrez simplement le cluster privé à l'aide de son ARN, aucune configuration réseau supplémentaire n'est requise.
Restreindre l'accès au cluster avec Projects
Utilisez les projets pour contrôler les clusters sur lesquels les applications peuvent être déployées :
apiVersion: argoproj.io/v1alpha1 kind: AppProject metadata: name: production namespace: argocd spec: destinations: - server: arn:aws:eks:us-west-2:111122223333:cluster/prod-cluster namespace: '*' - server: arn:aws:eks:eu-west-1:111122223333:cluster/prod-eu-cluster namespace: '*' sourceRepos: - 'https://github.com/example/production-apps'
Pour en savoir plus, consultez Travailler avec des projets Argo CD.
Ressources supplémentaires
-
Travailler avec des projets Argo CD- Organisez les applications et appliquez les limites de sécurité
-
Création d'applications- Déployez votre première application
-
Utiliser ApplicationSets- Déployez sur plusieurs clusters avec ApplicationSets
-
Considérations relatives à Argo CD- Modèles multi-clusters et configuration entre comptes
-
Configuration déclarative du cluster - Référence de configuration
du cluster en amont