Freigeben über


Zugreifen auf das Kubernetes-Dashboard in Azure Stack Hub

Hinweis

Verwenden Sie das Kubernetes-Azure Stack-Marketplace-Element nur, um Cluster als Proof of Concept bereitzustellen. Verwenden Sie für unterstützte Kubernetes-Cluster in Azure Stack die AKS-Engine.

Kubernetes enthält ein Webdashboard, das Sie für einfache Verwaltungsvorgänge verwenden können. In diesem Dashboard können Sie den Integritätsstatus und grundlegende Metriken für Ihre Anwendungen anzeigen, Dienste erstellen und bereitstellen und vorhandene Anwendungen bearbeiten. In diesem Artikel wird veranschaulicht, wie Sie das Kubernetes-Dashboard in Azure Stack Hub einrichten.

Voraussetzungen für Kubernetes-Dashboard

  • Azure Stack Hub-Kubernetes-Cluster

    Sie müssen in Azure Stack Hub einen Kubernetes-Cluster bereitgestellt haben. Weitere Informationen finden Sie im Artikel zum Thema Bereitstellen von Kubernetes.

  • SSH-Client

    Sie benötigen einen SSH-Client, um eine sichere Verbindung mit Ihrem Steuerungsebenenknoten im Cluster herzustellen. Bei Verwendung von Windows können Sie PuTTY nutzen. Sie benötigen den privaten Schlüssel, der beim Bereitstellen Ihres Kubernetes-Clusters verwendet wurde.

  • FTP (PSCP)

    Unter Umständen benötigen Sie auch einen FTP-Client mit SSH-Unterstützung und das SSH-Dateiübertragungsprotokoll, um die Zertifikate vom Steuerungsebenenknoten auf Ihren Azure Stack Hub-Verwaltungscomputer zu übertragen. Sie können FileZilla verwenden. Sie benötigen den privaten Schlüssel, der beim Bereitstellen Ihres Kubernetes-Clusters verwendet wurde.

Übersicht über die Schritte zum Aktivieren des Dashboards

  1. Exportieren Sie die Kubernetes-Zertifikate vom Steuerungsebenenknoten in den Cluster.
  2. Importieren Sie die Zertifikate in Ihren Azure Stack Hub-Verwaltungscomputer.
  3. Öffnen Sie das Kubernetes-Webdashboard.

Exportieren des Zertifikats vom Master

Sie können die URL für das Dashboard vom Steuerungsebenenknoten in Ihrem Cluster abrufen.

  1. Rufen Sie die öffentliche IP-Adresse und den Benutzernamen für Ihren Clustermaster aus dem Azure Stack Hub-Dashboard ab. Rufen Sie diese Informationen wie folgt ab:

    • Melden Sie sich beim Azure Stack Hub-Portal https://portal.local.azurestack.external/ an.
    • Wählen Sie Alle Dienste>Alle Ressourcen. Suchen Sie in Ihrer Clusterressourcengruppe nach dem Master. Der Master hat den Namen k8s-master-<sequence-of-numbers>.
  2. Öffnen Sie den Steuerungsebenenknoten im Portal. Kopieren Sie die öffentliche IP-Adresse. Klicken Sie auf Verbinden, um Ihren Benutzernamen im Feld Mit lokalem VM-Konto anmelden abzurufen. Dies ist der Benutzername, den Sie beim Erstellen Ihres Clusters festgelegt haben. Verwenden Sie die öffentliche IP-Adresse und nicht die private IP-Adresse, die auf dem Blatt „Verbinden“ angegeben ist.

  3. Öffnen Sie einen SSH-Client, um eine Verbindung mit dem Master herzustellen. Wenn Sie unter Windows arbeiten, können Sie Putty zum Herstellen der Verbindung verwenden. Sie verwenden die öffentliche IP-Adresse für den Steuerungsebenenknoten und den Benutzernamen und fügen den privaten Schlüssel hinzu, den Sie beim Erstellen des Clusters verwendet haben.

  4. Geben Sie nach der Verbindungsherstellung mit dem Terminal kubectl ein, um den Kubernetes-Befehlszeilenclient zu öffnen.

  5. Führen Sie den folgenden Befehl aus:

    kubectl cluster-info 
    

    Suchen Sie nach der URL für das Dashboard. Beispiel: https://k8-1258.local.cloudapp.azurestack.external/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy

  6. Extrahieren Sie das selbstsignierte Zertifikat, und konvertieren Sie es in das PFX-Format. Führen Sie den folgenden Befehl aus:

    sudo su 
    openssl pkcs12 -export -out /etc/kubernetes/certs/client.pfx -inkey /etc/kubernetes/certs/client.key  -in /etc/kubernetes/certs/client.crt -certfile /etc/kubernetes/certs/ca.crt 
    
  7. Rufen Sie die Liste mit den Geheimnissen im Namespace kube-system ab. Führen Sie den folgenden Befehl aus:

    kubectl -n kube-system get secrets
    

    Notieren Sie sich den Wert von „kubernetes-dashboard-token-<XXXXX>“.

  8. Rufen Sie das Token ab, und speichern Sie es. Aktualisieren Sie kubernetes-dashboard-token-<####> mit dem Geheimniswert aus dem vorherigen Schritt.

    kubectl -n kube-system describe secret kubernetes-dashboard-token-<####>| awk '$1=="token:"{print $2}' 
    

