Loading search data...

La fin de la gratuité de Docker Desktop

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 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é 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

Si il est installé mais désactivé :

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

Une fois installé 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 la 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 ca coince pour moi.

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


Alimenter un blog comme celui-ci est aussi passionnant que chronophage. En passant votre prochaine commande (n'importe quel autre article) via ce lien, je recevrai une petite commission sans que cela ne vous coûte plus cher. Cela ne me permet pas de gagner ma vie, mais de couvrir les frais inhérents au fonctionnement du site. Merci donc à vous!

Mots clés :

devops, tutorials, kubernetes, ci-cd,

Autres Articles