Verwendung des Dashboards für den Zugriff auf Kubernetes-Cluster auf CODE-DE OpenStack Magnum

Nachdem das Kubernetes-Cluster erstellt wurde, können Sie über das Befehlszeilentool kubectl oder über eine visuelle Schnittstelle, das Kubernetes-Dashboard, darauf zugreifen. Dieser Artikel zeigt, wie man das Dashboard installiert.

Was wir behandeln werden

  • Wie wird das Kubernetes Dashboard installiert?

Voraussetzungen

Nr. 1 Konto

Sie benötigen ein CODE-DE Konto mit Horizon-Schnittstelle https://cloud.fra1-1.cloudferro.com/auth/login/?next=/.

Nr. 2 Cluster und kubectl sollten bereits einsatzbereit sein

Um einen Cluster einzurichten und ihn mit dem Tool kubectl zu verbinden, lesen Sie diesen Artikel Zugriff auf Kubernetes-Cluster nach der Bereitstellung mit Kubectl auf CODE-DE OpenStack Magnum.

Das Dashboard ist eine visuelle Schnittstelle zum Kubernetes-Cluster. Es hat dieselbe Funktionalität wie kubectl als CLI-Tool.

Schritt 1 Bereitstellen des Dashboards

Installieren Sie es mit dem folgenden Befehl:

kubectl apply
   -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.4.0/aio/deploy/recommended.yaml

Das Ergebnis ist

../_images/dashboard_installed.png

Schritt 2 Erstellen eines Beispielbenutzers

Als Nächstes erstellen Sie ein Inhaber-Token, das als Autorisierungs-Token für das Dashboard dient. Zu diesem Zweck erstellen Sie zwei lokale Dateien und „senden“ sie mit dem Befehl kubectl in die Cloud. Die erste Datei heißt dashboard-adminuser.yaml und ihr Inhalt ist

apiVersion: v1
kind: ServiceAccount
metadata:
  name: admin-user
  namespace: kubernetes-dashboard

Verwenden Sie einen Texteditor Ihrer Wahl, um diese Datei zu erstellen. Unter MacOS oder Linux können Sie nano verwenden, etwa so:

nano dashboard-adminuser.yaml

Installieren Sie diese Datei mit diesem Befehl auf dem Kubernetes-Cluster:

kubectl apply -f dashboard-adminuser.yaml

Die zweite zu erstellende Datei ist

nano dashboard-clusterolebinding.yaml

und ihr Inhalt ist:

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

Der Befehl zum Senden an die Cloud lautet

kubectl apply -f dashboard-clusterolebinding.yaml

Schritt 3 Abrufen des Inhaber-Tokens für die Authentifizierung beim Dashboard

Der letzte Schritt besteht darin, das Inhaber-Token abzurufen, mit dem Aufrufe an das Dashboard authentifiziert werden können:

kubectl
   -n kubernetes-dashboard
   get secret $(kubectl -n kubernetes-dashboard get sa/admin-user -o jsonpath="{.secrets[0].name}")
   -o go-template="{{.data.token | base64decode}}"

Das Inhaber-Tokens wird auf dem Terminalbildschirm angezeigt. Kopieren Sie sie in einen Texteditor. Es wird benötigt, wenn Sie über einen HTTPS-Aufruf auf die Dashboard-Benutzeroberfläche zugreifen.

Bemerkung

Wenn das letzte Zeichen der Inhaber-Token-Zeichenkette % ist, kann es sich um ein Zeichen handeln, das das Ende der Zeichenkette kennzeichnet, aber nicht Teil der Zeichenkette ist. Wenn Sie das Inhaber-Token kopieren und sie nicht erkannt wird, versuchen Sie, sie ohne dieses Endzeichen % zu kopieren.

Schritt 4 Erstellen Sie ein separates Terminalfenster

Um die Verbindung zu aktivieren, starten Sie ein separates Terminalfenster und führen Sie darin den folgenden Befehl aus:

kubectl proxy

Das Ergebnis wird etwa so aussehen:

../_images/starting_to_server.png

Schritt 5 Anzeigen des Dashboards im Browser

Geben Sie dann diese Adresse in den Browser ein:

http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/
../_images/dashboard2.png

Geben Sie den Token ein, klicken Sie auf Sign In und rufen Sie die Dashboard-Benutzeroberfläche für den Kubernetes-Cluster auf.

../_images/dashboard_view.png

Das Kubernetes-Dashboard organisiert die Arbeit mit dem Cluster auf visuelle und interaktive Weise. Klicken Sie zum Beispiel auf Knoten auf der linken Seite, um die Knoten des k8s-Clusters zu sehen.

Was als nächstes zu tun ist

Sie können weiterhin kubectl verwenden oder alternativ das Dashboard nutzen. In jedem Fall können Sie

  • Anwendungen auf dem Cluster bereitstellen,

  • auf mehrere Cluster zugreifen,

  • Load Balancer erstellen,

  • über Portweiterleitung auf Anwendungen im Cluster zugreifen,

  • den Dienst für den Zugriff auf Anwendungen in einem Cluster verwenden,

  • Container-Images im Cluster auflisten,

  • Dienste, Deployments und alle anderen Ressourcen in einem Kubernetes-Cluster nutzen.