Minikube è uno strumento che ti consente di eseguire Kubernetes sul tuo computer locale. Minikube creerà un cluster Kubernetes a nodo singolo all'interno della VM a seconda del vm-driver che usi. Minikube è utile per conoscere Kubernetes, inclusi test, sviluppo o scopi di formazione.
In questo tutorial, ti mostreremo passo dopo passo come creare un cluster Kubernetes a nodo singolo in locale utilizzando Minikube su Manjaro/ArchLinux. Questa guida implementerà il cluster Kubernetes in locale con il driver KVM2 e tratterà un esempio di implementazione del servizio Nginx.
Cosa faremo:
- Installa le dipendenze dei pacchetti
- Installa la macchina Docker e il driver KVM2
- Installa Minikube e Kubectl
- Inizializzazione Kubernetes con Minikube
- Verifica della distribuzione
- Accedi al dashboard di Kubernetes
Passaggio 1:installazione delle dipendenze dei pacchetti
Il primo passo che faremo è installare tutte le dipendenze dei pacchetti, inclusi qemu KVM e dnsmasq.
Installa qemu e dnsmasq usando il comando pacman di seguito.
sudo pacman -Sy libvirt qemu ebtables dnsmasq
Al termine dell'installazione, aggiungi l'utente al gruppo 'libvirt' e ricarica.
sudo usermod -a -G libvirt $(whoami)
newgrp libvirt
Ora avvia i servizi libvirtd e virtlogd e aggiungi quei servizi all'avvio.
sudo systemctl start libvirtd.service
sudo systemctl enable libvirtd.service
sudo systemctl start virtlogd.service
sudo systemctl enable virtlogd.service
I pacchetti e le dipendenze qemu KVM sono stati installati sul sistema.
Passaggio 2:installazione di Docker-Machine e driver KVM2
Minikube utilizza la docker-machine per gestire la VM Kubernetes e per questo è necessario installare "docker-machine-driver-kvm2".
Installa la macchina mobile usando il comando pacman di seguito.
sudo pacman -Sy docker-machine
Ora installa 'docker-machine-driver-kvm2' dal repository AUR usando il comando yaourt.
yaourt -Sy docker-machine-driver-kvm2
Attendi l'installazione.
Fase 3 - Installa Minikube e Kubectl
Per questa guida, installeremo Minikube e kubectl dal repository AUR.
Esegui il comando yaourt di seguito.
yaourt -Sy minikube-bin kubectl-bin
Al termine dell'installazione, controlla la versione Minikube e il comando kubectl.
minikube version
whereis kubectl
kubectl -h
Fase 4 - Inizializzazione di Kubernetes con Minikube
Inizializza il cluster Kubernetes a nodo singolo utilizzando il comando Minikube di seguito.
minikube start --vm-driver kvm2
Il comando scaricherà il file ISO di Minikube e creerà la macchina virtuale KVM sul sistema.
Al termine, otterrai il risultato come di seguito.
Kubernetes è stato installato sul computer locale utilizzando Minikube, verifica eseguendo tutti i comandi seguenti.
minikube status
kubectl cluster-info
kubectl get nodes
Ora vedrai il risultato qui sotto.
Il cluster Kubernetes è attivo e funzionante su un computer locale con indirizzo IP '192.168.39.78', utilizzando Kubernetes v1.10 e un singolo nodo denominato minikube come master del cluster.
Fase 5:verifica delle implementazioni
In questo passaggio, testeremo kubernetes creando una nuova distribuzione per il server web Nginx.
Crea una nuova directory denominata 'project/nginx/' e vai ad essa.
mkdir -p projects/nginx/
cd projects/nginx/
Ora crea un nuovo file yaml per la nostra configurazione di distribuzione.
vim nginx-deployment-service.yaml
E incolla le configurazioni di seguito.
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
Salva ed esci.
Ora crea la distribuzione eseguendo il comando kubectl di seguito.
kubectl create -f nginx-deployment.yaml
Al termine, controlla la distribuzione di Kubernetes.
kubectl get deployments
kubectl describe deployments nginx-deployment
E otterrai 'nginx-deployment' nell'elenco.
Ora controlla il servizio Kubernetes.
kubectl get services
kubectl describe services nginx-service
E vedrai che il "servizio nginx" di NodePort è in esecuzione sulla porta "32274".
Controlla l'IP del cluster Kubernetes e accedi ad esso utilizzando il comando curl.
minikube ip
curl -I http://192.168.39.49:32274/
E riceverai la risposta dal server web Nginx.
Di seguito è riportato il risultato quando accediamo dal browser web.
http://192.168.39.49:32274/
Passaggio 6 - Accedi al dashboard di Kubernetes
Minikube fornisce un comando per accedere alla dashboard Kubernetes in esecuzione all'interno del cluster Minikube.
Esegui il comando seguente.
minikube dashboard
Il comando aprirà la dashboard Kubernetes utilizzando il browser Web predefinito sul sistema.
Di seguito è riportato il dashboard di Kubernetes.
L'installazione di Kubenrnetes sul computer locale Manjaro/Archlinux utilizzando Minikube è stata completata con successo.