Implementar o Kubernetes Dashboard
Se você está começando com Kubernetes ou quer uma forma prática de visualizar recursos como pods, serviços, namespaces e muito mais, o Kubernetes Dashboard é uma interface gráfica (GUI) oficial e bastante útil para gerenciar clusters. Neste post, vou te mostrar como instalar, acessar com segurança e utilizar o Kubernetes Dashboard, seja para ambientes de teste ou produção.
✅ O que é o Kubernetes Dashboard?
O Kubernetes Dashboard é uma interface web que permite visualizar e interagir com os recursos do seu cluster Kubernetes, como:
- Deployments, Pods, ConfigMaps, Services
- Logs e status dos componentes
- Criação de recursos (via YAML ou formulário)
- Gerenciamento visual de namespaces e recursos
📦 Pré-requisitos
Antes de começar, certifique-se de ter:
- Um cluster Kubernetes em funcionamento (Minikube, Kind, K3s ou um cluster real)
- kubectl instalado e configurado
- Acesso administrativo ao cluster
🚀 Etapa 1: Instalar o Kubernetes Dashboard
Execute o seguinte comando para aplicar o manifesto oficial do Dashboard:
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yaml
Isso criará todos os recursos necessários no namespace kubernetes-dashboard, incluindo:
- Deployment
- Service (do tipo ClusterIP)
- RBAC (papéis e bindings)
- Secrets e configurações internas
🔐 Etapa 2: Criar um Usuário Administrativo
Para acessar o Dashboard com permissões completas, você precisa criar um Service Account com permissões de administrador:
📄 Crie o arquivo
admin-user.yaml
:
--- apiVersion: v1 kind: ServiceAccount metadata: name: admin-user namespace: kubernetes-dashboard --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: admin-user-binding roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: cluster-admin subjects: - kind: ServiceAccount name: admin-user namespace: kubernetes-dashboard
💡 Aplique o arquivo:
kubectl apply -f admin-user.yaml
🔑 Etapa 3: Gerar o Token de Acesso
Agora, você precisa obter o token de acesso para autenticar no Dashboard:
kubectl -n kubernetes-dashboard create token admin-user
Isso retornará um token JWT. Copie e guarde, pois você vai usá-lo no login.
🌐 Etapa 4: Acessar o Dashboard
Como o serviço do Dashboard é interno (ClusterIP), você pode acessá-lo via proxy do kubectl:
kubectl proxy
Acesse no navegador o seguinte endereço:
http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/
Você verá a tela de login. Selecione a opção Token, cole o token que você gerou anteriormente e clique em “Sign In”.
🛡️ Etapa Opcional: Expor o Dashboard Externamente (Não Recomendado para Produção)
Se você quiser acessar de fora do cluster (com Cloudflare, Ingress ou LoadBalancer), será necessário:
- Alterar o tipo do Service para NodePort ou usar um Ingress
- Proteger com HTTPS e autenticação (por exemplo, via OIDC ou OAuth2 Proxy)
⚠️ Atenção: Expor o Dashboard diretamente para a internet não é recomendado em ambientes de produção.
🧪 Teste Rápido: Criando um Pod via Interface
Depois de logado no Dashboard, tente:
- Clicar em “Create” no canto superior direito
- Selecionar “Create from input”
- Inserir o seguinte YAML:
apiVersion: v1 kind: Pod metadata: name: nginx-test spec: containers: - name: nginx image: nginx ports: - containerPort: 80
- Clicar em “Deploy”
Você verá o pod rodando e poderá até visualizar os logs diretamente na interface.
📘 Conclusão
O Kubernetes Dashboard é uma ferramenta poderosa para gerenciar visualmente seus recursos Kubernetes. Ele não substitui o kubectl, mas é ótimo para quem está aprendendo ou precisa de uma visão rápida do cluster.
Se for usar em produção, lembre-se de garantir:
- Controle de acesso RBAC refinado
- Autenticação segura (OIDC, OAuth2, SSO)
- Acesso somente interno (VPN ou Proxy seguro)
🧠 Dica Final
Para evitar riscos de segurança, não exponha o Dashboard publicamente sem autenticação forte. Prefira acessos via VPN, túnel SSH ou por kubectl proxy.