Kubernetes Dashboard
Kubernetes Dashboard
Déploiement du
dashboard officiel Kubernetes via
Helm, avec un compte de service admin-user lié au rôle cluster-admin.
Décision assumée : le dashboard utilise le rôle
cluster-admin(tous droits sur tous les namespaces). C’est cohérent avec un cluster mono-admin de recherche, pas un modèle multi-tenants. Voir docs/decisions/0010-dashboard-cluster-admin.md.
Installation
./manage.sh # helm install --version figée + --wait + Service NodePort (ADR 0092)kubectl apply -f service-account.yaml # SA admin-userkubectl apply -f cluster-role-binding.yaml # SA → cluster-admin
manage.shapplique aussinodeport.yaml: un ServiceNodePortséparé (n’édite pas le chart Helm vendored, cf. CLAUDE.md) qui expose l’UI en L4 surhttp://<IP-nœud>:<nodePort>(ADR 0092). LenodePortn’est pas figé — Kubernetes l’attribue ; le lire aveckubectl -n kubernetes-dashboard get svc kubernetes-dashboard-nodeport -o jsonpath='{.spec.ports[0].nodePort}'.⚠️
bearer-token.yaml(Secretkubernetes.io/service-account-token) a été supprimé : c’est l’anti-pattern explicite depuis K8s 1.24 (token long-lived persistant dansetcd, jamais rotaté). Les tokens sont maintenant générés à la demande via l’APITokenRequest(cf.credentials.sh).
Ouvrir le dashboard
# 1. Récupérer un token éphémère (8h par défaut) :./credentials.sh# (ou ./credentials.sh 30m pour une durée plus courte)
# 2. Lancer le port-forward du service Kong (dashboard récent = architecture# multi-container : Kong fait la terminaison TLS + reverse-proxy) :kubectl -n kubernetes-dashboard port-forward svc/kubernetes-dashboard-kong-proxy 8443:443
# 3. Ouvrir https://localhost:8443 (accepter le certificat auto-signé) et# coller le token dans l'écran de login.Vérification
kubectl -n kubernetes-dashboard get pods # tout Readykubectl -n kubernetes-dashboard get sa admin-user # service account présentkubectl get clusterrolebinding admin-user # binding cluster-adminkubectl -n kubernetes-dashboard get secret | grep token # AUCUN secret 'admin-user' attenduL’absence du Secret admin-user est la preuve observable que la migration vers
les tokens éphémères est effective.
Désinstallation
kubectl delete -f cluster-role-binding.yamlkubectl delete -f service-account.yamlhelm uninstall kubernetes-dashboard -n kubernetes-dashboardkubectl delete namespace kubernetes-dashboard