Retour au blog

Déploiement d'applications sur Kubernetes avec Argo CD et GitOps

Déploiement d'applications sur Kubernetes avec Argo CD et GitOps

Introduction

Kubernetes est devenu un standard pour le déploiement de grandes applications. Il aide les développeurs à obtenir des avantages significatifs et offre des fonctionnalités qui ne sont pas disponibles dans l'hébergement de serveurs traditionnel. Kubernetes permet une mise à l'échelle horizontale sans les tracas de l'infrastructure. De plus, il réduit le coût d'acquisition et de maintenance de l'infrastructure à mesure que l'application grandit.

Cependant, la gestion des applications sur Kubernetes peut également être complexe et nécessite des compétences avancées. Le déploiement d'applications à l'aide de Kubernetes et du processus d'Intégration continue et de déploiement continu (CI/CD) aide à surmonter ce processus complexe en fournissant une abstraction. GitOps est l'un des outils qui peut aider à réaliser cette abstraction.

Dans ce tutoriel, nous allons vous montrer comment utiliser Argo CD pour intégrer et déployer en continu des applications sur Kubernetes. Chaque fois qu'un changement est poussé vers le dépôt, il est déployé sur le cluster cible. Argo CD fournit également des contrôles de version, des configurations et des environnements d'application en s'intégrant à l'ensemble du cycle de vie du développement logiciel. Si vous disposez de gestionnaires de paquets pour Kubernetes tels que Helm, ou si votre dépôt est hébergé sur BitBucket ou GitLab, Argo CD peut également s'intégrer de manière transparente à toutes ces plateformes.

Prérequis

Pour suivre ce tutoriel, vous devez disposer de :

Étape 1 – Installer Argo CD

Avant de pouvoir installer Argo CD, nous devons disposer d'un environnement Kubernetes en cours d'exécution avec kubectl. Vous pouvez tester cela en exécutant la commande ci-dessous :

Deploying Applications on Kubernetes Using Argo CD and GitOps Get Nodes

Vous devriez voir au moins un nœud Kubernetes en cours d'exécution avec le statut Ready. S'il n'y a aucun nœud disponible, vous devez revérifier votre installation de Kubernetes. Ensuite, nous allons créer un namespace distinct pour notre installation Kubernetes. Appelons-le argocd. Nous conserverons le service lié à Argo CD dans ce namespace :

Après cela, installez les scripts Argo CD dans le namespace nouvellement créé ci-dessus en exécutant la commande ci-dessous :

Deploying Applications on Kubernetes Using Argo CD and GitOps Install ArgoCD

Pour vérifier le statut des pods Kubernetes, exécutez la commande ci-dessous :

Vous obtiendrez un résultat comme ci-dessous :

Deploying Applications on Kubernetes Using Argo CD and GitOps Get Pods

Ici, vous avez terminé avec succès l'installation d'Argo CD. Pour quitter l'interface watch, vous pouvez appuyer sur Ctrl + C. Pour accéder aux services de ce cluster Kubernetes, nous devrons rediriger les ports. Nous allons vous montrer comment faire cela à l'étape suivante.

Étape 2 – Rediriger les ports pour accéder à Argo CD

Kubernetes peut déployer votre application sur n'importe quel port de son choix. Par conséquent, il est nécessaire de rediriger les ports de l'application Kubernetes pour y accéder depuis la machine locale. Argo CD expose un service appelé argocd-server qui utilise le port 443. Le port 443 est le port par défaut pour les services HTTPS et HTTP. Vous pouvez rediriger les ports Kubernetes vers le port de votre choix. Dans notre exemple ci-dessous, nous avons redirigé le port vers 8080. Pour rediriger les ports, exécutez la commande ci-dessous dans le terminal :

Une fois que vous aurez redirigé le port, il sera bloqué afin que les autres services ne puissent pas y accéder. Pour un accès ininterrompu, il est toujours recommandé d'exécuter la commande mentionnée ci-dessus dans un nouveau terminal. Une fois terminé, vous pouvez appuyer sur Ctrl+C pour quitter le processus de redirection de port.

Après avoir redirigé le port, vous pouvez naviguer vers Argo CD en vous rendant sur localhost:8080. Vous serez invité à saisir les identifiants que vous pouvez obtenir à partir de la ligne de commande à l'étape suivante.

Étape 3 – Gérer Argo CD depuis la ligne de commande

Nous devons installer l'interface de ligne de commande Argo CD pour gérer l'installation d'Argo CD. La méthode recommandée pour installer Argo CD est d'utiliser un gestionnaire de paquets tel que Homebrew. Homebrew est un gestionnaire de paquets populaire pour une installation sur macOS et Linux. Vous pouvez installer Homebrew à l'aide de la commande ci-dessous :

Vous devriez avoir brew installé sur votre machine. Une invite de mot de passe peut apparaître pour la connexion. Vous pouvez l'exécuter en lançant la commande ci-dessous :

