Kubernetes Dashboard Verwaltung

KubernetesKubernetesIntermediate
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

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.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL kubernetes(("Kubernetes")) -.-> kubernetes/BasicCommandsGroup(["Basic Commands"]) kubernetes(("Kubernetes")) -.-> kubernetes/AdvancedCommandsGroup(["Advanced Commands"]) kubernetes(("Kubernetes")) -.-> kubernetes/BasicsGroup(["Basics"]) kubernetes/BasicsGroup -.-> kubernetes/dashboard("Dashboard") kubernetes/BasicsGroup -.-> kubernetes/initialization("Initialization") kubernetes/BasicCommandsGroup -.-> kubernetes/get("Get") kubernetes/BasicCommandsGroup -.-> kubernetes/create("Create") kubernetes/AdvancedCommandsGroup -.-> kubernetes/apply("Apply") subgraph Lab Skills kubernetes/dashboard -.-> lab-15042{{"Kubernetes Dashboard Verwaltung"}} kubernetes/initialization -.-> lab-15042{{"Kubernetes Dashboard Verwaltung"}} kubernetes/get -.-> lab-15042{{"Kubernetes Dashboard Verwaltung"}} kubernetes/create -.-> lab-15042{{"Kubernetes Dashboard Verwaltung"}} kubernetes/apply -.-> lab-15042{{"Kubernetes Dashboard Verwaltung"}} end

Starten des Kubernetes-Clusters

Bevor Sie das Kubernetes Dashboard bereitstellen, stellen Sie sicher, dass Ihr Cluster läuft. In diesem Lab verwenden wir Minikube.

  1. Öffnen Sie ein Terminal und navigieren Sie in das Projektverzeichnis:

    cd ~/project
  2. Starten Sie den Minikube-Cluster:

    minikube start

    Minikube erstellt einen lokalen Kubernetes-Cluster, was es einfach macht, Funktionen wie das Dashboard zu testen. Die Einrichtung kann einige Minuten dauern.

  3. Überprüfen Sie, ob Minikube läuft, indem Sie seinen Status prüfen:

    minikube status

    Wenn der Cluster nicht läuft, starten Sie ihn neu mit minikube delete gefolgt von minikube start.

Bereitstellung des Kubernetes Dashboards

Das Kubernetes Dashboard ist standardmäßig nicht im Cluster enthalten. Stellen Sie es mithilfe der offiziellen Bereitstellungs-YAML-Datei bereit.

  1. 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.yaml

    Dieser Befehl erstellt alle erforderlichen Ressourcen für das Dashboard, einschließlich einer Deployment, eines Service und von Role-Based Access Control (RBAC)-Einstellungen.

  2. Überprüfen Sie, ob das Dashboard läuft:

    kubectl get pods -n kubernetes-dashboard

    Suchen Sie nach einem Pod mit dem Namen kubernetes-dashboard und stellen Sie sicher, dass sein Status Running ist.

  3. Überprüfen Sie den Namespace für das Dashboard:

    kubectl get ns | grep kubernetes-dashboard

    Der Namespace kubernetes-dashboard sollte existieren.

Erstellen eines Service Accounts und einer 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.

  1. Erstellen Sie eine Datei mit dem Namen dashboard-admin.yaml:

    nano ~/project/dashboard-admin.yaml
  2. Fü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.

  1. Wenden Sie die Konfiguration an:

    kubectl apply -f dashboard-admin.yaml
  2. Überprüfen Sie den Service Account und die Role Binding:

    kubectl get sa -n kubernetes-dashboard

    Sie sollten den Service Account admin-user in der Liste sehen.

    kubectl get clusterrolebinding

    Sie sollten die Cluster Role Binding admin-user in der Liste sehen.

Zugang zum Kubernetes Dashboard

Jetzt, da das Dashboard läuft und die Berechtigungen konfiguriert sind, können Sie es über einen Browser zugreifen.

  1. Generieren Sie ein Anmeldetoken:

    kubectl -n kubernetes-dashboard create token admin-user

    Kopieren Sie das generierte Token. Dieses wird für die Anmeldung verwendet.

  2. Bearbeiten Sie den Dashboard-Service, um ihn über einen NodePort verfügbar zu machen:

    kubectl edit service -n kubernetes-dashboard kubernetes-dashboard

    Suchen Sie das type-Feld unter spec und ändern Sie seinen Wert in NodePort. Speichern Sie die Änderungen und beenden Sie die Bearbeitung.

Bearbeiten des Dashboard-Service NodePort
  1. Finden Sie den NodePort, der dem Dashboard zugewiesen wurde:

    kubectl get service -n kubernetes-dashboard
    NAME                        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   20m

    Notieren 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.

  2. Holen Sie sich die IP-Adresse des Knotens:

    kubectl get node -o wide
    NAME       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.23

    Die Spalte INTERNAL-IP gibt die IP-Adresse des Knotens an.

  3. Ö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.

Firefox-Browser Kubernetes Dashboard
  1. Wenn Sie mit einer Sicherheitswarnung konfrontiert werden, gehen Sie wie folgt vor: Wählen Sie "Erweitert" und dann "Risiko akzeptieren und fortfahren".
Sicherheitswarnung - Fortfahren-Bildschirm
  1. Auf der Anmeldeseite wählen Sie die Option Token, fügen Sie (Rechtsklick) das Token aus Schritt 1 ein und klicken Sie auf "Anmelden".
Kubernetes Dashboard Anmeldeseite

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

Kubernetes Dashboard-Schnittstelle

Zusammenfassung

In diesem Lab haben Sie gelernt, wie Sie:

  1. Das Kubernetes Dashboard in einem lokalen Cluster bereitstellen.
  2. Einen Service Account erstellen und ihn an eine Cluster Rolle binden, um Administratorzugang zu erhalten.
  3. Ü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!