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 si usa Windows, è possibile 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

  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. Aprire il dashboard Web Kubernetes.

Esportare il certificato dal master

È possibile recuperare l'URL del dashboard dal nodo del piano di controllo nel cluster.

  1. 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>.
  2. Aprire il nodo del piano di controllo nel portale. Copiare l'indirizzo IP pubblico . Fare clic su Connessione 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.

  3. Aprire un client SSH per connettersi al master. Se si lavora a 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.

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

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

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

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

Azure Stack Hub Kubernetes Dashboard

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)

Kubernetes in Azure