Minikube est un outil gratuit et open source qui vous permet de configurer un cluster Kubernetes à nœud unique dans votre système Linux. Minikube peut être installé sur les systèmes d'exploitation Linux, MacOS et Windows. Minikube prend également en charge diverses fonctionnalités Kubernetes telles que NodePorts, DNS, Container Network Interface, Ingress, ConfigMaps, Secrets et bien plus encore.
Dans ce didacticiel, nous allons apprendre à installer un cluster Minikube Kubernetes à nœud unique sur Ubuntu 18.04 LTS.
Exigences
- Un nouveau bureau Ubuntu 18.04 installé sur votre système.
- Un mot de passe root est configuré sur votre système.
Mise en route
Tout d'abord, vous devrez mettre à jour votre système avec la dernière version. Vous pouvez le faire en exécutant la commande suivante :
apt-get update -y
apt-get upgrade -y
Une fois le système mis à jour, redémarrez votre système pour appliquer toutes les modifications.
Ensuite, installez certains packages requis avec la commande suivante :
apt-get install curl wget apt-transport-https -y
Installer l'hyperviseur VirtualBox
Minikube prend en charge les hyperviseurs KVM et VirtualBox. Vous devrez donc installer VirtualBox ou KVM sur votre système.
Vous pouvez installer Virtualbox avec la commande suivante :
apt-get install virtualbox virtualbox-ext-pack
Une fois l'installation terminée, vous pouvez passer à l'étape suivante.
Installer Minikube
Tout d'abord, vous devrez télécharger la dernière version de Minikube sur votre système. Vous pouvez le télécharger depuis leurs sites officiels avec la commande suivante :
wget https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
Une fois le téléchargement terminé, copiez le fichier téléchargé sous /usr/local/bin avec la commande suivante :
cp minikube-linux-amd64 /usr/local/bin/minikube
Ensuite, donnez l'autorisation d'exécution au minikube avec la commande suivante :
chmod 755 /usr/local/bin/minikube
Ensuite, vérifiez la version de Minikube avec la commande suivante :
minikube version
Vous devriez voir le résultat suivant :
minikube version: v0.34.1
Installer Kubectl
Kubectl est un outil pour déployer et gérer des applications sur Kubernetes. Par défaut, Kubectl n'est pas disponible dans le référentiel par défaut d'Ubuntu 18.04. Vous devrez donc ajouter le référentiel Kubernetes à votre système.
Tout d'abord, téléchargez et ajoutez la clé GPG avec la commande suivante :
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add -
Ensuite, ajoutez le référentiel apt Kubernetes avec la commande suivante :
echo "deb http://apt.kubernetes.io/ kubernetes-xenial main" | tee /etc/apt/sources.list.d/kubernetes.list
Ensuite, mettez à jour le référentiel et installez Kubectl avec la commande suivante :
apt-get update -y
apt-get install kubectl -y
Une fois le Kubectl installé, vous pouvez vérifier la version à l'aide de la commande suivante :
kubectl version -o json
Vous devriez voir le résultat suivant :
{ "clientVersion": { "major": "1", "minor": "13", "gitVersion": "v1.13.4", "gitCommit": "c27b913fddd1a6c480c229191a087698aa92f0b1", "gitTreeState": "clean", "buildDate": "2019-02-28T13:37:52Z", "goVersion": "go1.11.5", "compiler": "gc", "platform": "linux/amd64" } }
Démarrer Minikube
Tous les packages requis sont installés. Vous pouvez maintenant démarrer Minikube avec la commande suivante :
minikube start
Cela téléchargera l'image Virtualbox et configurera le cluster Kubernetes comme indiqué ci-dessous :
o minikube v0.34.1 on linux (amd64) > Creating virtualbox VM (CPUs=2, Memory=2048MB, Disk=20000MB) ... @ Downloading Minikube ISO ... 184.30 MB / 184.30 MB [============================================] 100.00% 0s - "minikube" IP address is 192.168.99.100 - Configuring Docker as the container runtime ... - Preparing Kubernetes environment ... @ Downloading kubeadm v1.13.3 @ Downloading kubelet v1.13.3 - Pulling images required by Kubernetes v1.13.3 ... - Launching Kubernetes v1.13.3 using kubeadm ... - Configuring cluster permissions ... - Verifying component health ..... + kubectl is now configured to use "minikube" = Done! Thank you for using minikube!
Vous pouvez maintenant vérifier l'état du cluster avec la commande suivante :
kubectl cluster-info
Vous devriez voir le résultat suivant :
Kubernetes master is running at https://192.168.99.100:8443 KubeDNS is running at https://192.168.99.100:8443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.
Vous pouvez également vérifier la configuration par défaut de Kubectl avec la commande suivante :
kubectl config view
Vous devriez voir le résultat suivant :
apiVersion: v1 clusters: - cluster: certificate-authority: /root/.minikube/ca.crt server: https://192.168.99.100:8443 name: minikube contexts: - context: cluster: minikube user: minikube name: minikube current-context: minikube kind: Config preferences: {} users: - name: minikube user: client-certificate: /root/.minikube/client.crt client-key: /root/.minikube/client.key
Pour vérifier les nœuds en cours d'exécution, exécutez la commande suivante :
kubectl get nodes
Sortie :
NAME STATUS ROLES AGE VERSION minikube Ready master 2m45s v1.13.3
Vous pouvez également accéder à la Minikube Virtualbox avec la commande suivante :
minikube ssh
Vous devriez voir le résultat suivant :
_ _ _ _ ( ) ( ) ___ ___ (_) ___ (_)| |/') _ _ | |_ __ /' _ ` _ `\| |/' _ `\| || , < ( ) ( )| '_`\ /'__`\ | ( ) ( ) || || ( ) || || |\`\ | (_) || |_) )( ___/ (_) (_) (_)(_)(_) (_)(_)(_) (_)`\___/'(_,__/'`\____) $
Maintenant, quittez le shell Virtualbox :
$exit
Vous pouvez également arrêter et supprimer le cluster Kubernetes à tout moment avec la commande suivante :
minikube stop
minikube delete
Vous pouvez vérifier l'état de Minikube avec la commande suivante :
minikube status
Vous devriez voir le résultat suivant :
host: Running kubelet: Running apiserver: Running kubectl: Correctly Configured: pointing to minikube-vm at 192.168.99.100
Accéder au tableau de bord Kubernetes
Par défaut, Kubernetes est fourni avec un tableau de bord Web qui peut être utilisé pour gérer votre cluster.
Vous pouvez lister tous les addons minikube avec la commande suivante :
minikube addons list
Vous devriez voir le résultat suivant :
- addon-manager: enabled - dashboard: disabled - default-storageclass: enabled - efk: disabled - freshpod: disabled - gvisor: disabled - heapster: disabled - ingress: disabled - logviewer: disabled - metrics-server: disabled - nvidia-driver-installer: disabled - nvidia-gpu-device-plugin: disabled - registry: disabled - registry-creds: disabled - storage-provisioner: enabled - storage-provisioner-gluster: disabled
Ensuite, répertoriez toutes les images de conteneur en cours d'exécution dans le cluster avec la commande suivante :
kubectl get pods --all-namespaces
Vous devriez voir le résultat suivant :
NAMESPACE NAME READY STATUS RESTARTS AGE kube-system coredns-86c58d9df4-76dkf 1/1 Running 0 4m30s kube-system coredns-86c58d9df4-wdtwb 1/1 Running 0 4m29s kube-system etcd-minikube 1/1 Running 0 8m17s kube-system kube-addon-manager-minikube 1/1 Running 0 8m6s kube-system kube-apiserver-minikube 1/1 Running 1 8m13s kube-system kube-controller-manager-minikube 1/1 Running 1 8m13s kube-system kube-proxy-5k8qf 1/1 Running 0 4m33s kube-system kube-scheduler-minikube 1/1 Running 0 8m2s kube-system kubernetes-dashboard-ccc79bfc9-z827s 1/1 Running 0 4m17s kube-system storage-provisioner 1/1 Running 0 4m13s
Maintenant, exécutez la commande suivante pour obtenir l'URL du tableau de bord Kubernate :
minikube dashboard --url
Vous devriez voir le résultat suivant :
- Enabling dashboard ... - Verifying dashboard health ... - Launching proxy ... - Verifying proxy health ... http://127.0.0.1:56508/api/v1/namespaces/kube-system/services/http:kubernetes-dashboard:/proxy/
Votre URL Web Minikube est maintenant générée. Ensuite, ouvrez votre navigateur Web et saisissez l'URL http://127.0.0.1:56508/api/v1/namespaces/kube-system/services/http:kubernetes-dashboard:/proxy/. Vous serez redirigé vers le tableau de bord Kubernate comme indiqué sur la page suivante :
Toutes nos félicitations! vous avez installé avec succès Minikube sur Ubuntu 18.04. Vous pouvez désormais gérer facilement votre cluster Kubernetes via votre navigateur Web.