Kubernetes (également appelé K8s) permet une gestion efficace de grands ensembles de conteneurs et automatise de nombreux processus dans le développement logiciel. En seulement quelques étapes, il est possible d’installer un cluster Kubernetes performant et fonctionnel.

Managed Kubernetes de IONOS Cloud
Orchestrez vos charges de travail en toute sécurité

Managed Kubernetes est la plateforme idéale pour des applications de conteneurs performantes et hautement évolutives.

Étape 1 : préparer le système

Dans ce tutoriel, nous prenons comme exemple une installation Kubernetes sous Ubuntu.

Pour commencer, assurez-vous que le système est prêt. Pour cela, ouvrez le terminal et effectuez d’abord une mise à jour du système pour vérifier que tous les paquets sont à jour :

sudo apt update && sudo apt upgrade -y
bash

Ensuite, installez les principaux utilitaires nécessaires pour l’installation de Kubernetes et Minikube. Utilisez alors la commande suivante :

sudo apt install -y curl wget ca-certificates gnupg lsb-release
bash

Ces outils vous assurent une utilisation sécurisée de sources externes ainsi que le téléchargement et l’installation sans difficulté d’autres paquets logiciels.

Étape 2 : installer kubectl

Kubernetes repose sur deux types de serveurs : le nœud de contrôle (control plane) et les nœuds de travail (workers). Ceux-ci n’ont pas forcément besoin d’être installés sur des machines physiques distinctes. Grâce aux machines virtuelles, il est possible d’exécuter plusieurs nœuds Kubernetes sur un seul ordinateur. Pour les tests, l’outil gratuit Minikube s’avère particulièrement pratique, car il permet de travailler localement avec Kubernetes. Comme Minikube nécessite une machine virtuelle ou Docker, il dépend donc d’un hyperviseur ou d’un logiciel de conteneur. L’outil kubectl est également requis.

Note

Dans ce tutoriel, nous vous présentons les bases de Kubernetes avec Docker. Vous pouvez toutefois réaliser la même opération à l’aide d’un logiciel de virtualisation comme VirtualBox.

Tout d’abord, installez kubectl (CLI Kubernetes) sur votre système. Ce programme est nécessaire pour gérer les clusters.

curl -LO "https://dl.k8s.io/release/$(curl -Ls https://dl.k8s.io/release/stable.txt)/bin/linux/arm64/kubectl"
chmod +x kubectl
sudo mv kubectl /usr/local/bin/
bash
Note

Les commandes d’installation dépendent de votre architecture système.

Étape 3 : installer Docker

Avant d’utiliser Minikube, assurez-vous que Docker est installé sur votre système. En tant que runtime de conteneur, Docker permet à Minikube d’exécuter des cluster Kubernetes sans avoir recours à un logiciel de virtualisation. Installez Docker avec la commande suivante :

sudo apt install -y docker.io
bash

Pour utiliser Docker sans droits root, ajoutez votre compte utilisateur au groupe Docker :

sudo usermod -aG docker $USER
newgrp docker
bash

Vous devrez éventuellement vous déconnecter puis vous reconnecter afin que la modification soit prise en compte. Vérifiez ensuite l’installation avec la commande suivante :

docker run hello-world
bash

Si un court message de confirmation s’affiche, cela signifie que Docker est correctement installé et prêt à être utilisé avec Minikube.

Étape 4 : installer et démarrer Minikube

À l’étape suivante, installez Minikube dans une version compatible et configurez Docker comme pilote. Téléchargez d’abord la version adaptée de Minikube, rendez le fichier exécutable, puis déplacez-le dans un répertoire système afin que la commande soit disponible partout :

curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-arm64
chmod +x minikube-linux-arm64
sudo mv minikube-linux-arm64 /usr/local/bin/minikube
bash

Après l’installation, vous pouvez vérifier que Minikube est correctement configuré avec la commande suivante :

minikube version
bash

Ensuite, démarrez Minikube avec la commande suivante :

minikube start --driver=docker
bash

Dans ce scénario, Minikube utilise Docker comme runtime de conteneur et crée le cluster Kubernetes directement dans l’environnement Docker. Lors du démarrage, kubectl devrait être configuré automatiquement. Pour passer de la ligne de commande à une interface graphique (GUI), exécutez la commande supplémentaire suivante :

minikube dashboard
bash

Le tableau de bord s’ouvre alors dans votre navigateur par défaut.

Image: Tableau de bord Kubernetes
Le tableau de bord Kubernetes s’ouvre alors dans le navigateur, comme illustré ci-dessous avec un tableau de bord encore vide.
Compute Engine
La solution IaaS idéale pour gérer vos charges de travail
  • vCPU aux coûts avantageux et cœurs dédiés performants
  • Sans engagement pour plus de flexibilité
  • Assistance par des experts 24h/24 et 7j/7 incluse

Étape 5 : utiliser Kubernetes

Au démarrage de Minikube, un cluster avec un seul nœud est créé automatiquement. Vous pouvez le vérifier à l’aide d’une commande kubectl :

kubectl get nodes
bash

Depuis le tableau de bord, vous pouvez désormais créer des déploiements. Cliquez sur le bouton « Create » (en haut à droite) pour ouvrir l’éditeur Web. Dans les formats JSON ou YAML, vous pouvez y définir un déploiement. Une fois créé, Kubernetes génère automatiquement plusieurs pods. Vous pouvez ensuite ajuster le nombre de pods souhaité en mettant à l’échelle le déploiement. Cette option est accessible via le bouton à trois points situé à côté du déploiement.

Image: Tableau de bord Kubernetes avec un déploiement et trois pods
Le tableau de bord Kubernetes affiche ici un déploiement actif accompagné de trois pods.
Image: Mise à l’échelle d’un déploiement dans Kubernetes
L’exemple ci-dessous illustre la mise à l’échelle d’un déploiement dans le tableau de bord Kubernetes.

Vous pouvez aussi créer des déploiements directement depuis le terminal. Pour cela, le contenu doit au préalable être intégré dans une image Docker et avoir été déposé dans un registre.

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

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

Quels sont les déploiements existants ?

kubectl get deployments
bash

Combien y a-t-il de pods ?

kubectl get pods
bash

Quels services sont disponibles ?

kubectl get services
bash

Quels nœuds sont actifs ?

kubectl get nodes
bash
Image: Terminal avec différentes commandes et sorties Kubernetes
L’exemple ci-dessus montre l’exécution de différentes commandes Kubernetes dans le terminal et leurs résultats.

Étape 6 : publier le déploiement

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
bash

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
bash

Il est alors possible de lancer le service avec Minikube :

minikube service test-deployment
bash

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

kubectl delete service test-deployment
bash

De plus, il est possible de supprimer le déploiement :

kubectl delete deployment test-deployment
bash

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

minikube stop
bash

Si vous ne souhaitez plus utiliser la machine virtuelle ou le runtime de conteneur, vous pouvez le supprimer.

minikube delete
bash

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.

Cet article vous a-t-il été utile ?
Aller au menu principal