A instalação do Kubernetes Dashboard em um cluster Kubernetes gerenciado pelo k3s é uma maneira eficiente de monitorar e gerenciar os recursos do cluster de forma gráfica. Neste texto, serão abordados os passos para realizar a instalação do Dashboard e sua configuração, permitindo acesso seguro e controle administrativo sobre os componentes do cluster.
- k3s instalado e em funcionamento;
- Acesso ao cluster via kubectl configurado;
- Acesso à internet para baixar os manifestos do Kubernetes Dashboard.
Para seguir com a instalação, é necessário ter um cluster Kubernetes com k3s já configurado e operando corretamente. No caso deste tutorial, considera-se que o cluster está rodando em um ambiente Raspberry Pi, uma escolha comum para setups domésticos ou de laboratório. Além disso, deve-se garantir o seguinte:
O Kubernetes Dashboard pode ser instalado através de um manifesto YAML oficial disponibilizado pela comunidade Kubernetes. Para instalá-lo, execute o seguinte comando no seu terminal, que baixará e aplicará o manifesto diretamente no cluster:
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yamlEsse comando criará todos os componentes necessários para o Dashboard, como os deployments, serviços e namespaces.
kubectl get pods -n kubernetes-dashboardPor padrão, o Dashboard não está acessível externamente por questões de segurança. Para acessá-lo fora do cluster, podemos expô-lo temporariamente via proxy ou configurar um serviço LoadBalancer.
Uma maneira rápida e fácil de acessar o Dashboard é utilizando o comando proxy do kubectl:
kubectl proxyA partir disso, o Dashboard poderá ser acessado localmente através do URL:
http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxyCaso prefira ter acesso externo ao Dashboard, configure um LoadBalancer. No caso do k3s, o MetalLB pode ser usado para fornecer IPs externos.
Crie um arquivo service.yaml com o seguinte conteúdo:
apiVersion: v1
kind: Service
metadata:
labels:
k8s-app: kubernetes-dashboard
name: kubernetes-dashboard-lb
namespace: kubernetes-dashboard
spec:
ports:
- port: 443
targetPort: 8443
selector:
k8s-app: kubernetes-dashboard
type: LoadBalancer
Aplique o serviço:
kubectl apply -f service.yamlEsse serviço agora estará acessível externamente no IP atribuído pelo LoadBalancer.
Após configurar o acesso ao Dashboard, será necessário autenticar-se para utilizá-lo. No Kubernetes, a autenticação é feita utilizando tokens de acesso. Para gerar um token de administrador, execute os seguintes comandos:
apiVersion: v1
kind: ServiceAccount
metadata:
name: admin-user
namespace: kubernetes-dashboard
Em seguida, aplique a seguinte configuração de ClusterRoleBinding:
kubectl -n kubernetes-dashboard create token admin-userEsse comando gerará um token que deverá ser utilizado para se autenticar na interface do Dashboard.
A instalação do Kubernetes Dashboard em um cluster gerenciado pelo k3s é um processo direto, mas que requer atenção a detalhes relacionados à segurança e acessibilidade. O Dashboard oferece uma forma eficiente de gerenciar o cluster de maneira visual, sendo uma ferramenta essencial para monitoramento e administração em pequenos e médios ambientes de Kubernetes.