Condividi tramite


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

  1. Esportare i certificati Kubernetes dal nodo del piano di controllo nel cluster.
  2. Importare i certificati nel computer di gestione dell'hub di Azure Stack.
  3. 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.

  1. 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>.
  2. 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.

  3. 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.

  4. Quando il terminale si connette, digitare kubectl per aprire il client della riga di comando di Kubernetes.

  5. 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

  6. 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 
    
  7. 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>.

  8. 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

  1. 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
  2. Copiare /etc/kubernetes/certs/client.pfx e /etc/kubernetes/certs/ca.crt nel computer di gestione dell'hub di Azure Stack.

  3. 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

  1. Disabilitare il blocco popup nel Web browser.

  2. 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.

  3. Selezionare il certificato client.

  4. Immettere il token.

  5. 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.

dashboard Kubernetes dell'hub di Azure Stack

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.

Passaggi successivi