Einführung
Das Kubernetes Dashboard ist eine webbasierte Benutzeroberfläche, die die Verwaltung und Überwachung von Kubernetes-Clustern vereinfacht. Es bietet eine intuitive Möglichkeit, Anwendungen bereitzustellen und zu verwalten, sowie Clusterressourcen anzuzeigen und zu analysieren. In diesem Lab werden Sie durch die Bereitstellung und den Zugang zum Kubernetes Dashboard geführt.
Starten Sie den Kubernetes-Cluster
Bevor Sie das Kubernetes Dashboard bereitstellen, stellen Sie sicher, dass Ihr Cluster läuft. In diesem Lab verwenden wir Minikube.
Öffnen Sie ein Terminal und navigieren Sie in das Projektverzeichnis:
cd ~/projectStarten Sie den Minikube-Cluster:
minikube startMinikube erstellt einen lokalen Kubernetes-Cluster, was es einfach macht, Funktionen wie das Dashboard zu testen. Die Einrichtung kann einige Minuten dauern.
Überprüfen Sie, ob Minikube läuft, indem Sie seinen Status prüfen:
minikube statusWenn der Cluster nicht läuft, starten Sie ihn neu mit
minikube deletegefolgt vonminikube start.
Kubernetes Dashboard bereitstellen
Das Kubernetes Dashboard ist standardmäßig nicht im Cluster enthalten. Stellen Sie es mithilfe der offiziellen Bereitstellungs-YAML-Datei bereit.
Führen Sie den folgenden Befehl aus, um das Dashboard bereitzustellen:
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.3.1/aio/deploy/recommended.yamlDieser Befehl erstellt alle erforderlichen Ressourcen für das Dashboard, einschließlich einer Deployment, eines Service und von Role-Based Access Control (RBAC)-Einstellungen.
Überprüfen Sie, ob das Dashboard läuft:
kubectl get pods -n kubernetes-dashboardSuchen Sie nach einem Pod mit dem Namen
kubernetes-dashboardund stellen Sie sicher, dass sein StatusRunningist.Überprüfen Sie den Namespace für das Dashboard:
kubectl get ns | grep kubernetes-dashboardDer Namespace
kubernetes-dashboardsollte existieren.
Erstellen Sie einen Service Account und eine Role Binding
Standardmäßig schränkt das Kubernetes Dashboard den Zugang ein. Um sich mit Administratorrechten anzumelden, müssen Sie einen Service Account erstellen und ihn an eine Cluster Rolle binden.
Erstellen Sie eine Datei mit dem Namen
dashboard-admin.yaml:nano ~/project/dashboard-admin.yamlFügen Sie den folgenden Inhalt zur Datei hinzu:
apiVersion: v1
kind: ServiceAccount
metadata:
name: admin-user
namespace: kubernetes-dashboard
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: admin-user
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cluster-admin
subjects:
- kind: ServiceAccount
name: admin-user
namespace: kubernetes-dashboard
Diese Datei definiert einen Service Account admin-user und gewährt ihm Administratorrechte im gesamten Cluster.
Drücken Sie Ctrl+X, Y und dann Enter, um die Datei zu speichern.
Wenden Sie die Konfiguration an:
kubectl apply -f dashboard-admin.yamlÜberprüfen Sie den Service Account und die Role Binding:
kubectl get sa -n kubernetes-dashboardSie sollten den Service Account
admin-userin der Liste sehen.kubectl get clusterrolebindingSie sollten die Cluster Role Binding
admin-userin der Liste sehen.
Zugriff auf das Kubernetes Dashboard
Jetzt, da das Dashboard läuft und die Berechtigungen konfiguriert sind, können Sie es über einen Browser zugreifen.
Generieren Sie ein Anmeldetoken:
kubectl -n kubernetes-dashboard create token admin-userKopieren Sie das generierte Token. Dieses wird für die Anmeldung verwendet.
Bearbeiten Sie den Dashboard-Service, um ihn über einen NodePort verfügbar zu machen:
kubectl edit service -n kubernetes-dashboard kubernetes-dashboardSuchen Sie das
type-Feld unterspecund ändern Sie seinen Wert inNodePort. Speichern Sie die Änderungen und beenden Sie die Bearbeitung.

Finden Sie den NodePort, der dem Dashboard zugewiesen wurde:
kubectl get service -n kubernetes-dashboardNAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE dashboard-metrics-scraper ClusterIP 10.104.164.172 <none> 8000/TCP 20m kubernetes-dashboard NodePort 10.108.222.153 <none> 443:30587/TCP 20mNotieren Sie sich die Portnummer in der Spalte
PORT(S)(z.B.30587). Dies ist der Port, über den Sie auf das Dashboard zugreifen können.Holen Sie sich die IP-Adresse des Knotens:
kubectl get node -o wideNAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME minikube Ready control-plane 35m v1.26.1 192.168.58.2 <none> Ubuntu 20.04.5 LTS 5.15.0-56-generic docker://20.10.23Die Spalte
INTERNAL-IPgibt die IP-Adresse des Knotens an.Öffnen Sie den Firefox-Browser auf dem Desktop und navigieren Sie zur folgenden URL:
https://<node-ip>:<node-port>Ersetzen Sie
<node-ip>durch die IP-Adresse des Knotens und<node-port>durch den Port aus Schritt 3.

- Wenn Sie mit einer Sicherheitswarnung konfrontiert werden, gehen Sie wie folgt vor: Wählen Sie "Erweitert" und dann "Risiko akzeptieren und fortfahren".

- Auf der Anmeldeseite wählen Sie die Option Token, fügen Sie (Rechtsklick) das Token aus Schritt 1 ein und klicken Sie auf "Anmelden".

Sie sollten nun im Kubernetes Dashboard angemeldet sein, wo Sie Cluster-Ressourcen erkunden und Workloads verwalten können.

Zusammenfassung
In diesem Lab haben Sie gelernt, wie Sie:
- Das Kubernetes Dashboard in einem lokalen Cluster bereitstellen.
- Einen Service Account erstellen und ihn an eine Cluster Rolle binden, um Administratorzugang zu erhalten.
- Über einen Browser auf das Dashboard zugreifen, indem Sie einen NodePort-Service nutzen.
Mit dem Kubernetes Dashboard können Sie Anwendungen visuell verwalten, Ressourcen überwachen und Cluster-Konfigurationen erkunden. Dieses Tool vereinfacht die Kubernetes-Operationen, insbesondere für Anfänger, die von der Befehlszeile zu einer grafischen Arbeitsweise wechseln. Entdecken Sie weiterhin seine Funktionen, um Ihre Kubernetes-Umgebung optimal zu nutzen!


