Partilhar via


Acessar o Painel do Kubernetes no Azure Stack Hub

Observação

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

O Kubernetes inclui um painel da Web que você pode usar para operações básicas de gerenciamento. Esse painel permite visualizar o status básico de integridade e as métricas de 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 conectar-se com segurança ao nó do plano de controle no cluster. Se você usa o Windows, você pode usar Putty. Você precisa da chave privada usada quando implantou o cluster do Kubernetes.
  • FTP (PSCP): um cliente FTP que suporta SSH e o Protocolo de Transferência de Ficheiros SSH para transferir os certificados do nó do plano de controlo para a máquina de gestão 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 sua máquina de gerenciamento do Azure Stack Hub.
  3. Abra o painel da Web do Kubernetes.

Certificado de exportação do principal

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

  1. Obtenha o endereço IP público e o nome de usuário para seu 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. Encontre o mestre no seu grupo de recursos de cluster. O mestre chama-se k8s-master-<sequence-of-numbers>.
  2. Abra o nó do plano de controle no portal. Copie o endereço IP público . Selecione Conectar para obter o seu nome de utilizador na caixa de Login usando a conta local da VM. Este é o mesmo nome de usuário que você definiu quando 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ê usa o Windows, você pode usar Putty para criar a conexão. Utiliza o endereço IP público para o nó do plano de controlo, o nome de utilizador, e adiciona a chave privada que utilizou quando criou o 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 o 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 para o 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 kube-system namespace. Execute o seguinte comando:

    kubectl -n kube-system get secrets
    

    Anote o valor do token 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 plano de controle. Você precisa das seguintes informações:

    • IP público do nó do plano de controle
    • Nome de utilizador
    • Segredo privado
    • Use SFTP - SSH File Transfer Protocol
  2. Copie /etc/kubernetes/certs/client.pfx e /etc/kubernetes/certs/ca.crt para sua máquina de gerenciamento do Azure Stack Hub.

  3. Anote os locais dos arquivos. Atualize o script incluindo 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 
    

Abra o painel do Kubernetes

  1. Desative o bloqueador de pop-ups no seu navegador da Web.

  2. Aponte seu navegador para o URL anotado 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 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 dá privilégios de administrador de nuvem kubernetes-dashboard. Para obter mais informações, consulte Para clusters habilitados para RBAC.

Agora você pode usar o painel. Para obter mais informações sobre o Kubernetes Web UI Dashboard, consulte Painel 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 uma rede virtual personalizada , certifique-se de que as sub-redes de destino estejam vinculadas à tabela de rotas e aos recursos do grupo de segurança de rede criados pelo mecanismo AKS.

Certifique-se de que as regras do grupo de segurança de rede permitam a comunicação entre os nós do plano de controlo e o IP do pod do dashboard do Kubernetes. Você pode validar essa permissão usando o comando ping de um nó do plano de controle.

Próximos passos