Minikube ist ein Tool, mit dem Sie Kubernetes auf Ihrem lokalen Computersystem ausführen können. Minikube erstellt abhängig vom verwendeten VM-Treiber einen Kubernetes-Cluster mit einem einzelnen Knoten innerhalb der VM. Minikube eignet sich gut zum Kennenlernen von Kubernetes, einschließlich Test-, Entwicklungs- oder Schulungszwecken.
In diesem Tutorial zeigen wir Ihnen Schritt für Schritt, wie Sie mit Minikube auf Manjaro/ArchLinux lokal einen Kubernetes-Cluster mit einem Knoten erstellen. Dieser Leitfaden implementiert den Kubernetes-Cluster lokal mit dem KVM2-Treiber und behandelt ein Beispiel für die Bereitstellung von Nginx-Diensten.
Was wir tun werden:
- Paketabhängigkeiten installieren
- Installieren Sie die Docker-Maschine und den KVM2-Treiber
- Installieren Sie Minikube und Kubectl
- Kubernetes-Initialisierung mit Minikube
- Bereitstellung testen
- Greifen Sie auf das Kubernetes-Dashboard zu
Schritt 1 – Paketabhängigkeiten installieren
Der erste Schritt, den wir tun werden, ist die Installation aller Paketabhängigkeiten einschließlich qemu KVM und dnsmasq.
Installieren Sie qemu und dnsmasq mit dem folgenden Pacman-Befehl.
sudo pacman -Sy libvirt qemu ebtables dnsmasq
Wenn die Installation abgeschlossen ist, fügen Sie den Benutzer zur Gruppe „libvirt“ hinzu und laden Sie neu.
sudo usermod -a -G libvirt $(whoami)
newgrp libvirt
Starten Sie nun die Dienste libvirtd und virtlogd und fügen Sie diese Dienste zur Startzeit hinzu.
sudo systemctl start libvirtd.service
sudo systemctl enable libvirtd.service
sudo systemctl start virtlogd.service
sudo systemctl enable virtlogd.service
Die qemu KVM-Pakete und Abhängigkeiten wurden auf dem System installiert.
Schritt 2 - Docker-Machine und KVM2-Treiber installieren
Minikube verwendet die Docker-Maschine, um die Kubernetes-VM zu verwalten, und wir müssen dafür „docker-machine-driver-kvm2“ installieren.
Installieren Sie die Docker-Maschine mit dem folgenden Pacman-Befehl.
sudo pacman -Sy docker-machine
Installieren Sie nun „docker-machine-driver-kvm2“ aus dem AUR-Repository mit dem Befehl yaourt.
yaourt -Sy docker-machine-driver-kvm2
Warten Sie auf die Installation.
Schritt 3 – Minikube und Kubectl installieren
Für diese Anleitung installieren wir Minikube und kubectl aus dem AUR-Repository.
Führen Sie den folgenden yaourt-Befehl aus.
yaourt -Sy minikube-bin kubectl-bin
Überprüfen Sie nach Abschluss der Installation die Minikube-Version und den Befehl kubectl.
minikube versionist
whereis kubectl
kubectl -h
Schritt 4 – Kubernetes-Initialisierung mit Minikube
Initialisieren Sie den Kubernetes-Cluster mit einem einzelnen Knoten mit dem folgenden Minikube-Befehl.
minikube start --vm-driver kvm2
Der Befehl lädt die Minikube-ISO-Datei herunter und erstellt die virtuelle KVM-Maschine auf dem System.
Wenn es fertig ist, erhalten Sie das Ergebnis wie unten.
Kubernetes wurde mithilfe von Minikube auf dem lokalen Computer installiert. Überprüfen Sie dies, indem Sie alle folgenden Befehle ausführen.
minikube status
kubectl cluster-info
kubectl get nodes
Jetzt sehen Sie das Ergebnis unten.
Der Kubernetes-Cluster ist auf einem lokalen Computer mit der IP-Adresse „192.168.39.78“ eingerichtet und wird unter Verwendung von Kubernetes v1.10 und einem Einzelknoten namens minikube als Master des Clusters ausgeführt.
Schritt 5 – Testen von Bereitstellungen
In diesem Schritt testen wir Kubernetes, indem wir eine neue Bereitstellung für den Nginx-Webserver erstellen.
Erstellen Sie ein neues Verzeichnis mit dem Namen „project/nginx/“ und gehen Sie dorthin.
mkdir -p projects/nginx/
cd projects/nginx/
Erstellen Sie nun eine neue Yaml-Datei für unsere Bereitstellungskonfiguration.
vim nginx-deployment-service.yaml
Und fügen Sie die Konfigurationen unten ein.
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
Speichern und beenden.
Erstellen Sie nun die Bereitstellung, indem Sie den folgenden kubectl-Befehl ausführen.
kubectl create -f nginx-deployment.yaml
Überprüfen Sie nach Abschluss die Kubernetes-Bereitstellung.
kubectl get deployments
kubectl describe deployments nginx-deployment
Und Sie erhalten die 'nginx-Bereitstellung' auf der Liste.
Überprüfen Sie nun den Kubernetes-Dienst.
kubectl get services
kubectl describe services nginx-service
Und Sie werden sehen, dass der NodePort „nginx-service“ auf Port „32274“ läuft.
Überprüfen Sie die IP des Kubernetes-Clusters und greifen Sie mit dem curl-Befehl darauf zu.
minikube ip
curl -I http://192.168.39.49:32274/
Und Sie erhalten die Antwort vom Nginx-Webserver.
Unten ist das Ergebnis, wenn wir über den Webbrowser zugreifen.
http://192.168.39.49:32274/
Schritt 6 – Zugriff auf das Kubernetes-Dashboard
Minikube bietet einen Befehl für den Zugriff auf das Kubernetes-Dashboard, das im Minikube-Cluster ausgeführt wird.
Führen Sie den folgenden Befehl aus.
minikube dashboard
Der Befehl öffnet das Kubernetes-Dashboard mit dem Standard-Webbrowser auf dem System.
Unten sehen Sie das Kubernetes-Dashboard.
Die Kubenrnetes-Installation auf dem lokalen Computer Manjaro/Archlinux mit Minikube wurde erfolgreich abgeschlossen.