Tutoriel Kubernetes : les premiers pas

Le logiciel Kubernetes vous permet de gérer de grandes quantités de conteneurs et simplifie votre travail grâce à de nombreux automatismes. Kubernetes, également connu sous le nom de K8s, a ainsi suscité une petite révolution dans le domaine du développement logiciel. Afin de vous permettre de profiter de ses fonctionnalités, nous vous accompagnons dans les principales étapes de son utilisation : de l’installation à la création de votre premier cluster.

Kubernetes : débuts et installation

Kubernetes travaille avec différents serveurs : maître et nodes. Ces serveurs ne doivent pas nécessairement se situer sur des serveurs physiques distincts. Les machines virtuelles permettent en effet d’activer plusieurs nœuds Kubernetes sur un même ordinateur. Pour la réalisation des tests, le programme libre Minikube a fait ses preuves et permet également de travailler localement avec Kubernetes. Minikube créant une machine virtuelle, le programme repose alors sur un hyperviseur. C’est pourquoi vous devrez également installer un programme tel que VirtualBox pour l’utiliser. Enfin, vous aurez également besoin de l’outil Kube Control.

Note

Ce tutoriel Kubernetes vous présente les étapes d’installation sous Ubuntu, mais Kubernetes peut aussi fonctionner sous Windows ou macOS. La notice officielle propose également des solutions à cet effet.

Installer Kube Control

Pour commencer, installez Kubectl sur votre système. Ce programme vous servira à gérer les clusters.

curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl

Minikube

À présent, installez Minikube, qui crée une machine virtuelle en tant que node.

curl -Lo minikube https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 \
 && chmod +x minikube

Lancez ensuite Minikube.

minikube start

Au lancement de Minikube, la configuration de Kubectl doit avoir été automatiquement effectuée. Afin de basculer de l’invite de commande à une IGU, vous devez saisir une autre commande qui ouvre le tableau de bord dans un navigateur standard.

minikube dashboard
Conseil

Si dans un premier temps, vous souhaitez faire l’impasse sur l’installation de Kubernetes sur votre système, vous pouvez également accéder à un terminal Web du développeur. Vous pourrez y apprendre à maîtriser les bases de Kubernetes en suivant un tutoriel interactif.

Utilisation de Kubernetes

Au lancement de Minikube, le programme a déjà créé automatiquement un cluster avec un node unique. Vous pouvez le vérifier en adressant une requête à Kubectl :

kubectl get nodes

Le tableau de bord vous permet à présent de créer des déploiements. Cliquez sur le bouton Create (en haut à droite) pour accéder à un éditeur Web. Vous avez ici la possibilité de créer un déploiement au format JSON ou YAML. Une fois la création terminée, Kubernetes génère automatiquement plusieurs pods. Vous pouvez adapter le nombre de pods souhaités via une mise à l’échelle du déploiement. Vous trouverez la fonctionnalité correspondante en cliquant sur le bouton représentant trois points à côté du déploiement.

Vous pouvez également générer des déploiements via le terminal. Pour ce faire, vous devez toutefois avoir déjà intégré les contenus dans une image Docker déposée dans un dépôt.

kubectl create deployment --image=[chemin vers l’image]

De nombreuses informations peuvent être obtenues via des commandes saisies dans l’invite de commandes.

Déploiements existants :

kubectl get deployments

Nombre de pods existants :

kubectl get pods

Services disponibles :

kubectl get services

Nodes actifs :

kubectl get nodes

Jusqu’à présent, vous avez simplement démarré votre déploiement, mais vous ne l’avez pas encore publié. La publication est déclenchée en créant un service :

Jusqu’à présent, vous avez simplement démarré votre déploiement, mais vous ne l’avez pas encore publié. La publication est déclenchée en créant un service :

kubectl expose deploy test-deployment

Cette méthode permet cependant uniquement de publier le service au sein du cluster. Pour pouvoir accéder au déploiement en dehors du cluster, il est nécessaire d’ajouter des flags supplémentaires :

kubectl expose deploy test-deployment --type=LoadBalancer --port=8080

Il est alors possible de lancer le service avec Minikube :

minikube service test-deployment

Si vous souhaitez supprimer le service, vous pouvez utiliser la commande correspondante :

kubectl delete service test-deployment

Il est également possible de supprimer le déploiement :

kubectl delete deployment test-deployment

Pour finir, il suffit d’arrêter le processus pour fermer Minikube :

minikube stop

Si vous ne souhaitez plus travailler avec cette machine virtuelle, vous pouvez également la supprimer.

minikube delete

Les réglages effectués et les déploiements créés seront alors également supprimés. Si vous relancez Minikube, vous travaillerez alors avec un cluster vide.