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.
Argo CD
Argo CD est un outil de diffusion GitOps continue (CD) largement utilisé pour Kubernetes qui respecte plusieurs principes clés. GitOps
GitOps soutien
| Area | Capacités des outils |
|---|---|
Configuration déclarative |
Argo CD utilise des configurations déclaratives stockées dans des référentiels Git. L'état souhaité de l'application et de l'infrastructure est défini dans les fichiers YAML. Ces configurations décrivent ce qui doit être déployé, et non comment le déployer. |
Le système de contrôle de version en tant que source unique de vérité |
Les référentiels Git constituent la source unique de vérité pour l'ensemble du système. Toutes les modifications apportées à l'application et à l'infrastructure sont effectuées via Git. Cela garantit une piste d'audit complète et la possibilité de revenir à n'importe quel état précédent. |
Synchronisation automatisée |
Argo CD surveille en permanence les modifications apportées au dépôt Git. Lorsque des modifications sont détectées, il synchronise automatiquement l'état réel du cluster avec l'état souhaité défini dans Git. Cela garantit que le cluster reflète toujours l'état décrit dans le référentiel. |
Natif de Kubernetes |
Argo CD est spécialement conçu pour les environnements Kubernetes. Il tire parti de la nature déclarative et des ressources personnalisées de Kubernetes pour gérer les applications. |
Auto-guérison et détection de dérive |
Argo CD compare régulièrement l'état réel du cluster avec l'état souhaité dans Git. S'il détecte une dérive (différences entre l'état réel et l'état souhaité), il peut corriger automatiquement ces écarts. |
Support multi-clusters et multi-locataires |
Argo CD peut gérer plusieurs clusters Kubernetes à partir d'une seule instance. Il prend en charge la mutualisation, ce qui permet aux différentes équipes de gérer leurs applications de manière indépendante. |
Définition de l'application |
Les applications d'Argo CD sont définies à l'aide du CRD d'application (définition de ressource personnalisée). Cela permet de définir de manière native à Kubernetes ce qui doit être déployé et comment. |
Séparation du déploiement et de la publication |
Argo CD sépare le déploiement du code de sa mise à disposition des utilisateurs. Ceci est réalisé grâce à diverses stratégies de déploiement telles que les blue/green déploiements Canary. |
Observabilité et auditabilité |
Argo CD fournit une interface utilisateur Web et une CLI pour observer l'état des applications et des clusters. Toutes les actions sont enregistrées afin de fournir une piste d'audit claire des modifications et des déploiements. |
Sécurité et RBAC |
Argo CD s'intègre au contrôle d'accès basé sur les rôles (RBAC) de Kubernetes. Il prend en charge l'intégration de l'authentification unique pour l'authentification et l'autorisation. |
Architecture enfichable |
Argo CD prend en charge divers systèmes de gestion de contrôle de source, les graphiques Helm, Kustomize et d'autres formats de manifeste Kubernetes. Cette flexibilité lui permet de s'adapter à divers environnements et flux de travail. |
Livraison continue (CD) |
Bien qu'Argo CD se concentre sur la livraison continue, il peut être intégré à des outils d'intégration continue (CI) pour créer un CI/CD pipeline complet. |
En respectant ces GitOps principes, Argo CD fournit un moyen robuste, évolutif et sécurisé de gérer les déploiements Kubernetes. Il garantit que l'état opérationnel de votre système est toujours synchronisé avec l'état souhaité défini dans votre référentiel Git, et favorise la cohérence, la fiabilité et la facilité de gestion dans les environnements Kubernetes complexes.
Pour les scénarios et les exigences auxquels Argo CD peut répondre, voir les cas d'utilisation d'Argo CD plus loin dans ce guide. Pour une comparaison entre Argo CD et Flux, voir Comparaison des fonctionnalités plus loin dans ce guide.
Pour plus d'informations, consultez la documentation du CD Argo
Architecture
Le schéma suivant illustre un flux de travail CD GitOps piloté qui utilise Argo CD au sein d'un cluster EKS. Pour des informations détaillées, consultez la documentation du CD Argo
où :
-
Étape 1 : fusion par pull request (PR). Un développeur valide les modifications apportées aux manifestes Kubernetes ou aux graphiques Helm stockés dans un référentiel Git. Lorsque le PR a été révisé et fusionné dans la branche principale, l'état souhaité de l'application est mis à jour dans le contrôle de source.
-
Étape 2 : synchronisation du référentiel. Argo CD s'exécute dans un espace de noms dédié (
argocd) du cluster EKS et surveille en permanence le référentiel Git configuré. Lorsqu'il détecte des modifications, il extrait les dernières mises à jour pour réconcilier l'état déclaré. -
Étape 3 : Déploiement vers l'espace de noms cible Argo CD compare l'état souhaité dans Git avec l'état actif du cluster. Il applique ensuite les modifications nécessaires à l'espace de noms de charge de travail cible afin que l'application soit déployée ou mise à jour en conséquence. Cela inclut la gestion des ressources Kubernetes telles que les déploiements, les services et les secrets afin de maintenir la cohérence du cluster avec la source de vérité Git. ConfigMaps