Argo CD Argo CD

Gérer les applications avec la CLI Argo CD

Connectez-vous, créez, inspectez, comparez, synchronisez et annulez des applications depuis le terminal.

10 min Débutant

Tout ce que fait l’interface web est aussi disponible via la CLI argocd, que vous utiliserez dans des scripts et quand vous voulez prévisualiser un changement avant de l’appliquer. Ce guide suppose qu’Argo CD est installé et que le port-forward du guide d’installation est en cours d’exécution.

Installer la CLI et se connecter

Installez la CLI (brew install argocd sous macOS, ou téléchargez un binaire depuis la page des releases) et vérifiez qu’elle fonctionne :

argocd version --client

Connectez-vous à l’API server via le port-forward. --insecure ignore la vérification du certificat auto-signé, ce qui est acceptable en local mais pas pour une vraie installation :

argocd login localhost:8080 --username admin --password '<initial-password>' --insecure

Lancez argocd --help pour lister les commandes. L’essentiel de votre travail quotidien se trouve sous argocd app.

Créer et inspecter des applications

Créez une application à partir d’options plutôt que d’un manifeste :

argocd app create webapp-prod \
  --repo https://github.com/your-org/webapp-config.git \
  --path prod \
  --dest-server https://kubernetes.default.svc \
  --dest-namespace webapp-prod \
  --sync-option CreateNamespace=true

Si vous ne définissez pas de sync policy, l’application est manuelle. Regardez ensuite ce qui existe :

argocd app list
argocd app get webapp-prod

list affiche chaque application avec son cluster, son namespace, son projet, son statut de synchronisation, sa santé et sa sync policy. get affiche les détails d’une application et ses ressources.

Prévisualiser et synchroniser

Une application manuelle fraîchement créée signale OutOfSync et Missing, car rien n’a encore été appliqué. Avant de synchroniser, vous pouvez voir exactement ce qui changerait :

argocd app diff webapp-prod
argocd app sync webapp-prod
argocd app wait webapp-prod --health

Si une synchronisation échoue, l’erreur est affichée pour vous. Un cas courant est un namespace de destination qui n’existe pas encore. C’est à cela que sert l’option CreateNamespace=true ci-dessus. Après avoir fait un changement dans Git, argocd app diff est un moyen rapide de le relire avant de synchroniser, et il montre les mêmes informations que la vue App Diff de l’interface.

Consulter l’historique, annuler et lire les logs

argocd app history webapp-prod
argocd app rollback webapp-prod <ID>
argocd app logs webapp-prod

history liste les révisions déployées avec leurs ID. rollback revient à l’une d’elles et, comme expliqué dans le guide sur les sync policies, ne fonctionne que lorsque la synchronisation automatisée est désactivée. logs diffuse les logs des Pods de l’application, ce qui est pratique pour un premier coup d’œil à un déploiement.

Modifier les paramètres et nettoyer

Mettez à jour les paramètres d’une application sans éditer de YAML :

argocd app set webapp-prod --sync-policy automated --auto-prune --self-heal

Lancez argocd app set --help pour voir tout ce que vous pouvez modifier. Quand vous en avez fini avec une application, supprimez-la :

argocd app delete webapp-prod

Par défaut, cela supprime aussi les ressources créées par l’application, ce qui peut prendre une minute. Lancez ensuite argocd app list pour confirmer qu’elle a disparu.

Guides populaires