Déploiement continu 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 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.

Déploiement continu avec Argo CD

Argo CD est un outil de diffusion GitOps continue déclaratif pour Kubernetes. Avec Argo CD, vous pouvez automatiser le déploiement et la gestion du cycle de vie de vos applications sur plusieurs clusters et environnements. Argo CD prend en charge plusieurs types de sources, notamment les référentiels Git, les registres Helm (HTTP et OCI) et les images OCI, offrant ainsi de la flexibilité aux entreprises ayant des exigences de sécurité et de conformité différentes.

Grâce aux fonctionnalités d'EKS, Argo CD est entièrement géré par AWS, ce qui élimine le besoin d'installer, de maintenir et de dimensionner les contrôleurs Argo CD et leurs dépendances vis-à-vis de vos clusters.

Comment fonctionne Argo CD

Argo CD suit le GitOps modèle selon lequel la source de votre application (dépôt Git, registre Helm ou image OCI) est la source fiable pour définir l'état souhaité de l'application. Lorsque vous créez une Application ressource Argo CD, vous spécifiez la source contenant les manifestes de votre application ainsi que le cluster et l'espace de noms Kubernetes cibles. Argo CD surveille en permanence l'état source et l'état réel du cluster, synchronisant automatiquement les modifications pour s'assurer que l'état du cluster correspond à l'état souhaité.

Note

Grâce à la fonctionnalité EKS pour Argo CD, le logiciel Argo CD s'exécute dans le plan de AWS contrôle, et non sur vos nœuds de travail. Cela signifie que vos nœuds de travail n'ont pas besoin d'un accès direct aux référentiels Git ou aux registres Helm : la fonctionnalité gère l'accès aux sources depuis le compte. AWS

Argo CD fournit trois types de ressources principaux :

  • Application : définit un déploiement depuis un dépôt Git vers un cluster cible

  • ApplicationSet: Génère plusieurs applications à partir de modèles pour les déploiements multi-clusters

  • AppProject: fournit un regroupement logique et un contrôle d'accès pour les applications

Exemple : création d'une application Argo CD

L'exemple suivant montre comment créer une Application ressource Argo CD :

apiVersion: argoproj.io/v1alpha1 kind: Application metadata: name: guestbook namespace: argocd spec: project: default source: repoURL: https://github.com/argoproj/argocd-example-apps.git targetRevision: HEAD path: guestbook destination: name: my-cluster namespace: guestbook syncPolicy: automated: prune: true selfHeal: true

Avantages d'Argo CD

Argo CD implémente un GitOps flux de travail dans lequel vous définissez les configurations de vos applications dans les référentiels Git et Argo CD synchronise automatiquement vos applications pour qu'elles correspondent à l'état souhaité. Cette approche centrée sur le GIT fournit une piste d'audit complète de toutes les modifications, permet des annulations faciles et s'intègre naturellement à vos processus de révision et d'approbation de code existants. Argo CD détecte et réconcilie automatiquement la dérive entre l'état souhaité dans Git et l'état réel dans vos clusters, garantissant ainsi la cohérence de vos déploiements avec votre configuration déclarée.

Avec Argo CD, vous pouvez déployer et gérer des applications sur plusieurs clusters à partir d'une seule instance Argo CD, ce qui simplifie les opérations dans les environnements multiclusters et multirégions. L'interface utilisateur d'Argo CD fournit des fonctionnalités de visualisation et de surveillance, vous permettant de visualiser l'état de déploiement, l'état de santé et l'historique de vos applications. L'interface utilisateur s'intègre à AWS Identity Center (anciennement AWS SSO) pour une authentification et une autorisation fluides, vous permettant de contrôler l'accès à l'aide de votre infrastructure de gestion des identités existante.

Dans le cadre des fonctionnalités gérées par EKS, Argo CD est entièrement géré par AWS, ce qui élimine le besoin d'installer, de configurer et de maintenir l'infrastructure Argo CD. AWS gère le dimensionnement, l'application de correctifs et la gestion opérationnelle, permettant à vos équipes de se concentrer sur la livraison des applications plutôt que sur la maintenance des outils.

Intégration à AWS Identity Center

EKS Managed Capabilities assure une intégration directe entre Argo CD et AWS Identity Center, permettant ainsi une authentification et une autorisation fluides pour vos utilisateurs. Lorsque vous activez la fonctionnalité Argo CD, vous pouvez configurer l'intégration AWS d'Identity Center pour mapper les groupes et les utilisateurs d'Identity Center aux rôles RBAC d'Argo CD, ce qui vous permet de contrôler qui peut accéder aux applications dans Argo CD et les gérer.

Intégration avec d'autres fonctionnalités gérées par EKS

Argo CD s'intègre aux autres fonctionnalités gérées par EKS.

  • AWS Contrôleurs pour Kubernetes (ACK) : utilisez Argo CD pour gérer le déploiement des ressources ACK sur plusieurs clusters, en activant les GitOps flux de travail pour votre infrastructure. AWS

  • kro (Kube Resource Orchestrator) : utilisez Argo CD pour déployer des compositions kro sur plusieurs clusters, permettant ainsi une composition cohérente des ressources dans l'ensemble de votre parc Kubernetes.

Commencer à utiliser Argo CD

Pour commencer à utiliser la fonctionnalité EKS pour Argo CD :

  1. Créez et configurez un rôle de capacité IAM avec les autorisations nécessaires pour qu'Argo CD puisse accéder à vos référentiels Git et gérer les applications.

  2. Créez une ressource de capacité Argo CD sur votre cluster EKS via la AWS console, la AWS CLI ou votre infrastructure préférée en tant qu'outil de code.

  3. Configurez l'accès au référentiel et enregistrez les clusters pour le déploiement des applications.

  4. Créez des ressources d'application pour déployer vos applications à partir de référentiels Git.