Implementar o Kubernetes Dashboard Estimated reading: 4 minutes 74 views 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.