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
- Exporte os certificados Kubernetes do nó do plano de controle no cluster.
- Importe os certificados para sua máquina de gerenciamento do Azure Stack Hub.
- 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.
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>
.
- Entre no portal do Azure Stack Hub em
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.
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.
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 o 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 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
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>.
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 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
Copie
/etc/kubernetes/certs/client.pfx
e/etc/kubernetes/certs/ca.crt
para sua máquina de gerenciamento do Azure Stack Hub.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
Desative o bloqueador de pop-ups no seu navegador da Web.
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
.Selecione o certificado do cliente.
Insira o token.
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.
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.