4.7. Déployer une application Spring Boot avec Argo CD
Avec Argo CD, vous pouvez déployer vos applications sur le cluster OpenShift soit en utilisant le tableau de bord Argo CD, soit en utilisant l'outil oc
.
Conditions préalables
- Red Hat OpenShift GitOps est installé dans votre cluster.
- Connexion à l'instance Argo CD.
4.7.1. Créer une application en utilisant le tableau de bord du CD Argo Copier lienLien copié sur presse-papiers!
Argo CD fournit un tableau de bord qui vous permet de créer des applications.
Cet exemple de flux de travail vous guide dans le processus de configuration d'Argo CD pour synchroniser de manière récursive le contenu du répertoire cluster
avec l'application cluster-configs
. Le répertoire définit les configurations de cluster de la console web d'OpenShift Container Platform qui ajoutent un lien vers Red Hat Developer Blog - Kubernetes sous l'icône de menu
dans la console web, et définit un espace de noms
spring-petclinic
sur le cluster.
Procédure
- Dans le tableau de bord Argo CD, cliquez sur NEW APP pour ajouter une nouvelle application Argo CD.
Pour ce flux de travail, créez une application cluster-configs avec les configurations suivantes :
- Nom de l'application
-
cluster-configs
- Projet
-
default
- Politique de synchronisation
-
Manual
- URL du référentiel
-
https://github.com/redhat-developer/openshift-gitops-getting-started
- Révision
-
HEAD
- Chemin d'accès
-
cluster
- Destination
-
https://kubernetes.default.svc
- Espace de noms
-
spring-petclinic
- Récurrence des répertoires
-
checked
Pour ce flux de travail, créez une application spring-petclinic avec les configurations suivantes :
- Nom de l'application
-
spring-petclinic
- Projet
-
default
- Politique de synchronisation
-
Automatic
- URL du référentiel
-
https://github.com/redhat-developer/openshift-gitops-getting-started
- Révision
-
HEAD
- Chemin d'accès
-
app
- Destination
-
https://kubernetes.default.svc
- Espace de noms
-
spring-petclinic
- Cliquez sur CREATE pour créer votre application.
-
Ouvrez la perspective Administrator de la console web et naviguez vers Administration
Namespaces dans le menu de gauche. -
Recherchez et sélectionnez l'espace de noms, puis entrez
argocd.argoproj.io/managed-by=openshift-gitops
dans le champ Label afin que l'instance d'Argo CD dans l'espace de nomsopenshift-gitops
puisse gérer votre espace de noms.
4.7.2. Création d'une application à l'aide de l'outil oc Copier lienLien copié sur presse-papiers!
Vous pouvez créer des applications Argo CD dans votre terminal en utilisant l'outil oc
.
Procédure
Télécharger l'exemple d'application:
git clone git@github.com:redhat-developer/openshift-gitops-getting-started.git
$ git clone git@github.com:redhat-developer/openshift-gitops-getting-started.git
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Créer l'application :
oc create -f openshift-gitops-getting-started/argo/app.yaml
$ oc create -f openshift-gitops-getting-started/argo/app.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc create -f openshift-gitops-getting-started/argo/app.yaml
$ oc create -f openshift-gitops-getting-started/argo/app.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exécutez la commande
oc get
pour examiner l'application créée :oc get application -n openshift-gitops
$ oc get application -n openshift-gitops
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Ajoutez une étiquette à l'espace de noms dans lequel votre application est déployée afin que l'instance Argo CD dans l'espace de noms
openshift-gitops
puisse la gérer :oc label namespace spring-petclinic argocd.argoproj.io/managed-by=openshift-gitops
$ oc label namespace spring-petclinic argocd.argoproj.io/managed-by=openshift-gitops
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc label namespace spring-petclinic argocd.argoproj.io/managed-by=openshift-gitops
$ oc label namespace spring-petclinic argocd.argoproj.io/managed-by=openshift-gitops
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.7.3. Vérification du comportement d'auto-réparation d'Argo CD Copier lienLien copié sur presse-papiers!
Argo CD surveille en permanence l'état des applications déployées, détecte les différences entre les manifestes spécifiés dans Git et les changements en cours dans le cluster, puis les corrige automatiquement. Ce comportement est appelé "auto-réparation".
Vous pouvez tester et observer le comportement d'auto-guérison dans Argo CD.
Conditions préalables
-
L'exemple d'application
app-spring-petclinic
est déployé et configuré.
Procédure
-
Dans le tableau de bord d'Argo CD, vérifiez que votre application a le statut
Synced
. -
Cliquez sur la tuile
app-spring-petclinic
dans le tableau de bord Argo CD pour afficher les ressources d'application déployées dans le cluster. - Dans la console web de OpenShift Container Platform, naviguez vers la perspective Developer.
Modifier le déploiement de Spring PetClinic et valider les changements dans le répertoire
app/
du dépôt Git. Argo CD déploiera automatiquement les changements sur le cluster.- Forker le dépôt OpenShift GitOps getting started.
-
Dans le fichier
deployment.yaml
, remplacez la valeurfailureThreshold
par5
. Dans le cluster de déploiement, exécutez la commande suivante pour vérifier la valeur modifiée du champ
failureThreshold
:oc edit deployment spring-petclinic -n spring-petclinic
$ oc edit deployment spring-petclinic -n spring-petclinic
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Testez le comportement d'autoréparation en modifiant le déploiement sur le cluster et en l'augmentant à deux pods tout en observant l'application dans la console web d'OpenShift Container Platform.
Exécutez la commande suivante pour modifier le déploiement :
oc scale deployment spring-petclinic --replicas 2 -n spring-petclinic
$ oc scale deployment spring-petclinic --replicas 2 -n spring-petclinic
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Dans la console web d'OpenShift Container Platform, remarquez que le déploiement passe à deux pods et redescend immédiatement à un pod. Argo CD a détecté une différence dans le référentiel Git et a guéri automatiquement l'application sur le cluster OpenShift Container Platform.
-
Dans le tableau de bord Argo CD, cliquez sur la tuile app-spring-petclinic
APP DETAILS EVENTS. L'onglet EVENTS affiche les événements suivants : Argo CD a détecté des ressources de déploiement désynchronisées sur le cluster et a resynchronisé le référentiel Git pour corriger la situation.