Compartilhar via


Acessar o Painel do Kubernetes no Azure Stack Hub

Nota

Use apenas o item do Azure Stack Marketplace do Kubernetes para implantar clusters como uma prova de conceito. Para clusters do Kubernetes compatíveis com o Azure Stack, use o mecanismo do AKS.

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

Pré-requisitos para o Painel do Kubernetes

  • Cluster Kubernetes do Azure Stack Hub: um cluster Kubernetes implantado no Azure Stack Hub. Para obter mais informações, consulte Implantar o Kubernetes.
  • Cliente SSH: um cliente SSH para se conectar com segurança ao nó do plano de controle do cluster. Se você usar o Windows, poderá usar Putty. Você precisa da chave privada usada quando implantou o cluster do Kubernetes.
  • FTP (PSCP): um cliente FTP que oferece suporte a SSH e ao Protocolo de Transferência de Arquivos SSH para transferir os certificados do nó de controle para a máquina de gerenciamento do Azure Stack Hub. Você pode usar FileZilla. Você precisa da chave privada usada quando implantou o cluster do Kubernetes.

Visão geral das etapas para habilitar o painel

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

Exportar certificado do mestre

Você pode recuperar a URL do painel do nó do plano de controle em seu cluster.

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

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

  3. Abra um cliente SSH para se conectar ao cluster principal. Se você usar o Windows, poderá usar Putty para criar a conexão. Use o endereço IP público para o nó do plano de controle, juntamente com o nome de usuário, e adicione a chave privada que foi utilizada na criação do cluster.

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

  5. Execute o seguinte comando:

    kubectl cluster-info 
    

    Encontre a URL do painel. 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 namespace do sistema kube . Execute o seguinte comando:

    kubectl -n kube-system get secrets
    

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

  8. Obtenha o token e salve-o. Atualize o kubernetes-dashboard-token-<####> com o valor secreto 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ê precisa das seguintes informações:

    • IP público do nó do painel de controle
    • Nome de usuário
    • Segredo privado
    • Use SFTP - Protocolo de Transferência de Arquivos 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 dos arquivos. Atualize o script com as localizações 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 painel do Kubernetes

  1. Desabilite o bloqueador pop-up 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 do bash no nó do plano de controle 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 fornece privilégios de administrador de nuvem kubernetes-dashboard. Para saber mais, consulte Para clusters habilitados para RBAC.

Agora você pode usar o painel. Para saber mais sobre o painel do Kubernetes, consulte Painel de interface do usuário Web do Kubernetes.

Painel do Kubernetes do Azure Stack Hub

Solução de problemas

Redes virtuais personalizadas

Se você encontrar problemas de conectividade ao acessar o painel do Kubernetes depois de implantar o Kubernetes em um de 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 plano de controle e o endereço IP do pod do painel do Kubernetes. Você pode validar essa permissão usando o comando ping de um nó do plano de controle.

Próximas etapas