Freigeben über


Zugreifen auf das Kubernetes-Dashboard im Azure Stack Hub

Anmerkung

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

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

Voraussetzungen für Kubernetes-Dashboard

  • Azure Stack Hub Kubernetes-Cluster: ein Kubernetes-Cluster, der auf Azure Stack Hub bereitgestellt wird. Weitere Informationen finden Sie unter Bereitstellen von Kubernetes.
  • SSH-Client: ein SSH-Client zum Herstellen einer Sicherheitsverbindung mit Ihrem Steuerebenenknoten im Cluster. Wenn Sie Windows verwenden, können Sie Puttyverwenden. Sie benötigen den privaten Schlüssel, den Sie beim Bereitstellen ihres Kubernetes-Clusters verwendet haben.
  • FTP (PSCP): ein FTP-Client, der SSH und das SSH File Transfer Protocol unterstützt, um die Zertifikate vom Knoten der Steuerungsebene auf Ihren Azure Stack Hub-Verwaltungscomputer zu übertragen. Sie können FileZillaverwenden. Sie benötigen den privaten Schlüssel, den Sie beim Bereitstellen ihres Kubernetes-Clusters verwendet haben.

Übersicht über die Schritte zum Aktivieren des Dashboards

  1. Exportieren Sie die Kubernetes-Zertifikate aus dem Steuerebenenknoten im Cluster.
  2. Importieren Sie die Zertifikate auf 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 aus dem Knoten der Steuerebene in Ihrem Cluster abrufen.

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

    • Melden Sie sich bei https://portal.local.azurestack.external/beim Azure Stack Hub-Portal an.
    • Wählen Sie Alle Dienste>Alle Ressourcenaus. Suchen Sie den Master in Ihrer Clusterressourcengruppe. Der Master heißt k8s-master-<sequence-of-numbers>.
  2. Öffnen Sie den Control Plane-Knoten im Portal. Kopieren Sie die öffentliche IP-Adresse. Wählen Sie Verbinden, um Ihren Benutzernamen im Feld Anmelden mit lokalem VM-Konto zu erhalten. Dies ist derselbe Benutzername, den Sie beim Erstellen des Clusters festgelegt haben. Verwenden Sie die öffentliche IP-Adresse anstelle der privaten IP-Adresse, die im Verbindungsblatt aufgeführt ist.

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

  4. Wenn das Terminal eine Verbindung herstellt, geben Sie kubectl ein, um den Kubernetes-Befehlszeilenclient zu öffnen.

  5. Führen Sie den folgenden Befehl aus:

    kubectl cluster-info 
    

    Suchen Sie die 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 Kubernetes-dashboard-token-<XXXXX> Wert.

  8. Rufen Sie das Token ab, und speichern Sie es. Aktualisieren Sie den kubernetes-dashboard-token-<####> mit dem geheimen Wert 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 Steuerebenenknoten her. Sie benötigen die folgenden Informationen:

    • Knoten der Steuerungsebene öffentliche IP
    • Nutzername
    • Privater geheimer Schlüssel
    • Verwenden 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. Verweisen Sie Ihren Browser auf die URL, die angegeben wurde, wenn Sie den Befehl kubectl cluster-infoausgeführt 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 
    

    Das Skript gewährt kubernetes-dashboard Cloudadministratorberechtigungen. Weitere Informationen finden Sie unter Zugreifen auf das Kubernetes-Webdashboard in Azure Kubernetes Service (AKS).

Sie können jetzt das Dashboard verwenden. Weitere Informationen zum Kubernetes-Dashboard finden Sie unter Kubernetes Web UI Dashboard.

Azure Stack Hub Kubernetes-Dashboard

Fehlerbehebung

Benutzerdefinierte virtuelle Netzwerke

Wenn beim Zugriff auf das Kubernetes-Dashboard nach der Bereitstellung von Kubernetes auf einem benutzerdefinierten virtuellen NetzwerkProbleme auftreten, stellen Sie sicher, dass Zielsubnetze mit der Routentabelle und den Ressourcen der Netzwerksicherheitsgruppe verknüpft sind, die von der AKS-Engine erstellt wurden.

Stellen Sie sicher, dass die Netzwerksicherheitsgruppenregeln die Kommunikation zwischen den Steuerebenenknoten und der Kubernetes-Dashboard-Pod-IP ermöglichen. Sie können diese Berechtigung mithilfe des Befehls ping über einen Knoten der Steuerebene überprüfen.

Nächste Schritte