Accedere al dashboard kubernetes nell'hub di Azure Stack
Nota
Usare solo l'elemento Azure Stack Marketplace di Kubernetes per distribuire i cluster come modello di verifica. Per i cluster Kubernetes supportati in Azure Stack, usare l'AKS engine.
Kubernetes include un dashboard Web che è possibile usare per le operazioni di gestione di base. Questo dashboard consente di visualizzare lo stato di integrità di base e le metriche per le applicazioni, creare e distribuire servizi e modificare le applicazioni esistenti. Questo articolo illustra come configurare il dashboard kubernetes nell'hub di Azure Stack.
Prerequisiti per il dashboard kubernetes
- Cluster Kubernetes dell'hub di Azure Stack: un cluster Kubernetes distribuito nell'hub di Azure Stack. Per ulteriori informazioni, vedere Implementare Kubernetes.
- Client SSH: un client SSH per connettersi in modo sicuro al nodo del piano di controllo nel cluster. Se si usa Windows, è possibile usare Putty. È necessaria la chiave privata usata durante la distribuzione del cluster Kubernetes.
- FTP (PSCP): un client FTP che supporta SSH e SSH File Transfer Protocol per trasferire i certificati dal nodo del piano di controllo al computer di gestione dell'hub di Azure Stack. È possibile usare FileZilla. È necessaria la chiave privata usata durante la distribuzione del cluster Kubernetes.
Panoramica dei passaggi per abilitare il dashboard
- Esportare i certificati Kubernetes dal nodo del piano di controllo nel cluster.
- Importare i certificati nel computer di gestione dell'hub di Azure Stack.
- Apri il dashboard web Kubernetes.
Esportare il certificato dal server principale
È possibile recuperare l'URL per il dashboard dal nodo del piano di controllo nel cluster.
Ottenere l'indirizzo IP pubblico e il nome utente per il cluster principale dal dashboard dell'hub di Azure Stack. Per ottenere queste informazioni:
- Accedere al portale dell'hub di Azure Stack all'indirizzo
https://portal.local.azurestack.external/
. - Selezionare Tutti i servizi>Tutte le risorse. Trova il master nel gruppo di risorse del cluster. Il master è denominato
k8s-master-<sequence-of-numbers>
.
- Accedere al portale dell'hub di Azure Stack all'indirizzo
Aprire il nodo del piano di controllo nel portale. Copiare l'indirizzo IP pubblico . Selezionare Connect (Connetti) per ottenere il nome utente nella casella Login using VM local account (Accesso tramite account locale della macchina virtuale). Si tratta dello stesso nome utente impostato al momento della creazione del cluster. Usare l'indirizzo IP pubblico anziché l'indirizzo IP privato elencato nel pannello di connessione.
Aprire un client SSH per connettersi al cluster principale. Se si usa Windows, è possibile usare Putty per creare la connessione. Usare l'indirizzo IP pubblico per il nodo del piano di controllo, il nome utente e aggiungere la chiave privata usata al momento della creazione del cluster.
Quando il terminale si connette, digitare
kubectl
per aprire il client della riga di comando di Kubernetes.Eseguire il comando seguente:
kubectl cluster-info
Trovare l'URL per il dashboard. Ad esempio:
https://k8-1258.local.cloudapp.azurestack.external/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy
Estrarre il certificato autofirmato e convertirlo nel formato PFX. Eseguire il comando seguente:
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
Ottieni l'elenco dei segreti nel namespace kube-system. Eseguire il comando seguente:
kubectl -n kube-system get secrets
Prendere nota del valore kubernetes-dashboard-token-<XXXXX>.
Ottenere il token e salvarlo. Aggiornare il
kubernetes-dashboard-token-<####>
con il valore segreto del passaggio precedente.kubectl -n kube-system describe secret kubernetes-dashboard-token-<####>| awk '$1=="token:"{print $2}'
Importare il certificato
Aprire Filezilla e connettersi al nodo del piano di controllo. Sono necessarie le informazioni seguenti:
- IP pubblico del nodo del piano di controllo
- Nome utente
- Segreto privato
- Usare SFTP - SSH File Transfer Protocol
Copiare
/etc/kubernetes/certs/client.pfx
e/etc/kubernetes/certs/ca.crt
nel computer di gestione dell'hub di Azure Stack.Prendere nota dei percorsi dei file. Aggiorna lo script con i percorsi e quindi apri PowerShell utilizzando un prompt con privilegi elevati. Eseguire lo script aggiornato:
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
Aprire il dashboard di Kubernetes
Disabilitare il blocco popup nel Web browser.
Puntare il browser all'URL annotato quando è stato eseguito il comando
kubectl cluster-info
; ad esempio,https://azurestackdomainnamefork8sdashboard/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy
.Selezionare il certificato client.
Immettere il token.
Riconnetti alla riga di comando bash sul nodo del piano di controllo e assegna le autorizzazioni a
kubernetes-dashboard
. Eseguire il comando seguente:kubectl create clusterrolebinding kubernetes-dashboard --clusterrole=cluster-admin --serviceaccount=kube-system:kubernetes-dashboard
Lo script concede
kubernetes-dashboard
privilegi di amministratore cloud. Per ulteriori informazioni, vedere per i cluster con controllo degli accessi abilitato per ruolo.
È ora possibile usare il dashboard. Per ulteriori informazioni sulla dashboard di Kubernetes, vedere Kubernetes Web UI Dashboard.
Risoluzione dei problemi
Reti virtuali personalizzate
Se si verificano problemi di connettività durante l'accesso al dashboard di Kubernetes dopo aver distribuito Kubernetes a una rete virtuale personalizzata , assicurarsi che le subnet di destinazione siano collegate alla tabella di route e alle risorse del gruppo di sicurezza di rete create dal motore AKS.
Assicurarsi che le regole del gruppo di sicurezza di rete consentano la comunicazione tra i nodi del piano di controllo e l'IP del pod del dashboard di Kubernetes. È possibile convalidare questa autorizzazione usando il comando ping
da un nodo del piano di controllo.