Minikube ist ein Open-Source-Tool, das Ihnen hilft, einen Kubernetes-Cluster mit einem einzelnen Knoten auf Ihrem lokalen Computer einzurichten. Es macht es einfach, einen Kubernetes-Cluster mit einem Knoten auf Ihrem PC für die tägliche Entwicklungsarbeit auszuführen. Es ist plattformübergreifend und kann auf macOS, Linux und Windows installiert werden.
In diesem Tutorial zeigen wir Ihnen, wie Sie Minikube auf einem Ubuntu 20.04-Server installieren.
Voraussetzungen
- Ubuntu 20.04 Desktop auf Ihrem System installiert.
- Mindestens 4 GB RAM und 2 oder mehr CPU-Kerne.
- Die Hardwarevirtualisierung muss in Ihrem lokalen System aktiviert sein.
- Ein Root-Passwort wird auf dem Server konfiguriert.
Erste Schritte
Bevor Sie beginnen, wird empfohlen, Ihre Systempakete auf die neueste Version zu aktualisieren. Sie können sie aktualisieren, indem Sie den folgenden Befehl ausführen:
apt-get update -y
Nachdem alle Pakete aktualisiert wurden, installieren Sie andere Abhängigkeiten, indem Sie den folgenden Befehl ausführen:
apt-get install curl wget apt-transport-https virtualbox virtualbox-ext-pack -y
Wenn Sie fertig sind, können Sie mit dem nächsten Schritt fortfahren.
Installieren Sie Docker
Als nächstes müssen Sie Docker auf Ihrem System installieren. Sie können es installieren, indem Sie den folgenden Befehl ausführen:
apt-get install docker.io -y
Sobald Docker installiert ist, starten Sie den Docker-Dienst und ermöglichen Sie ihm, beim Systemneustart zu starten:
systemctl docker starten
systemctl docker aktivieren
Sie können jetzt die Docker-Version mit dem folgenden Befehl überprüfen:
docker --version
Sie sollten die Docker-Version in der folgenden Ausgabe sehen:
Docker-Version 19.03.8, Build afacb8b7f0
Wenn Sie fertig sind, können Sie mit dem nächsten Schritt fortfahren.
Minikube installieren
Standardmäßig ist Minikube nicht im Ubuntu-Standard-Repository verfügbar. Sie müssen also das Minikube-Binärpaket von seiner offiziellen Website herunterladen. Sie können es mit dem folgenden Befehl herunterladen:
wget https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
Kopieren Sie nach Abschluss des Downloads die heruntergeladene Binärdatei mit dem folgenden Befehl in den Systempfad:
cp minikube-linux-amd64 /usr/local/bin/minikube
Geben Sie als Nächstes die Ausführungsberechtigung mit dem folgenden Befehl ein:
chmod 755 /usr/local/bin/minikube
Sie können jetzt die Minikube-Version mit dem folgenden Befehl überprüfen:
Minikube-Version
Sie sollten die folgende Ausgabe erhalten:
Minikube-Version:v1.16.0commit:9f1e482427589ff8451c4723b6ba53bb9742fbb1
Wenn Sie fertig sind, können Sie mit dem nächsten Schritt fortfahren.
Installieren Sie Kubectl
Als Nächstes müssen Sie Kubectl und andere Tools installieren, um Anwendungen auf Kubernetes zu verwalten. Fügen Sie zuerst den GPG-Schlüssel mit dem folgenden Befehl hinzu:
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add -
Fügen Sie als Nächstes das kubectl-Repository mit dem folgenden Befehl hinzu:
echo "deb http://apt.kubernetes.io/ kubernetes-xenial main" | tee /etc/apt/sources.list.d/kubernetes.list
Sobald das Repository hinzugefügt wurde, aktualisieren Sie den Repository-Cache und installieren Sie Kubectl, indem Sie den folgenden Befehl ausführen:
apt-get update -y
apt-get install kubectl kubeadm kubectl -y
Sobald alle Pakete installiert sind, können Sie mit dem nächsten Schritt fortfahren.
Minikube starten
An dieser Stelle sind alle erforderlichen Pakete installiert. Sie können Minikube jetzt mit dem folgenden Befehl starten:
Minikube starten
Sie sollten die folgende Ausgabe erhalten:
* Minikube v1.16.0 auf Ubuntu 20.04 (kvm/amd64)* Verwendung des None-Treibers basierend auf der Benutzerkonfiguration* Minikube des Steuerungsebenenknotens im Minikube-Cluster starten* Ausführung auf lokalem Host (CPUs=2, Arbeitsspeicher=3936 MB, Festplatte=100726 MB ) ...* Betriebssystemversion ist Ubuntu 20.04 LTS* Vorbereiten von Kubernetes v1.20.0 auf Docker 19.03.8 ... - kubelet.resolv-conf=/run/systemd/resolve/resolv.conf> kubectl.sha256:64 B / 64 B [--------------------------] 100,00 % ? p/s 0s> kubeadm.sha256:64 B / 64 B [---------------------] 100,00 % ? p/s 0s> kubelet.sha256:64 B / 64 B [---------------------] 100,00 % ? p/s 0s> kubeadm:37,40 MiB / 37,40 MiB [---------------] 100,00% 27,29 MiB p/s 1s> kubectl:38,37 MiB / 38,37 MiB [---- -----------] 100,00 % 27,60 MiB p/s 1 s> kubelet:108,69 MiB / 108,69 MiB [-------------] 100,00 % 42,08 MiB p/s 3s - Generieren von Zertifikaten und Schlüsseln ... - Booten der Steuerungsebene ... - Konfigurieren von RBAC-Regeln ...* Konfigurieren der lokalen Hostumgebung ...* ! Der „none“-Treiber ist für Experten konzipiert, die eine Integration in eine vorhandene VM benötigen.* Die meisten Benutzer sollten stattdessen den neueren „docker“-Treiber verwenden, für den kein Root erforderlich ist!* Weitere Informationen finden Sie unter:https://minikube.sigs .k8s.io/docs/reference/drivers/none/* ! kubectl- und minikube-Konfiguration werden in /root gespeichert! Um kubectl- oder minikube-Befehle als Ihr eigener Benutzer zu verwenden, müssen Sie diese möglicherweise verschieben. Um beispielsweise Ihre eigenen Einstellungen zu überschreiben, führen Sie Folgendes aus:* - sudo mv /root/.kube /root/.minikube $HOME - sudo chown -R $USER $HOME/.kube $HOME/.minikube* * Dies kann auch sein erfolgt automatisch durch Setzen der env var CHANGE_MINIKUBE_NONE_USER=true* Überprüfung von Kubernetes-Komponenten...* Aktivierte Add-ons:storage-provisioner, default-storageclass* Fertig! kubectl ist jetzt so konfiguriert, dass standardmäßig „minikube“-Cluster und „default“-Namespace verwendet werden
Sie können die Clusterinformationen mit dem folgenden Befehl überprüfen:
kubectl-Cluster-Info
Sie sollten die folgende Ausgabe erhalten:
Die Kubernetes-Steuerungsebene wird unter https://45.58.38.77:8443 ausgeführt. KubeDNS wird unter https://45.58.38.77:8443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxyTo ausgeführt Verwenden Sie zum Debuggen und Diagnostizieren von Clusterproblemen „kubectl cluster-info dump“.
Sie können die Kubectl-Standardkonfiguration mit dem folgenden Befehl überprüfen:
kubectl-Konfigurationsansicht
Sie sollten die folgende Ausgabe sehen:
apiVersion:v1clusters:- cluster:certificate-authority:/root/.minikube/ca.crt server:https://45.58.38.77:8443 name:minikubecontexts:- context:cluster:minikube namespace:default user:minikube name:minikubecurrent-context:minikubekind:Configpreferences:{}users:- name:minikube user:client-certificate:/root/.minikube/profiles/minikube/client.crt client-key:/root/.minikube/profiles/minikube /client.key
Sie können alle laufenden Knoten mit dem folgenden Befehl überprüfen:
kubectl erhält Knoten
Sie sollten die folgende Ausgabe erhalten:
NAME STATUS ROLLEN ALTER VERSIONubuntu2004 Ready control-plane,master 2m24s v1.20.0
Führen Sie den folgenden Befehl aus, um den Status von Minikube zu überprüfen:
Minikube-Status
Sie sollten die folgende Ausgabe erhalten:
minikubetype:Control Planehost:Runningkubelet:Runningapiserver:Runningkubeconfig:ConfiguredtimeToStop:Nonexistent
Wenn Sie fertig sind, können Sie mit dem nächsten Schritt fortfahren.
Zugriff auf das Kubernetes-Dashboard
Minikube wird mit vielen Addons geliefert, die Sie je nach Bedarf aktivieren oder deaktivieren können. Sie können alle Addons mit dem folgenden Befehl auflisten:
Minikube-Add-Ons-Liste
Sie sollten die folgende Ausgabe erhalten:
|------------------------|----------|----- ---------|| ADDON-NAME | PROFIL | STATUS ||------------------------|----------|------ --------|| Botschafter | Minikube | deaktiviert || csi-hostpath-driver | Minikube | deaktiviert || Armaturenbrett | Minikube | deaktiviert || Standardspeicherklasse | Minikube | aktiviert ? || efk | Minikube | deaktiviert || frische Schote | Minikube | deaktiviert || gcp-auth | Minikube | deaktiviert || gvisor | Minikube | deaktiviert || Ruderpinne | Minikube | deaktiviert || Eindringen | Minikube | deaktiviert || ingress-dns | Minikube | deaktiviert || istio | Minikube | deaktiviert || istio-Bereitsteller | Minikube | deaktiviert || kubevirt | Minikube | deaktiviert || Logviewer | Minikube | deaktiviert || metallb | Minikube | deaktiviert || Metrik-Server | Minikube | deaktiviert || nvidia-driver-installer | Minikube | deaktiviert || nvidia-gpu-geräte-plugin | Minikube | deaktiviert || Olm | Minikube | deaktiviert || Pod-Sicherheitsrichtlinie | Minikube | deaktiviert || Registrierung | Minikube | deaktiviert || Registry-Aliase | Minikube | deaktiviert || Registrierungsnachweise | Minikube | deaktiviert || Speicheranbieter | Minikube | aktiviert ? || speicherprovider-gluster | Minikube | deaktiviert || Volumesnapshots | Minikube | deaktiviert ||------------------------|----------|------ --------|
Listen Sie als Nächstes alle im Cluster ausgeführten Container-Images mit dem folgenden Befehl auf:
kubectl get pods --all-namespaces
Sie sollten die folgende Ausgabe erhalten:
NAMESPACE NAME BEREIT STATUS RESTARTS ALTERkube-system coredns-74ff55c5b-skf9d 1/1 Wird ausgeführt 0 3m45skube-system etcd-ubuntu2004 1/1 Wird ausgeführt 0 3m54skube-system kube-apiserver-ubuntu2004 1/1 Wird ausgeführt 0 3m54skube-system kube- controller-manager-ubuntu2004 1/1 Wird ausgeführt 0 3m54skube-system kube-proxy-w8q6d 1/1 Wird ausgeführt 0 3m45skube-system kube-scheduler-ubuntu2004 1/1 Wird ausgeführt 0 3m54skube-system storage-provisioner 1/1 Wird ausgeführt 0 3m59sAktivieren Sie als Nächstes das Kubernetes-Dashboard und rufen Sie die URL des Dashboards mit dem folgenden Befehl ab:
Minikube-Dashboard --urlSie sollten die folgende Ausgabe erhalten:
* Dashboard aktivieren ...* Dashboard-Zustand überprüfen ...* Proxy starten ...* Proxy-Zustand überprüfen ...http://127.0.0.1:36499/api/v1/namespaces/kubernetes-dashboard/services /http:kubernetes-dashboard:/proxy/Sie können jetzt über die URL http://127.0.0.1:36499/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard auf den Kubernetes-Cluster zugreifen und ihn verwalten:/proxy/Schlussfolgerung
In der obigen Anleitung haben Sie gelernt, wie Sie Minikube installieren und damit einen Kubernetes-Cluster unter Ubuntu 20.04 einrichten. Sie können jetzt Minikube verwenden, um Kubernetes-Cluster lokal einzurichten und über den Webbrowser zu verwalten. Fühlen Sie sich frei, mich zu fragen, wenn Sie irgendwelche Fragen haben.