4.2. Comprendre OpenShift GitOps
4.2.1. À propos de GitOps Copier lienLien copié sur presse-papiers!
GitOps est un moyen déclaratif de mettre en œuvre le déploiement continu pour les applications natives du cloud. Vous pouvez utiliser GitOps pour créer des processus reproductibles pour gérer les clusters et les applications OpenShift Container Platform dans des environnements Kubernetes multi-clusters. GitOps gère et automatise les déploiements complexes à un rythme rapide, ce qui permet de gagner du temps lors des cycles de déploiement et de mise en production.
Le flux de travail de GitOps fait passer une application par les étapes de développement, de test, de mise à l'essai et de production. GitOps déploie une nouvelle application ou met à jour une application existante. Vous n'avez donc qu'à mettre à jour le référentiel, GitOps automatise tout le reste.
GitOps est un ensemble de pratiques qui utilisent les requêtes Git pour gérer les configurations de l'infrastructure et des applications. Dans GitOps, le dépôt Git est la seule source de vérité pour la configuration des systèmes et des applications. Ce dépôt Git contient une description déclarative de l'infrastructure dont vous avez besoin dans votre environnement spécifique et contient un processus automatisé pour faire correspondre votre environnement à l'état décrit. Il contient également l'état complet du système, de sorte que la trace des changements apportés à l'état du système est visible et vérifiable. L'utilisation de GitOps permet de résoudre les problèmes liés à la prolifération des configurations d'infrastructures et d'applications.
GitOps définit l'infrastructure et les applications sous forme de code. Il utilise ensuite ce code pour gérer plusieurs espaces de travail et clusters afin de simplifier la création de configurations d'infrastructures et d'applications. En suivant les principes du code, vous pouvez stocker la configuration des clusters et des applications dans des référentiels Git, puis suivre le flux de travail Git pour appliquer ces référentiels aux clusters de votre choix. Vous pouvez appliquer les principes fondamentaux du développement et de la maintenance de logiciels dans un dépôt Git à la création et à la gestion de vos fichiers de configuration de clusters et d'applications.
4.2.2. À propos de Red Hat OpenShift GitOps Copier lienLien copié sur presse-papiers!
Red Hat OpenShift GitOps assure la cohérence des applications lorsque vous les déployez sur différents clusters dans différents environnements, tels que : développement, staging et production. Red Hat OpenShift GitOps organise le processus de déploiement autour des référentiels de configuration et en fait l'élément central. Il dispose toujours d'au moins deux référentiels :
- Dépôt d'applications avec le code source
- Référentiel de configuration de l'environnement qui définit l'état souhaité de l'application
Ces référentiels contiennent une description déclarative de l'infrastructure dont vous avez besoin dans votre environnement spécifique. Ils contiennent également un processus automatisé permettant de faire correspondre votre environnement à l'état décrit.
Red Hat OpenShift GitOps utilise Argo CD pour maintenir les ressources du cluster. Argo CD est un outil déclaratif open-source pour l'intégration et le déploiement continus (CI/CD) d'applications. Red Hat OpenShift GitOps implémente Argo CD en tant que contrôleur afin qu'il surveille continuellement les définitions et les configurations d'applications définies dans un dépôt Git. Ensuite, Argo CD compare l'état spécifié de ces configurations avec leur état réel sur le cluster.
Argo CD signale toutes les configurations qui s'écartent de l'état spécifié. Ces rapports permettent aux administrateurs de resynchroniser automatiquement ou manuellement les configurations vers l'état défini. Par conséquent, Argo CD vous permet de fournir des ressources globales personnalisées, comme les ressources utilisées pour configurer les clusters OpenShift Container Platform.
4.2.2.1. Caractéristiques principales Copier lienLien copié sur presse-papiers!
Red Hat OpenShift GitOps vous aide à automatiser les tâches suivantes :
- Veiller à ce que les grappes aient des états similaires pour la configuration, la surveillance et le stockage
- Appliquer ou inverser les changements de configuration à plusieurs clusters OpenShift Container Platform
- Associer une configuration modèle à différents environnements
- Promouvoir les applications sur l'ensemble des clusters, de la phase d'essai à la production