So installieren Sie Kubernetes mit Minikube auf Ubuntu 20.04
Minikube ist ein Open-Source-Tool, das Ihnen hilft, einen Single-Node-Kubernetes-Cluster auf Ihrem lokalen Rechner einzurichten. Es macht es einfach, einen Single-Node-Kubernetes-Cluster auf Ihrem persönlichen Computer für die tägliche Entwicklungsarbeit zu betreiben. 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 ist auf Ihrem System installiert.
- Mindestens 4 GB RAM und 2 oder mehr CPU-Kerne.
- Die Hardware-Virtualisierung muss in Ihrem lokalen System aktiviert sein.
- Der Server ist mit einem Root-Passwort 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
Sobald alle Pakete aktualisiert sind, installieren Sie weitere Abhängigkeiten, indem Sie den folgenden Befehl ausführen:
apt-get install curl wget apt-transport-https virtualbox virtualbox-ext-pack -y
Sobald Sie damit fertig sind, können Sie mit dem nächsten Schritt fortfahren.
Installieren von 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 aktivieren Sie ihn so, dass er beim Neustart des Systems gestartet wird:
systemctl start docker systemctl enable docker
Sie können nun die Docker-Version mit folgendem Befehl überprüfen:
docker --version
Sie sollten die Docker-Version in der folgenden Ausgabe sehen:
Docker version 19.03.8, build afacb8b7f0
Wenn Sie damit fertig sind, können Sie mit dem nächsten Schritt fortfahren.
Minikube installieren
Standardmäßig ist Minikube nicht im Standard-Repository von Ubuntu verfügbar. Daher müssen Sie 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
Sobald der Download abgeschlossen ist, kopieren Sie das heruntergeladene Binärpaket mit folgendem Befehl in den Systempfad:
cp minikube-linux-amd64 /usr/local/bin/minikube
Geben Sie anschließend die Ausführungsberechtigung mit dem folgenden Befehl an:
chmod 755 /usr/local/bin/minikube
Sie können nun die Minikube-Version mit dem folgenden Befehl überprüfen:
minikube version
Sie sollten die folgende Ausgabe erhalten:
minikube version: v1.16.0 commit: 9f1e482427589ff8451c4723b6ba53bb9742fbb1
Wenn Sie damit fertig sind, können Sie mit dem nächsten Schritt fortfahren.
Kubectl installieren
Als Nächstes müssen Sie Kubectl und andere Tools zur Verwaltung von Anwendungen auf Kubernetes installieren. Fügen Sie zunächst den GPG-Schlüssel mit dem folgenden Befehl hinzu:
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add -
Als Nächstes fügen Sie 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 ist, aktualisieren Sie den Repository-Cache und installieren Sie Kubectl mit folgendem Befehl:
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
Zu diesem Zeitpunkt sind alle erforderlichen Pakete installiert. Sie können nun Minikube mit dem folgenden Befehl starten:
minikube start
Sie sollten die folgende Ausgabe erhalten:
* minikube v1.16.0 on Ubuntu 20.04 (kvm/amd64) * Using the none driver based on user configuration * Starting control plane node minikube in cluster minikube * Running on localhost (CPUs=2, Memory=3936MB, Disk=100726MB) ... * OS release is Ubuntu 20.04 LTS * Preparing Kubernetes v1.20.0 on 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 1s > kubelet: 108.69 MiB / 108.69 MiB [-------------] 100.00% 42.08 MiB p/s 3s - Generating certificates and keys ... - Booting up control plane ... - Configuring RBAC rules ... * Configuring local host environment ... * ! The 'none' driver is designed for experts who need to integrate with an existing VM * Most users should use the newer 'docker' driver instead, which does not require root! * For more information, see: https://minikube.sigs.k8s.io/docs/reference/drivers/none/ * ! kubectl and minikube configuration will be stored in /root ! To use kubectl or minikube commands as your own user, you may need to relocate them. For example, to overwrite your own settings, run: * - sudo mv /root/.kube /root/.minikube $HOME - sudo chown -R $USER $HOME/.kube $HOME/.minikube * * This can also be done automatically by setting the env var CHANGE_MINIKUBE_NONE_USER=true * Verifying Kubernetes components... * Enabled addons: storage-provisioner, default-storageclass * Done! kubectl is now configured to use "minikube" cluster and "default" namespace by default
Sie können die Cluster-Informationen mit dem folgenden Befehl überprüfen:
kubectl cluster-info
Sie sollten die folgende Ausgabe erhalten:
Kubernetes control plane is running at https://45.58.38.77:8443 KubeDNS is running at https://45.58.38.77:8443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.
Sie können die Kubectl-Standardkonfiguration mit dem folgenden Befehl überprüfen:
kubectl config view
Sie sollten die folgende Ausgabe sehen:
apiVersion: v1 clusters: - cluster: certificate-authority: /root/.minikube/ca.crt server: https://45.58.38.77:8443 name: minikube contexts: - context: cluster: minikube namespace: default user: minikube name: minikube current-context: minikube kind: Config preferences: {} 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 get nodes
Sie sollten die folgende Ausgabe erhalten:
NAME STATUS ROLES AGE VERSION ubuntu2004 Ready control-plane,master 2m24s v1.20.0
Um den Status von Minikube zu überprüfen, führen Sie den folgenden Befehl aus:
minikube status
Sie sollten die folgende Ausgabe erhalten:
minikube type: Control Plane host: Running kubelet: Running apiserver: Running kubeconfig: Configured timeToStop: Nonexistent
Wenn Sie fertig sind, können Sie mit dem nächsten Schritt fortfahren.
Zugriff auf das Kubernetes-Dashboard
Minikube wird mit einer Vielzahl von Addons geliefert, die Sie je nach Bedarf aktivieren oder deaktivieren können. Sie können alle Addons mit dem folgenden Befehl auflisten:
minikube addons list
Sie sollten die folgende Ausgabe erhalten:
|-----------------------------|----------|--------------| | ADDON NAME | PROFILE | STATUS | |-----------------------------|----------|--------------| | ambassador | minikube | disabled | | csi-hostpath-driver | minikube | disabled | | dashboard | minikube | disabled | | default-storageclass | minikube | enabled ? | | efk | minikube | disabled | | freshpod | minikube | disabled | | gcp-auth | minikube | disabled | | gvisor | minikube | disabled | | helm-tiller | minikube | disabled | | ingress | minikube | disabled | | ingress-dns | minikube | disabled | | istio | minikube | disabled | | istio-provisioner | minikube | disabled | | kubevirt | minikube | disabled | | logviewer | minikube | disabled | | metallb | minikube | disabled | | metrics-server | minikube | disabled | | nvidia-driver-installer | minikube | disabled | | nvidia-gpu-device-plugin | minikube | disabled | | olm | minikube | disabled | | pod-security-policy | minikube | disabled | | registry | minikube | disabled | | registry-aliases | minikube | disabled | | registry-creds | minikube | disabled | | storage-provisioner | minikube | enabled ? | | storage-provisioner-gluster | minikube | disabled | | volumesnapshots | minikube | disabled | |-----------------------------|----------|--------------|
Als Nächstes listen Sie alle Container-Images, die im Cluster laufen, mit dem folgenden Befehl auf:
kubectl get pods --all-namespaces
Sie sollten die folgende Ausgabe erhalten:
NAMESPACE NAME READY STATUS RESTARTS AGE kube-system coredns-74ff55c5b-skf9d 1/1 Running 0 3m45s kube-system etcd-ubuntu2004 1/1 Running 0 3m54s kube-system kube-apiserver-ubuntu2004 1/1 Running 0 3m54s kube-system kube-controller-manager-ubuntu2004 1/1 Running 0 3m54s kube-system kube-proxy-w8q6d 1/1 Running 0 3m45s kube-system kube-scheduler-ubuntu2004 1/1 Running 0 3m54s kube-system storage-provisioner 1/1 Running 0 3m59s
Aktivieren Sie als nächstes das Kubernetes-Dashboard und rufen Sie die URL des Dashboards mit dem folgenden Befehl ab:
minikube dashboard --url
Sie sollten die folgende Ausgabe erhalten:
* Enabling dashboard ... * Verifying dashboard health ... * Launching proxy ... * Verifying proxy health ... http://127.0.0.1:36499/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard:/proxy/ You can now access and manage the Kubernetes cluster using the URL http://127.0.0.1:36499/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard:/proxy/
Fazit
In der obigen Anleitung haben Sie gelernt, wie Sie Minikube installieren und zum Einrichten eines Kubernetes-Clusters unter Ubuntu 20.04 verwenden. Sie können Minikube nun verwenden, um einen Kubernetes-Cluster lokal einzurichten und ihn über den Webbrowser zu verwalten. Sie können mich gerne fragen, wenn Sie Fragen haben.