Acessar o Painel do Kubernetes no Azure Stack Hub

Observação

Use apenas o item Marketplace do Azure Stack do Kubernetes para implantar clusters como prova de conceito. Para clusters do Kubernetes com suporte no Azure Stack, use o mecanismo do AKS.

O Kubernetes inclui um dashboard da Web que você pode usar para operações básicas de gerenciamento. Este painel permite exibir o status de integridade básico e as métricas dos seus aplicativos, criar e implantar serviços e editar aplicativos existentes. Este artigo mostra como configurar a dashboard do Kubernetes no Azure Stack Hub.

Pré-requisitos para o Painel do Kubernetes

  • Cluster kubernetes do Azure Stack Hub

    Você precisará ter implantado um cluster do Kubernetes no Azure Stack Hub. Para obter mais informações, consulte Implantar o Kubernetes.

  • Cliente SSH

    Você precisará de um cliente SSH para se conectar à segurança ao nó do painel de controle no cluster. Se você estiver usando o Windows, poderá usar Putty. Você precisará da chave privada usada ao implantar o cluster do Kubernetes.

  • FTP (PSCP)

    Talvez você também precise de um cliente FTP que dê suporte ao Protocolo de Transferência de Arquivo SSH e SSH para transferir os certificados do nó do painel de controle para o computador de gerenciamento do Azure Stack Hub. Você pode usar FileZilla. Você precisará da chave privada usada ao implantar o cluster do Kubernetes.

Visão geral das etapas para habilitar dashboard

  1. Exporte os certificados do Kubernetes do nó do painel de controle no cluster.
  2. Importe os certificados para o computador de gerenciamento do Azure Stack Hub.
  3. Abra o dashboard web do Kubernetes.

Exportar certificado do master

Você pode recuperar a URL do dashboard do nó do painel de controle no cluster.

  1. Obtenha o endereço IP público e o nome de usuário do cluster master do dashboard do Azure Stack Hub. Para obter essas informações:

    • Entre no portal https://portal.local.azurestack.external/do Azure Stack Hub.
    • Selecione Todos os serviços>Todos os recursos. Localize o master no grupo de recursos do cluster. O master é chamado k8s-master-<sequence-of-numbers>de .
  2. Abra o nó do painel de controle no portal. Copie o endereço IP público . Clique em Conectar para obter seu nome de usuário na caixa Logon usando a conta local da VM . Esse é o mesmo nome de usuário que você define ao criar seu cluster. Use o endereço IP público em vez do endereço IP privado listado na folha conectar.

  3. Abra um cliente SSH para se conectar ao master. Se você estiver trabalhando no Windows, poderá usar Putty para criar a conexão. Você usará o endereço IP público para o nó do painel de controle, o nome de usuário e adicionará a chave privada usada ao criar o cluster.

  4. Quando o terminal se conectar, digite kubectl para abrir o cliente de linha de comando do Kubernetes.

  5. Execute o comando a seguir:

    kubectl cluster-info 
    

    Localize a 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 comando a seguir:

    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 namespace kube-system . Execute o comando a seguir:

    kubectl -n kube-system get secrets
    

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

  8. Obtenha o token e salve-o. Atualize o kubernetes-dashboard-token-<####> com o valor do segredo da etapa anterior.

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

Importar o certificado

  1. Abra o Filezilla e conecte-se ao nó do painel de controle. Você precisará do seguinte:

    • o IP público do nó do painel de controle
    • o nome de usuário
    • o segredo privado
    • Usar o protocolo SFTP – Transferência de Arquivo SSH
  2. Copie /etc/kubernetes/certs/client.pfx e /etc/kubernetes/certs/ca.crt para o computador de gerenciamento do Azure Stack Hub.

  3. Anote os locais do arquivo. Atualize o script com os locais e abra o PowerShell com um prompt 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. Desabilite o bloqueador de pop-ups no navegador da Web.

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

  3. Selecione o certificado do cliente.

  4. Insira o token.

  5. Reconecte-se à linha de comando bash no nó do painel de controle e conceda permissões a kubernetes-dashboard. Execute o comando a seguir:

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

    O script fornece kubernetes-dashboard privilégios de administrador de nuvem. Para obter mais informações, consulte Para clusters habilitados para RBAC.

Você pode usar o dashboard. Para obter mais informações sobre a dashboard do Kubernetes, consulte Painel de interface do usuário da Web do Kubernetes

Painel do Kubernetes do Azure Stack Hub

Solução de problemas

Redes Virtuais Personalizadas

Se você enfrentar problemas de conectividade ao acessar o kubernetes dashboard depois de implantar o Kubernetes em uma rede virtual personalizada, verifique se as sub-redes de destino estão vinculadas à tabela de rotas e aos recursos do grupo de segurança de rede que foram criados pelo mecanismo do AKS.

Verifique se as regras do grupo de segurança de rede permitem a comunicação entre os nós do painel de controle e o IP do pod dashboard kubernetes. Isso pode ser validado usando o comando ping de um nó do painel de controle.

Próximas etapas

Implantar o Kubernetes no Azure Stack Hub

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

Kubernetes no Azure