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
- Exportieren Sie die Kubernetes-Zertifikate aus dem Steuerebenenknoten im Cluster.
- Importieren Sie die Zertifikate auf Ihren Azure Stack Hub-Verwaltungscomputer.
- Ö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.
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>
.
- Melden Sie sich bei
Ö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.
Ö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.
Wenn das Terminal eine Verbindung herstellt, geben Sie
kubectl
ein, um den Kubernetes-Befehlszeilenclient zu öffnen.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
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 Kubernetes-dashboard-token-<XXXXX> Wert.
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
Ö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
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.
Verweisen Sie Ihren Browser auf die URL, die angegeben wurde, wenn Sie den Befehl
kubectl cluster-info
ausgeführt haben; beispiel:https://azurestackdomainnamefork8sdashboard/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy
.Wä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
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.
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.