Configurando Dashboard Kubernetes
Esse guia tem como objetivo o auxílio na criação do token de acesso ao dashboard do Kubernetes e está dividido nas seguintes seções:
Baixando a ferramenta kubectl e configurando o arquivo kube.conf,
Configurando um token para acesso ao dashboard,
Acessando o dashboard.
1. Baixando a ferramenta kubectl e configurando o arquivo kube.conf
1.1 Instale a ferramenta kubectl em seu nodo de controle:
# Atualiza a lista de pacotes disponíveis no sistema
sudo apt update
# Baixa a versão do cliente conforme sua versão do cluster:
# Versão 1.27.3
curl -LO https://dl.k8s.io/release/v1.27.3/bin/linux/amd64/kubectl
# Versão 1.28.4
curl -LO https://dl.k8s.io/release/v1.28.4/bin/linux/amd64/kubectl
# Versão 1.29.7
curl -LO https://dl.k8s.io/release/v1.29.7/bin/linux/amd64/kubectl
# Versão 1.30.3
curl -LO https://dl.k8s.io/release/v1.30.3/bin/linux/amd64/kubectl
# Dá permissão de execução ao binário do kubectl
chmod +x kubectl
# Move o kubectl para o diretório de binários do sistema, tornando-o acessível globalmente
sudo mv kubectl /usr/local/bin/
# Cria o diretório oculto .kube no diretório do usuário, se ainda não existir
mkdir -p ~/.kube
# Copia o arquivo de configuração do Kubernetes (gerado pelo kubeadm) para o diretório do usuário
sudo cp /etc/kubernetes/admin.conf ~/.kube/config
# Altera a propriedade do arquivo de configuração para o usuário atual
sudo chown $(id -u):$(id -g) ~/.kube/config
1.2 Instale seu editor de texto preferido e crie o arquivo kube.conf, o conteúdo do arquivo deve ser o mesmo disponível no portal.
2. Configurando um token para acesso ao dashboard
Para conseguir acessar o serviço de dashboard do Kubernetes, é necessário que crie uma ServiceAccount admin e gere o token através dos passos abaixo:
2.1 É necessário ver se o serviço do dashboard está ativo:
# Comando para retornar os pods, deve aparecer algo como "kubernetes-dashboard-xxx" em estado running.
kubectl --kubeconfig ./kube.conf get pods -n kubernetes-dashboard
2.2 Será necessário criar um serviço para autenticação no dashboard, para isso:
# Pode substituir admin-user pelo usuário que desejar, mas dai também é necessário alterar nos outros comandos e no manifesto
kubectl --kubeconfig ./kube.conf create serviceaccount admin-user -n kubernetes-dashboard
2.3 Conceda permissões de administrador para o ServiceAccount:
# Execute o trecho de código inteiro
kubectl --kubeconfig ./kube.conf create clusterrolebinding admin-user --clusterrole=cluster-admin --serviceaccount=kubernetes-dashboard:admin-user
2.4 Configure um manifesto para entregar o token ao usuário administrador:
2.4.1 Crie um arquivo como “admin-user-secret.yaml” e cole o conteúdo a seguir nele:
apiVersion: v1
kind: Secret
metadata:
name: admin-user-token
namespace: kubernetes-dashboard
annotations:
kubernetes.io/service-account.name: admin-user
type: kubernetes.io/service-account-token
2.4.2 Salve o arquivo e execute o comando:
kubectl --kubeconfig ./kube.conf apply -f admin-user-secret.yaml
2.4.3 Confira se o token foi criado:
kubectl --kubeconfig ./kube.conf -n kubernetes-dashboard get secrets
2.4.4 Execute o comando para verificar o Token, a imagem abaixo mostra onde ele se encontra.
kubectl --kubeconfig ./kube.conf -n kubernetes-dashboard describe secret admin-user-token
3. Acessando o Dashboard
Com o token em mão, siga o seguinte processo para acesso ao dashboard:
3.1 Rode o proxy localmente, para isso:
3.1.1 Instale a ferramenta kubectl em sua máquina local, pode utilizar uma das opções disponibilizadas no portal:
3.1.2 Baixe o arquivo kube.conf em sua máquina local:
3.1.3 Execute o comando a seguir localmente. Você pode simplesmente passar o caminho dos arquivos:
./kubectl --kubeconfig ./kube.conf proxy
3.2 Acesse ao link do dashboard:
3.3 Cole o token gerado na seção 2 na opção de Token
Agora o acesso ao Dashboard está configurado!