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
- Exporte os certificados Kubernetes do nó do plano de controle no cluster.
- Importe os certificados para o computador de gerenciamento do Azure Stack Hub.
- 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.
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>
.
- Entre no portal do Azure Stack Hub em
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.
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.
Quando o terminal se conectar, digite
kubectl
para abrir o cliente de linha de comando do Kubernetes.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
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
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>.
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
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
Copie
/etc/kubernetes/certs/client.pfx
e/etc/kubernetes/certs/ca.crt
para o computador de gerenciamento do Azure Stack Hub.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
Desabilite o bloqueador pop-up no navegador da Web.
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
.Selecione o certificado do cliente.
Insira o token.
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.
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.