Importieren des Zertifikats

  1. Öffnen Sie FileZilla, und stellen Sie eine Verbindung mit dem Steuerungsebenenknoten her. Sie benötigen Folgendes:

    • öffentliche IP des Steuerungsebenenknotens
    • Benutzername
    • Privates Geheimnis
    • Verwenden Sie SFTP (SSH File Transfer Protocol) .
  2. Kopieren Sie /etc/kubernetes/certs/client.pfx und /etc/kubernetes/certs/ca.crt auf Ihren Azure Stack Hub-Verwaltungscomputer.

  3. Notieren Sie sich die Dateispeicherorte. Aktualisieren Sie das Skript mit den Speicherorten, und öffnen Sie anschließend PowerShell mit einer Eingabeaufforderung mit erhöhten Rechten. Führen Sie das aktualisierte Skript aus:

    Import-Certificate -Filepath "ca.crt" -CertStoreLocation cert:\LocalMachine\Root 
    $pfxpwd = Get-Credential -UserName 'Enter password below' -Message 'Enter password below' 
    Import-PfxCertificate -Filepath "client.pfx" -CertStoreLocation cert:\CurrentUser\My -Password $pfxpwd.Password 
    

Öffnen des Kubernetes-Dashboards

  1. Deaktivieren Sie den Popupblocker in Ihrem Webbrowser.

  2. Navigieren Sie in Ihrem Browser zu der URL, die Sie sich beim Ausführen des Befehls kubectl cluster-info notiert haben. Beispiel: https://azurestackdomainnamefork8sdashboard/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy

  3. Wählen Sie das Clientzertifikat aus.

  4. Geben Sie das Token ein.

  5. Stellen Sie auf dem Steuerungsebenenknoten erneut eine Verbindung mit der Bash-Befehlszeile her, und gewähren Sie Berechtigungen für kubernetes-dashboard. Führen Sie den folgenden Befehl aus:

    kubectl create clusterrolebinding kubernetes-dashboard --clusterrole=cluster-admin --serviceaccount=kube-system:kubernetes-dashboard 
    

    Mit dem Skript werden Cloudadministrator-Berechtigungen für kubernetes-dashboard gewährt. Weitere Informationen finden Sie unter Zugreifen auf das Kubernetes-Webdashboard in Azure Kubernetes Service (AKS).

Sie können das Dashboard verwenden. Weitere Informationen zum Kubernetes-Dashboard finden Sie unter Kubernetes Web UI Dashboard (Kubernetes-Dashboard mit Webbenutzeroberfläche).

Azure Stack Hub-Kubernetes-Dashboard

Problembehandlung

Benutzerdefinierte virtuelle Netzwerke

Wenn es beim Zugreifen auf das Kubernetes-Dashboard Konnektivitätsprobleme gibt, nachdem Sie Kubernetes in einem benutzerdefinierten virtuellen Netzwerk bereitgestellt haben, überprüfen Sie, ob die Zielsubnetze mit der Routingtabelle und den Netzwerksicherheitsgruppen-Ressourcen verknüpft sind, die von der AKS-Engine erstellt wurden.

Stellen Sie sicher, dass die Regeln für die Netzwerksicherheitsgruppe die Kommunikation zwischen den Steuerungsebenenknoten und der IP-Adresse des Kubernetes-Dashboard-Pods zulassen. Dies kann mithilfe des ping-Befehls von einem Steuerungsebenenknoten überprüft werden.

Nächste Schritte

Bereitstellen von Kubernetes in Azure Stack Hub

Hinzufügen eines Kubernetes-Clusters zu Marketplace (für Azure Stack Hub-Operator)

Kubernetes in Azure