Praktische Anleitung Bereitstellen des Kubernetes-Dashboards (Web-UI) - Amazon EKS

Sofern wir eine Übersetzung der englischsprachigen Version des Handbuchs bereitstellen, gilt im Fall von Widersprüchen die englischsprachige Version des Handbuchs. Bei der Übersetzung handelt es sich um eine maschinelle Übersetzung.

Praktische Anleitung Bereitstellen des Kubernetes-Dashboards (Web-UI)

In dieser Anleitung ist erläutert, wie Sie das Kubernetes-Dashboard einschließlich Metriken für CPU und Arbeitsspeicher für Ihren Amazon EKS-Cluster bereitstellen. Außerdem wird erklärt, wie Sie ein Amazon EKS-Administrator-Servicekonto erstellen, um eine sichere Verbindung mit dem Dashboard herzustellen und Ihren Cluster anzuzeigen und zu steuern.


            Kubernetes-Dashboard

Prerequisites

In diesem Tutorial wird von Folgendem ausgegangen:

Schritt 1 Bereitstellen des Kubernetes-Metrikenservers

Der Kubernetes-Metrik-Server ist ein Aggregator für Ressourcennutzungsdaten in Ihrem Cluster und wird standardmäßig in Amazon EKS-Clustern nicht bereitgestellt. Das Kubernetes-Dashboard verwendet den Metrikserver, um Metriken für Ihren Cluster zu sammeln, z. B. CPU- und Speichernutzung im Zeitverlauf.

So stellen Sie den Metrik-Server bereit

  1. Stellen Sie den Metrik-Server mit dem folgenden Befehl bereit:

    kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/download/v0.3.6/components.yaml
  2. Überprüfen Sie mit dem folgenden Befehl, ob die metrics-server-Bereitstellung die gewünschte Anzahl Pods umfasst.

    kubectl get deployment metrics-server -n kube-system

    Ausgabe

    NAME READY UP-TO-DATE AVAILABLE AGE metrics-server 1/1 1 1 6m

Schritt 2 Bereitstellen des Dashboards

Verwenden Sie den folgenden Befehl, um das Kubernetes-Dashboard bereitzustellen.

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

Ausgabe

namespace/kubernetes-dashboard created serviceaccount/kubernetes-dashboard created service/kubernetes-dashboard created secret/kubernetes-dashboard-certs created secret/kubernetes-dashboard-csrf created secret/kubernetes-dashboard-key-holder created configmap/kubernetes-dashboard-settings created role.rbac.authorization.k8s.io/kubernetes-dashboard created clusterrole.rbac.authorization.k8s.io/kubernetes-dashboard created rolebinding.rbac.authorization.k8s.io/kubernetes-dashboard created clusterrolebinding.rbac.authorization.k8s.io/kubernetes-dashboard created deployment.apps/kubernetes-dashboard created service/dashboard-metrics-scraper created deployment.apps/dashboard-metrics-scraper created

Schritt 3 Erstellen eines eks-admin Bindung von Servicekonto und Cluster-Rolle

Standardmäßig verfügt der Kubernetes-Dashboard-Benutzer nur über eingeschränkte Berechtigungen. In diesem Abschnitt erstellen Sie ein eks-admin-Servicekonto und eine Cluster-Rollenverbindung, mit denen Sie eine sichere Verbindung zum Dashboard mit Administratorberechtigungen herstellen können. Weitere Informationen finden Sie unter Managing Service Accounts in der Kubernetes-Dokumentation.

So erstellen Sie das eks-admin-Servicekonto und die Cluster-Rollenverbindung

Wichtig

Das in diesem Verfahren erstellte Beispiel-Servicekonto verfügt über umfassende cluster-admin-Berechtigungen (superuser) für den Cluster. Weitere Informationen finden Sie unter Using RBAC authorization in der Kubernetes-Dokumentation.

  1. Erstellen Sie eine Datei mit dem Namen eks-admin-service-account.yaml und dem folgenden Inhalt. Dieses Manifest definiert ein Service-Konto und eine Cluster-Rollenbindung namens eks-admin.

    apiVersion: v1 kind: ServiceAccount metadata: name: eks-admin namespace: kube-system --- apiVersion: rbac.authorization.k8s.io/v1beta1 kind: ClusterRoleBinding metadata: name: eks-admin roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: cluster-admin subjects: - kind: ServiceAccount name: eks-admin namespace: kube-system
  2. Wenden Sie das Servicekonto und die Cluster-Rollenbindung auf Ihren Cluster an.

    kubectl apply -f eks-admin-service-account.yaml

    Ausgabe

    serviceaccount "eks-admin" created clusterrolebinding.rbac.authorization.k8s.io "eks-admin" created

Schritt 4. Mit dem Dashboard verbinden

Nachdem das Kubernetes-Dashboard jetzt auf dem Cluster bereitgestellt ist und Sie über ein Administrator-Servicekonto für das Anzeigen und Steuern des Clusters verfügen, können Sie über das Servicekonto eine Verbindung zum Dashboard herstellen.

So stellen Sie eine Verbindung zum Kubernetes-Dashboard her

  1. Rufen Sie ein Authentifizierungstoken für das eks-admin-Servicekonto ab. Kopieren Sie die <authentication_token> Wert von der Ausgabe. Mit diesem Token stellen Sie eine Verbindung zum Dashboard her.

    kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep eks-admin | awk '{print $1}')

    Ausgabe

    Name: eks-admin-token-b5zv4 Namespace: kube-system Labels: <none> Annotations: kubernetes.io/service-account.name=eks-admin kubernetes.io/service-account.uid=bcfe66ac-39be-11e8-97e8-026dce96b6e8 Type: kubernetes.io/service-account-token Data ==== ca.crt: 1025 bytes namespace: 11 bytes token: <authentication_token>
  2. Starten Sie die kubectl proxy . (z. B..

    kubectl proxy
  3. Öffnen Sie den folgenden Link in einem Webbrowser, um auf den Dashboard-Endpunkt zuzugreifen: http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/#!/login

  4. Auswählen Gutschein, fügen Sie die <authentication_token> Ausgabe des vorherigen Befehls in die Gutschein und wählen Sie ANMELDEN.

    
                        Kubernetes-Token-Authentifizierung
    Anmerkung

    Es kann einige Minuten dauern, bis CPU- und Arbeitsspeichermetriken im Dashboard angezeigt werden.

Schritt 5. Nächste Schritte

Nachdem Sie eine Verbindung zum Kubernetes-Dashboard hergestellt haben, können Sie den Cluster mit Ihrem eks-admin-Servicekonto anzeigen und steuern. Weitere Informationen zur Verwendung des Dashboards finden Sie in der Projektdokumentation auf GitHub.