Un voyage concis en DevOps : GitOps sur Azure avec ArgoCD

29 Avril 2025

Azure DevOps GitOps

🚀 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 :