Aceder ao Dashboard do Kubernetes no Azure Stack Hub

Nota

Utilize apenas o item Marketplace do Azure Stack do Kubernetes para implementar os clusters como prova de conceito. Para clusters do Kubernetes suportados no Azure Stack, utilize o motor AKS.

O Kubernetes inclui um dashboard Web que pode utilizar para operações de gestão básicas. Este dashboard permite-lhe ver o estado de funcionamento básico e as métricas das suas aplicações, criar e implementar serviços e editar aplicações existentes. Este artigo mostra-lhe como configurar o dashboard do Kubernetes no Azure Stack Hub.

Pré-requisitos do Dashboard do Kubernetes

  • Cluster do Kubernetes do Azure Stack Hub

    Terá de ter implementado um cluster do Kubernetes no Azure Stack Hub. Para obter mais informações, veja Implementar o Kubernetes.

  • Cliente SSH

    Precisará de um cliente SSH para estabelecer ligação de segurança ao nó do plano de controlo no cluster. Se estiver a utilizar o Windows, pode utilizar o Putty. Precisará da chave privada utilizada quando implementar o cluster do Kubernetes.

  • FTP (PSCP)

    Também poderá precisar de um cliente FTP que suporte SSH e SSH File Transfer Protocol para transferir os certificados do nó do plano de controlo para o computador de gestão do Azure Stack Hub. Pode utilizar o FileZilla. Precisará da chave privada utilizada quando implementar o cluster do Kubernetes.

Descrição geral dos passos para ativar o dashboard

  1. Exporte os certificados do Kubernetes do nó do plano de controlo no cluster.
  2. Importe os certificados para o computador de gestão do Azure Stack Hub.
  3. Abra o dashboard Web do Kubernetes.

Exportar certificado do mestre

Pode obter o URL do dashboard a partir do nó do plano de controlo no cluster.

  1. Obtenha o endereço IP público e o nome de utilizador do seu mestre de cluster no dashboard do Azure Stack Hub. Para obter estas informações:

    • Inicie sessão no portal https://portal.local.azurestack.external/do Azure Stack Hub.
    • Selecione Todos os serviços>Todos os recursos. Localize o mestre no grupo de recursos do cluster. O mestre chama-se k8s-master-<sequence-of-numbers>.
  2. Abra o nó do plano de controlo no portal. Copie o endereço IP público . Clique em Ligar para obter o seu nome de utilizador na caixa Iniciar sessão com a conta local da VM . Este é o mesmo nome de utilizador que definiu ao criar o cluster. Utilize o endereço IP público em vez do endereço IP privado listado no painel ligar.

  3. Abra um cliente SSH para ligar ao mestre. Se estiver a trabalhar no Windows, pode utilizar o Putty para criar a ligação. Irá utilizar o endereço IP público para o nó do plano de controlo, o nome de utilizador e adicionar a chave privada que utilizou ao criar o cluster.

  4. Quando o terminal se ligar, escreva kubectl para abrir o cliente da linha de comandos do Kubernetes.

  5. Execute o seguinte comando:

    kubectl cluster-info 
    

    Localize o URL do dashboard. Por exemplo: https://k8-1258.local.cloudapp.azurestack.external/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy

  6. Extraia o certificado autoassinado e converta-o no formato PFX. Execute o seguinte comando:

    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. Obtenha a lista de segredos no espaço de nomes kube-system . Execute o seguinte comando:

    kubectl -n kube-system get secrets
    

    Anote o valor kubernetes-dashboard-token-XXXXX<>.

  8. Obtenha o token e guarde-o. Atualize o kubernetes-dashboard-token-<####> com o valor do segredo do passo anterior.

    kubectl -n kube-system describe secret kubernetes-dashboard-token-<####>| awk '$1=="token:"{print $2}' 
    

Importar o certificado

  1. Abra Filezilla e ligue ao nó do plano de controlo. Irá precisar de:

    • o IP público do nó do plano de controlo
    • o nome de utilizador
    • o segredo privado
    • Utilizar SFTP – Protocolo de Transferência de Ficheiros SSH
  2. Copie /etc/kubernetes/certs/client.pfx e /etc/kubernetes/certs/ca.crt para o computador de gestão do Azure Stack Hub.

  3. Anote as localizações dos ficheiros. Atualize o script com as localizações e, em seguida, abra o PowerShell com um pedido elevado. Execute o script atualizado:

    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 
    

Abrir o dashboard do Kubernetes

  1. Desative o bloqueador de janelas de pop-up no browser.

  2. Aponte o browser para o URL indicado quando executou o comando kubectl cluster-info. Por exemplo: https://azurestackdomainnamefork8sdashboard/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy

  3. Selecione o certificado de cliente.

  4. Introduza o token.

  5. Volte a ligar-se à linha de comandos bash no nó do plano de controlo e dê permissões para kubernetes-dashboard. Execute o seguinte comando:

    kubectl create clusterrolebinding kubernetes-dashboard --clusterrole=cluster-admin --serviceaccount=kube-system:kubernetes-dashboard 
    

    O script dá privilégios kubernetes-dashboard de administrador da Cloud. Para obter mais informações, veja Para clusters compatíveis com RBAC.

Pode utilizar o dashboard. Para obter mais informações sobre o dashboard do Kubernetes, veja Dashboard da IU da Web do Kubernetes

Azure Stack Hub Kubernetes Dashboard

Resolução de problemas

Redes Virtuais Personalizadas

Se tiver problemas de conectividade ao aceder ao dashboard do Kubernetes depois de implementar o Kubernetes numa rede virtual personalizada, certifique-se de que as sub-redes de destino estão ligadas à tabela de rotas e aos recursos do grupo de segurança de rede que foram criados pelo motor do AKS.

Confirme que as regras do grupo de segurança de rede permitem a comunicação entre os nós do plano de controlo e o IP do pod do dashboard do Kubernetes. Isto pode ser validado com o comando ping de um nó de plano de controlo.

Passos seguintes

Implementar o Kubernetes no Azure Stack Hub

Adicionar um cluster do Kubernetes ao Marketplace (para o operador do Azure Stack Hub)

Kubernetes no Azure