Un voyage concis en DevOps : GitOps sur Azure avec ArgoCD
29 Avril 2025

đ Jâai rĂ©cemment terminĂ© un projet pratique DevOps utilisant Azure, ArgoCD et GitOps pour dĂ©ployer une application Node.js sur un cluster AKS. Voici mon parcours !
Aperçu du projet
Mon objectif Ă©tait de dĂ©ployer une application Node.js sur Azure Kubernetes Service (AKS), de la gĂ©rer avec ArgoCD en utilisant GitOps, et dâautomatiser les dĂ©ploiements via GitHub Actions. Lâapplication a Ă©tĂ© conteneurisĂ©e, stockĂ©e dans Azure Container Registry (ACR), et dĂ©ployĂ©e avec un chart Helm.
Ătape 1 : Configuration
Jâai créé un cluster AKS (`AiliDevAKS`) et un ACR (`ailidevacr`), mis en place un dĂ©pĂŽt GitHub public (`tesshsu/AzureDev-AppService`), et installĂ© ArgoCD sur AKS.
Ătape 2 : Configuration dâArgoCD
Jâai utilisĂ© le modĂšle App-of-Apps, dĂ©finissant `root-app` et `azuredev-appservice` dans mes manifestes (voir : app-of-apps.yaml). Je lâai appliquĂ© manuellement pour tester.
Défi 1 : Placeholder dans `repoURL`
Le `repoURL` affichait un placeholder (`https://github.com/${{ github.repository }}.git`) car jâai appliquĂ© le fichier manuellement. Je lâai remplacĂ© par `https://github.com/tesshsu/AzureDev-AppService.git`, installĂ© le CLI ArgoCD, et rĂ©appliquĂ© le fichier aprĂšs avoir supprimĂ© les Applications.
DĂ©fi 2 : ProblĂšme dâaccĂšs au dĂ©pĂŽt
Une erreur `ComparisonError` est apparue ("Ă©chec de la liste des refs : authentification requise") car jâavais temporairement rendu le dĂ©pĂŽt privĂ©. Je lâai rendu public Ă nouveau, actualisĂ© dans ArgoCD, et lâerreur a disparu.
Vérification
Lâapplication Ă©tait `Healthy` et `Synced`, accessible Ă `132.220.10.28`. Jâai corrigĂ© un dĂ©calage de rĂ©plicas en mettant `replicaCount` Ă `3` dans le chart Helm.
GitOps en action
- Jâai mis Ă jour lâapplication avec "Hello from GitOps v13 !" et ArgoCD a synchronisĂ©.
- Jâai testĂ© lâauto-rĂ©paration en supprimant un PodâArgoCD lâa recréé.
- Jâai effectuĂ© un rollback vers un commit prĂ©cĂ©dent via lâinterface ArgoCD.
Leçons apprises
- GitOps avec ArgoCD est puissant pour lâautomatisation.
- Assurez un accĂšs constant au dĂ©pĂŽtâles dĂ©pĂŽts privĂ©s nĂ©cessitent des identifiants.
- Lâinterface et le CLI dâArgoCD sont parfaits pour le dĂ©pannage.
Mon projet est une rĂ©ussite ! Jâai acquis une base solide en GitOps et jâai hĂąte de relever dâautres dĂ©fis DevOps. Partagez vos expĂ©riences GitOps ci-dessous !
Hashtags :
Partagez cet article :