Vous obtiendrez la commande argocd après l'installation ci-dessus. Nous devrons récupérer le mot de passe administrateur à l'aide de la commande kubectl . Il a été généré automatiquement lors de l'installation. Voici la commande pour l'obtenir :

Maintenant que vous avez installé Argo CD, vous pouvez vous connecter en utilisant la commande argocd login ci-dessous :

Vous devrez vous connecter pour déployer l'application lors de l'utilisation de la ligne de commande :

Applications

Il se peut que vous receviez un avertissement de sécurité. Si c'est le cas, appuyez sur y pour continuer. De nombreux utilisateurs souhaiteront peut-être changer le mot de passe une fois connectés. Si c'est le cas, exécutez la commande argocd account update-password pour changer le mot de passe. Nous disposons désormais d'une configuration Argo CD entièrement fonctionnelle.

Enfin, nous allons déployer une application sur le cluster Kubernetes en utilisant l'Argo CD installé.

Étape 4 – Utiliser plusieurs clusters

Avant de poursuivre la configuration de votre application, il est nécessaire de connaître la machine cible sur laquelle vous souhaitez la déployer. Dans de nombreux scénarios, Argo CD et l'application déployée peuvent s'exécuter sur le même cluster. C'est le comportement par défaut d'Argo CD, mais ce n'est pas une limitation. Si vous souhaitez déployer l'application sur d'autres machines cibles, exécutez d'abord la commande kubectl config sur votre machine :

Supposons que vous obteniez deux clusters : test-deploy-cluster et test-target-cluster. Maintenant, si le test-deploy-cluster est l'endroit où se trouve votre Argo CD et que vous souhaitez déployer sur test-target-cluster, exécutez alors la commande ci-dessous :

La commande ci-dessus ajoutera les détails du cluster supplémentaire sur Argo CD. Elle permettra également de déployer des services sur le cluster cible d'Argo CD.

Étape 5 – Déployer un exemple d'application

Il est enfin temps de déployer des applications sur le cluster Kubernetes. Nous utiliserons les exemples d'applications fournis par Argo CD. Nous utiliserons également le helm-guestbook qui est construit à l'aide de Helm charts.

Pour installer l'application, nous utiliserons la commande argo app create . Nous spécifierons le dépôt Git, helm-guestbook , et transmettrons votre destination et votre espace de noms par défaut :

Vous pouvez vérifier le statut de l'application nouvellement créée en exécutant la commande argocd app get:

Ne soyez pas surpris si vous voyez OutOfSync statut. Jusqu'à présent, nous avons téléchargé le chart Helm et créé un point d'entrée vers celui-ci pour Argo CD. Cependant, du côté de Kubernetes, aucune ressource ne lui est allouée. Pour synchroniser cette application, exécutez la commande ci-dessous :

Deploying Applications on Kubernetes Using Argo CD and GitOps App Sync

Lorsque vous travaillez avec GitOps, il est toujours nécessaire de synchroniser l'application avec l'amont. Par conséquent, chaque fois qu'un changement se produit dans le dépôt, Argo CD déploie l'application.

Nous avons déployé l'application à l'aide de la ligne de commande Argo CD. Vous pouvez obtenir le même résultat en utilisant l'interface web d'Argo CD. L'interface web est très utile si vous souhaitez vérifier l'état et le fonctionnement de l'application. Pour ouvrir l'interface web, ouvrez localhost:8080:

Deploying Applications on Kubernetes Using Argo CD and GitOps Application UI

Pour vérifier l'installation, nous allons ouvrir l'application dans le navigateur. Notre helm-guestbook fonctionne sur le port 80. Si vous avez une autre application qui utilise le port 80, vous pouvez rediriger le port afin que les autres applications ne soient pas interrompues :

Enfin, ouvrez l'URL localhost:9090 sur votre navigateur web pour voir votre application fonctionner :

 Guestbook UI

Maintenant, si un développeur pousse du code vers le dépôt distant GitHub, ArgoCD le capturera et le répercutera. Vos déploiements ArgoCD seront mis à jour en conséquence, assurant une disponibilité continue.

Conclusion

Dans ce tutoriel, nous vous avons montré comment installer et déployer des applications sur Kubernetes à l'aide d'Argo CD. Il est important de s'assurer que vos déploiements sur Kubernetes sont maintenables. GitOps pourrait grandement vous aider à cet égard.

Kubernetes est désormais la norme pour les déploiements sur le cloud. CloudSigma propose d'excellents tutoriels sur Kubernetes que vous pourrez consulter ensuite :

Bonne informatique !

author

Preslav Dobrev

Auteur · CloudSigma

Preslav Dobrev est un designer créatif chez CloudSigma, axé sur une identité commerciale cohérente à travers des canaux marketing traditionnels et innovants. Il excelle à fusionner la vision artistique avec le marketing stratégique pour créer des récits de marque percutants.

Commentaires

Aucun commentaire pour l'instant. Soyez le premier.