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
- Exportieren Sie die Kubernetes-Zertifikate vom Steuerungsebenenknoten in den Cluster.
- Importieren Sie die Zertifikate in Ihren Azure Stack Hub-Verwaltungscomputer.
- Ö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.
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>
.
- Melden Sie sich beim Azure Stack Hub-Portal
Ö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.
Ö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.
Geben Sie nach der Verbindungsherstellung mit dem Terminal
kubectl
ein, um den Kubernetes-Befehlszeilenclient zu öffnen.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
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
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>“.
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
Ö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) .
Kopieren Sie
/etc/kubernetes/certs/client.pfx
und/etc/kubernetes/certs/ca.crt
auf Ihren Azure Stack Hub-Verwaltungscomputer.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
Deaktivieren Sie den Popupblocker in Ihrem Webbrowser.
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:/proxyWählen Sie das Clientzertifikat aus.
Geben Sie das Token ein.
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).
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)