Déploiement de la VotingApp
Dans cette partie, vous allez déployer la VotingApp dans le cluster que vous venez de mettre en place.
- Récupération des manifests
Commencez par cloner le répository GitHub qui content les specifications des resources.
git clone https://gitlab.com/voting-application/devops.git
cd manifests/databases- Création des resources
Depuis un shell dans lequel vous avez configuré kubectl, lancez la commande suivante afin de créer les resources Kubernetes utilsées pour définir les composants de l’application.
kubectl apply -f .- Accès à l’application
Les manifests que vous avez créés permettent d’exposer l’application via un Service de type NodePort. C’est à dire que les interfaces de vote et de result sont accessible en utilisant l’adresse IP de l’un des workers, et les ports 31000 et 31001.
Pour connaitre les IP externes des Nodes du cluster, vous pouvez lister ces Nodes depuis le portail Exoscale, ou bien utiliser la commande suivante:
$ kubectl get no -o wide
NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME
pool-b1553-hgwyg Ready <none> 84m v1.34.0 91.92.202.148 91.92.202.148 Ubuntu 24.04.3 LTS 6.8.0-79-generic containerd://2.1.4
pool-b1553-ouvgo Ready <none> 84m v1.34.0 91.92.203.61 91.92.203.61 Ubuntu 24.04.3 LTS 6.8.0-79-generic containerd://2.1.4Dans cet exemple, nous pouvons alors accéder à l’interface de vote depuis http://91.92.202.148:31000, et à l’interface de results depuis http://91.92.202.148:31001


Déployer une application à partir de manifests, comme nous l’avons fait ci-dessus, n’est pas très configurable ni dynamique. En effet, à chaque nouvelle version d’un microservice il est nécessaire de modifier la spécification correspondante. Dans la section suivante, nous allons présenter les technologies les plus utilisées pour facilité le déploiement d’une application.
- Suppression de l’application
Utilisez la commande suivante afin de supprimer l’ensemble des resources que vous avez créées précedemment.
kubectl delete -f .