Minikube est un outil qui vous permet d'exécuter Kubernetes sur votre système informatique local. Minikube créera un cluster Kubernetes à nœud unique à l'intérieur de la machine virtuelle en fonction du pilote vm que vous utilisez. Minikube est idéal pour en savoir plus sur Kubernetes, notamment à des fins de test, de développement ou de formation.
Dans ce didacticiel, nous allons vous montrer étape par étape comment créer localement un cluster Kubernetes à nœud unique à l'aide de Minikube sur Manjaro/ArchLinux. Ce guide implémentera le cluster Kubernetes localement avec le pilote KVM2 et couvrira un exemple de déploiement de service Nginx.
Ce que nous allons faire :
- Installer les dépendances des packages
- Installer la machine Docker et le pilote KVM2
- Installer Minikube et Kubectl
- Initialisation de Kubernetes avec Minikube
- Tester le déploiement
- Accéder au tableau de bord Kubernetes
Étape 1 - Installer les dépendances des packages
La première étape que nous allons faire est d'installer toutes les dépendances des packages, y compris qemu KVM et dnsmasq.
Installez qemu et dnsmasq en utilisant la commande pacman ci-dessous.
sudo pacman -Sy libvirt qemu ebtables dnsmasq
Lorsque l'installation est terminée, ajoutez l'utilisateur au groupe 'libvirt' et rechargez.
sudo usermod -a -G libvirt $(whoami)
newgrp libvirt
Démarrez maintenant les services libvirtd et virtlogd et ajoutez ces services au démarrage.
sudo systemctl start libvirtd.service
sudo systemctl enable libvirtd.service
sudo systemctl start virtlogd.service
sudo systemctl enable virtlogd.service
Les packages et dépendances qemu KVM ont été installés sur le système.
Étape 2 - Installer Docker-Machine et le pilote KVM2
Minikube utilise la machine docker pour gérer la machine virtuelle Kubernetes, et nous devons installer le "docker-machine-driver-kvm2" pour cela.
Installez la machine docker à l'aide de la commande pacman ci-dessous.
sudo pacman -Sy docker-machine
Installez maintenant le "docker-machine-driver-kvm2" à partir du référentiel AUR à l'aide de la commande yaourt.
yaourt -Sy docker-machine-driver-kvm2
Attendez l'installation.
Étape 3 - Installer Minikube et Kubectl
Pour ce guide, nous allons installer Minikube et kubectl à partir du référentiel AUR.
Exécutez la commande yaourt ci-dessous.
yaourt -Sy minikube-bin kubectl-bin
Une fois l'installation terminée, vérifiez la version de Minikube et la commande kubectl.
minikube version
whereis kubectl
kubectl -h
Étape 4 - Initialisation de Kubernetes avec Minikube
Initialisez le cluster Kubernetes à nœud unique à l'aide de la commande Minikube ci-dessous.
minikube start --vm-driver kvm2
La commande téléchargera le fichier ISO Minikube et créera la machine virtuelle KVM sur le système.
Une fois terminé, vous obtiendrez le résultat ci-dessous.
Kubernetes a été installé sur l'ordinateur local à l'aide de Minikube, vérifiez en exécutant toutes les commandes ci-dessous.
minikube status
kubectl cluster-info
kubectl get nodes
Vous verrez maintenant le résultat ci-dessous.
Le cluster Kubernetes est opérationnel sur un ordinateur local avec l'adresse IP '192.168.39.78', en utilisant Kubernetes v1.10, et un nœud unique nommé minikube en tant que maître du cluster.
Étape 5 - Tester les déploiements
Dans cette étape, nous allons tester les kubernetes en créant un nouveau déploiement pour le serveur Web Nginx.
Créez un nouveau répertoire nommé 'project/nginx/' et allez-y.
mkdir -p projects/nginx/
cd projects/nginx/
Créez maintenant un nouveau fichier yaml pour notre configuration de déploiement.
vim nginx-deployment-service.yaml
Et collez les configurations ci-dessous.
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
labels:
app: nginx
spec:
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.14
ports:
- containerPort: 80
---
apiVersion: v1
kind: Service
metadata:
name: nginx-service
labels:
run: nginx-service
spec:
type: NodePort
ports:
- port: 80
protocol: TCP
selector:
app: nginx
Enregistrez et quittez.
Créez maintenant le déploiement en exécutant la commande kubectl ci-dessous.
kubectl create -f nginx-deployment.yaml
Une fois terminé, vérifiez le déploiement de Kubernetes.
kubectl get deployments
kubectl describe deployments nginx-deployment
Et vous obtiendrez le "nginx-deployment" sur la liste.
Vérifiez maintenant le service Kubernetes.
kubectl get services
kubectl describe services nginx-service
Et vous verrez que le NodePort 'nginx-service' s'exécute sur le port '32274'.
Vérifiez l'adresse IP du cluster Kubernetes et accédez-y à l'aide de la commande curl.
minikube ip
curl -I http://192.168.39.49:32274/
Et vous obtiendrez la réponse du serveur Web Nginx.
Voici le résultat lorsque nous accédons à partir du navigateur Web.
http://192.168.39.49:32274/
Étape 6 - Accéder au tableau de bord Kubernetes
Minikube fournit une commande pour accéder au tableau de bord Kubernetes exécuté dans le cluster Minikube.
Exécutez la commande ci-dessous.
minikube dashboard
La commande ouvrira le tableau de bord Kubernetes à l'aide du navigateur Web par défaut du système.
Vous trouverez ci-dessous le tableau de bord Kubernetes.
L'installation de Kubenrnetes sur l'ordinateur local Manjaro/Archlinux à l'aide de Minikube s'est terminée avec succès.