UI & Management

Headlamp

UI web Kubernetes extensible par plugins - CNCF Sandbox, React/TypeScript. Dashboard cluster, multi-contextes, portail ops. Déployable en cluster ou desktop.

Headlamp est une interface web Kubernetes extensible via un système de plugins, projet CNCF Sandbox développé par Kinvolk (acquis par Microsoft). Elle propose un dashboard cluster complet (Pods, Deployments, Services, RBAC, Events, logs…) accessible depuis un navigateur, et se distingue de ses concurrents par son architecture de plugins React qui permet d'enrichir l'interface avec des vues métier personnalisées. Headlamp peut tourner comme application desktop (Electron) ou comme service déployé dans le cluster.


Informations essentielles

Origine : Kinvolk / Microsoft → CNCF → Kubernetes SIG UI  ·  Licence : Apache 2.0  ·  Architectures : x86_64, ARM64

Liens : Site officiel  ·  Documentation  ·  GitHub  ·  Releases

Support : CNCF Sandbox. Sous-projet officiel Kubernetes SIG UI depuis mai 2025. Releases régulières.

Stack par défaut

ComposantValeur
FrontendReact + TypeScript
BackendGo (proxy vers l'API K8s)
PluginsReact (chargés dynamiquement)
DéploiementApplication desktop (Electron) ou Pod K8s
Authkubeconfig, OIDC, Service Account

Prérequis

RessourceValeur
Kubernetes1.21+
Accès clusterkubeconfig ou OIDC
Helm (déploiement cluster)3.x

Installation

Application desktop (recommandé pour usage local)

# Linux AppImage
curl -Lo headlamp.AppImage \
  https://github.com/kubernetes-sigs/headlamp/releases/latest/download/Headlamp-linux-x86_64.AppImage
chmod +x headlamp.AppImage && ./headlamp.AppImage

# macOS
brew install headlamp

# Windows
# Télécharger le .exe depuis https://github.com/kubernetes-sigs/headlamp/releases

Déploiement dans le cluster (accès web partagé)

helm repo add headlamp https://kubernetes-sigs.github.io/headlamp/
helm repo update

helm install headlamp headlamp/headlamp \
  --namespace headlamp --create-namespace

# Accéder à l'UI
kubectl port-forward svc/headlamp -n headlamp 8080:80
# Ouvrir http://localhost:8080

Vérification de l'installation

# Vérifier le pod
kubectl get pods -n headlamp
# headlamp-* doit être Running (1/1)

# Obtenir un token de connexion
kubectl create token headlamp --duration=24h -n headlamp
# Coller ce token dans l'interface de connexion Headlamp

Utilisation

Connexion avec kubeconfig (desktop)

L'application desktop lit automatiquement ~/.kube/config et liste les contextes disponibles. Cliquer sur un contexte pour se connecter.

Connexion par token (cluster déployé)

# Créer un ServiceAccount avec les droits nécessaires
kubectl create serviceaccount headlamp-user -n headlamp
kubectl create clusterrolebinding headlamp-user \
  --clusterrole=cluster-admin \
  --serviceaccount=headlamp:headlamp-user

# Générer un token
kubectl create token headlamp-user -n headlamp --duration=8760h

Plugins

Headlamp dispose d'un catalogue de plugins installables depuis l'UI (Settings → Plugin Catalog) ou via la configuration Helm :

# helm values.yaml (exemple - consulter le catalogue pour les noms exacts)
config:
  pluginPackages:
  - name: "@headlamp-k8s/headlamp-plugin-prometheus"
    version: "latest"

Mise à jour

# Desktop - télécharger la nouvelle version
# Cluster
helm repo update
helm upgrade headlamp headlamp/headlamp \
  --namespace headlamp \
  --reuse-values
# Note : utiliser https://kubernetes-sigs.github.io/headlamp/ comme repo URL

Ressources

Newsletter · 2 000+ abonnés

Reste au courant de ce qui bouge en prod

RudeOps veille devops hebdo, droit au but.

Gratuit · Sans spam · Désinscription en un clic