View a markdown version of this page

Travailler avec Argo CD - Amazon EKS

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.

Travailler avec Argo CD

Avec Argo CD, vous définissez des applications dans des référentiels Git et Argo CD les synchronise automatiquement avec vos clusters Kubernetes. Cela permet un déploiement d'applications déclaratif et contrôlé par version avec détection automatique des dérives.

Conditions préalables

Avant de travailler avec Argo CD, vous devez :

  • Un cluster EKS avec la fonctionnalité Argo CD a été créé (voirCréation d’une fonctionnalité Argo CD)

  • Un dépôt Git contenant des manifestes Kubernetes

  • kubectlconfiguré pour communiquer avec votre cluster

Tâches courantes

Les rubriques suivantes vous guident dans les tâches courantes d'Argo CD :

Configuration de l'accès au référentiel- Configurez Argo CD pour accéder à vos dépôts Git à l'aide de AWS Secrets Manager ou de AWS CodeConnections Kubernetes Secrets.

Enregistrer les clusters cibles- Enregistrez les clusters cibles sur lesquels Argo CD déploiera des applications.

Travailler avec des projets Argo CD- Organisez les applications et renforcez les limites de sécurité à l'aide de Projects pour les environnements multi-locataires.

Configuration des paramètres d'Argo CD- Configurez le comportement d'Argo CD à l'aide de argocd-cm ConfigMap, y compris des contrôles de santé personnalisés pour les ressources personnalisées.

Création d'applications- Créez des applications qui se déploient à partir de référentiels Git avec des politiques de synchronisation automatisées ou manuelles.

Utiliser ApplicationSets- Permet ApplicationSets de déployer des applications dans plusieurs environnements ou clusters à l'aide de modèles et de générateurs.

Accédez à l'interface utilisateur d'Argo CD

Accédez à l'interface utilisateur d'Argo CD via la console EKS :

  1. Ouvrez la console Amazon EKS

  2. Sélectionnez votre cluster

  3. Choisissez l'onglet Capacités

  4. Choisissez Argo CD

  5. Choisissez Open Argo CD UI

L'interface utilisateur fournit la topologie visuelle de l'application, l'état et l'historique de la synchronisation, l'état des ressources et les événements, les commandes de synchronisation manuelles et la gestion des applications.

URL du point de terminaison Argo CD

Lorsque vous créez une fonctionnalité Argo CD, vous recevez un point de terminaison unique pour l'interface utilisateur et l'API Argo CD. Le nom d'hôte du point de terminaison est déterministe  : il utilise des valeurs que vous connaissez déjà, telles que le nom de votre capacité, le nom du cluster, l'ID de AWS compte et la région. AWS Si vous supprimez une fonctionnalité et que vous la recréez avec le même nom de cluster et le même nom de capacité, vous obtenez le même point de terminaison. Comme le nom d'hôte est prévisible, vous pouvez le créer à l'avance. Par exemple, vous pouvez préconfigurer les intégrations DNS, automatisées ou Git Webhook avant la fin du provisionnement de la fonctionnalité. Quelle que soit la capacité, la serverUrl valeur de describe-capability est le point final final.

Note

Comme le point de terminaison est réutilisé, les intégrations qui pointaient vers la fonctionnalité précédente (webhooks Git, jetons et enregistrements DNS) se connectent automatiquement au nouveau terminal, sans aucune indication que l'instance a changé. Après avoir recréé une fonctionnalité, revérifiez ces intégrations et alternez tous les secrets ou jetons de webhook qui ont été partagés avec l'instance précédente.

Récupérez le point de terminaison

Pour obtenir le point final exact d'une capacité, utilisez la describe-capability commande et lisez la serverUrl valeur. Remplacez region-codemy-cluster, et my-argocd par vos valeurs :

aws eks describe-capability \ --region region-code \ --cluster-name my-cluster \ --capability-name my-argocd \ --query 'capability.configuration.argoCd.serverUrl' \ --output text
Note

Le serverUrl champ et les enregistrements DNS du point de terminaison sont disponibles une fois que l'état de capacité est passé àACTIVE.

Format du point de terminaison

Le terminal Argo CD utilise le format suivant :

https://capability-name-hash-account-id.eks-capabilities.region-code.amazonaws.com

Le nom d'hôte comprend les éléments suivants :

  • capability-name— Le nom de votre fonctionnalité Argo CD, normalisé en minuscules, chaque trait de soulignement () étant remplacé par un _ tiret (). - Si le nom normalisé comporte plus de 41 caractères, il est tronqué à 41 caractères.

  • hash— Valeur hexadécimale à 8 caractères qui rend le nom d'hôte unique. Il s'agit des 8 premiers caractères du SHA-256 hachage du nom de votre capacité et du nom de votre cluster. Les noms sont joints par une barre oblique ( capability-name/cluster-name ). Utilisez les noms exacts que vous avez spécifiés lors de la création de la fonctionnalité. Cette valeur fournit uniquement l'unicité et ne constitue pas un contrôle de sécurité.

  • account-id— Votre numéro de AWS compte à 12 chiffres.

  • eks-capabilities.region-code.amazonaws.com— Le domaine de service EKS Capabilities pour votre AWS région.

Par exemple, une capacité nommée my-argocd sur un compte de cluster my-cluster 111122223333 dans la us-west-2 Région possède un point de terminaison similaire au suivant :

https://my-argocd-dc855fdf-111122223333.eks-capabilities.us-west-2.amazonaws.com

Le nom d'hôte utilise le nom de capacité normalisé, mais le hachage utilise le nom brut que vous avez spécifié. Par exemple, la capacité Payments_GitOps sur le cluster est my-cluster normalisée payments-gitops dans le nom d'hôte, et son hachage provient de la chaîne brute : Payments_GitOps/my-cluster

https://payments-gitops-4ce0b382-111122223333.eks-capabilities.us-west-2.amazonaws.com
Note

Utilisez la describe-capability sortie pour confirmer le point de terminaison exact pour votre AWS région.

Vous pouvez calculer le hash composant vous-même. À utiliser sha256sum sous Linux ou shasum -a 256 sur macOS. Les commandes suivantes utilisent l'exemple de fonctionnalité my-argocd sur le clustermy-cluster. Remplacez les noms exacts que vous avez spécifiés lors de la création de la fonctionnalité :

# Linux printf '%s' "my-argocd/my-cluster" | sha256sum | cut -c1-8 # macOS printf '%s' "my-argocd/my-cluster" | shasum -a 256 | cut -c1-8

Les deux commandes sont renvoyéesdc855fdf.

Accès et sécurité des terminaux

Le nom d'hôte du terminal n'est pas un secret, et le fait de le savoir n'autorise pas l'accès à votre instance Argo CD. Le nom d'hôte expose les mêmes informations non secrètes qui apparaissent déjà dans la fonctionnalité Amazon Resource Name (ARN). Les list-capabilities opérations create-capabilitydescribe-capability, et renvoient cet ARN. AWS L'authentification Identity Center et le contrôle d'accès basé sur les rôles (RBAC) Argo CD contrôlent l'accès à l'interface utilisateur et à l'API Argo CD.

Si vous configurez l'accès au point de terminaison privé, le nom d'hôte correspond uniquement aux adresses IP privées associées à votre point de terminaison VPC. Vous pouvez accéder au terminal uniquement depuis votre VPC ou les réseaux connectés. Pour de plus amples informations, veuillez consulter Configuration de l'accès aux terminaux privés pour Argo CD.

Documentation en amont

Pour des informations détaillées sur les fonctionnalités d'Argo CD :