Loading search data...

Installer kubernetes sur Windows

Publié le : 12 octobre 2021 | Mis à jour le : 22 janvier 2023

logo kubernetes

Depuis l’annonce de la fin de la gratuité de Docker Desktop pour les entreprises, je cherche une solution pour le remplacer. Et pour le moment je ne trouve pas mon bonheur, et oui je dois construire des images à base de Windows.

Pour ceux qui sont à la recherche d’une implémentation de kubernetes sur un poste de développement pour construire des solutions à base de Linux, Minikube est une belle solution. Il peut facilement servir de base pour une formation à kubernetes.

Minikube utilise hyper-v ou wls2 comme hyperviseur et donc une mini distribution dédiée pour faire tourner le cluster kubernetes. Ma préférence va à la solution hyper-v, car bien plus performante que celle de wsl2 et surtout moins de contraintes (ipv6, virtualisation imbriquée, …).

Installation de minikube sur Windows

Le plus simple est d’utilisé chocolatey. Dans une fenêtre powershell ouverte avec les droits admin tapez la commande suivante :

choco install -y minikube

Si vous n’avez pas activé hyper-v dans la même fenêtre powershell admin :

Get-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V

S’il est installé, mais désactivé :

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All

Une fois installée attention à ne pas démarrer votre minikube dans la même fenêtre powershell. En effet, pas besoin des droits admin pour démarrer l’instance minikube. Si WSL2 est activé il l’utilisera sinon il tentera alors sous hyper-v. On peut forcer le choix en ajoutant à la fin de la commande --driver=hyperv

minikube start --driver=hyperv
👍  Starting control plane node minikube in cluster minikube
🐳  Preparing Kubernetes v1.19.2 on Docker 19.03.12 ...
🔎  Verifying Kubernetes components...
🌟  Enabled addons: default-storageclass, storage-provisioner
🏄  Done! kubectl is now configured to use "minikube" by default

Ensuite il est possible d’utiliser la classique commande kubectl pour manager votre cluster

kubectl get namespace -o yaml
kubectl get nodes o wide

Pour réinitialiser le cluster le plus simple est de le détruire.

minikube delete
🔥  Deleting "minikube" ...
💀  Removed all traces of the "minikube" cluster.

Construire des images docker

Il est possible d'utiliser les ressources du cluster pour construire des images Docker. Pour cela il faut installer la cli de docker, le lien étant difficile à trouver le voici : https://download.docker.com/win/static/stable/x86_64/

Je vous conseille de l’installer dans le même répertoire que minikube: C:\Program Files\Kubernetes\Minikube

Dans une fenêtre powershell il faut activer l’environnement docker :

minikube -p minikube docker-env | Invoke-Expression

A partir de là, vous pouvez lancer les commandes classiques de docker:

docker images
docker build -t bandit:1.7.0 .
docker run -it alpine:3.14 sh

Mais attention il est seulement possible de faire tourner des images avec un noyau Linux. Et c’est là que ça coince pour moi.

Mais voilà en regardant dans le zip on trouve quoi dockerd. Je ferais un billet.

Mots clés :

devops tutorials kubernetes ci-cd

Si vous avez apprécié cet article de blog, vous pouvez m'encourager à produire plus de contenu en m'offrant un café sur  Ko-Fi. Vous pouvez aussi passer votre prochaine commande sur amazon, sans que cela ne vous coûte plus cher, via  ce lien . Vous pouvez aussi partager le lien sur twitter ou Linkedin via les boutons ci-dessous. Je vous remercie pour votre soutien.

Autres Articles


Commentaires: