Accedere al dashboard di Kubernetes nell'hub di Azure Stack
Nota
Per distribuire i cluster come modello di verifica, usare solo l'elemento Marketplace di Azure Stack per Kubernetes. Per i cluster Kubernetes supportati in Azure Stack, usare il motore del servizio Azure Kubernetes.
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 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
Sarà necessario aver distribuito un cluster Kubernetes nell'hub di Azure Stack. Per altre informazioni, vedere Distribuire Kubernetes.
Client SSH
È necessario un client SSH per la sicurezza connettersi al nodo del piano di controllo nel cluster. Se usi Windows, puoi usare Putty. Sarà necessaria la chiave privata usata quando è stato distribuito il cluster Kubernetes.
FTP (PSCP)
Potrebbe essere necessario anche un client FTP che supporti 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. Sarà necessaria la chiave privata usata quando è stato distribuito il 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.
- Aprire il dashboard Web Kubernetes.
Esportare il certificato dal master
È possibile recuperare l'URL del dashboard dal nodo del piano di controllo nel cluster.
Ottenere l'indirizzo IP pubblico e il nome utente per il master del cluster dal dashboard dell'hub di Azure Stack. Per ottenere queste informazioni:
- Accedere al portale
https://portal.local.azurestack.external/
dell'hub di Azure Stack. - Selezionare Tutti i servizi>Tutte le risorse. Trovare il master nel gruppo di risorse cluster. Il master è denominato
k8s-master-<sequence-of-numbers>
.
- Accedere al portale
Aprire il nodo del piano di controllo nel portale. Copiare l'indirizzo IP pubblico . Fare clic su Connetti per ottenere il nome utente nella casella Account di accesso con l'account locale della macchina virtuale . Si tratta dello stesso nome utente impostato durante la 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 master. Se si lavora su Windows, è possibile usare Putty per creare la connessione. Si userà l'indirizzo IP pubblico per il nodo del piano di controllo, il nome utente e si aggiungerà la chiave privata usata durante la 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
Ottenere l'elenco dei segreti nello spazio dei nomi 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.
kubernetes-dashboard-token-<####>
Aggiornare con il valore del 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. Sarà necessario:
- IP pubblico del nodo del piano di controllo
- il nome utente
- il 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. Aggiornare lo script con i percorsi e quindi aprire PowerShell con 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:/proxySelezionare il certificato client.
Immettere il token.
Riconnettersi alla riga di comando bash nel nodo del piano di controllo e concedere 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 altre informazioni, vedere Per i cluster abilitati per il controllo degli accessi in base al ruolo.
È possibile usare il dashboard. Per altre informazioni sul dashboard di Kubernetes, vedere Dashboard dell'interfaccia utente Web kubernetes
Risoluzione dei problemi
Reti virtuali personalizzate
Se si verificano problemi di connettività durante l'accesso al dashboard di Kubernetes dopo la distribuzione di Kubernetes in 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 del servizio Azure Kubernetes.
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 Kubernetes. Questa operazione può essere convalidata usando il comando ping da un nodo del piano di controllo.
Passaggi successivi
Distribuire Kubernetes nell'hub di Azure Stack
Aggiungere un cluster Kubernetes al Marketplace (per l'operatore hub di Azure Stack)