Aller au contenu principal

kubectx / kubens

Overview

kubectx et kubens, ce sont les deux outils CLI qui pensent que taper "kubectl config use-context super-long-cluster-name-production-eu-west-1" à chaque fois, c'est du masochisme pur. kubectx switch entre contextes (clusters), kubens switch entre namespaces, avec autocomplétion, interface interactive, et raccourcis. Si tu jonglent entre plusieurs clusters/namespaces, c'est indispensable.

kubectx remplace "kubectl config use-context" par "kubectx prod" (plus court). kubens remplace "kubectl config set-context --current --namespace=kube-system" par "kubens kube-system". Interface interactive avec fzf pour sélectionner visuellement, historique des contextes précédents.

kubectx/kubens se distinguent par leur simplicité extrême (un binaire, une commande), leur intégration shell parfaite (autocomplétion, PS1), et leur gain de productivité massif pour le multi-cluster.


Informations essentielles

PropriétéValeur
Site officielhttps://github.com/ahmetb/kubectx
Repositoryhttps://github.com/ahmetb/kubectx
LicenceApache 2.0
DéveloppeurAhmet Alp Balkan (Google)
LangageBash/Go
PlateformeLinux, macOS, Windows

Cas d'usage typiques

  • Switch rapide entre clusters dev/staging/prod
  • Navigation entre namespaces d'un même cluster
  • Automatisation scripts avec context switching programmatique
  • Workflow multi-cluster pour SRE/DevOps
  • Debugging cross-namespace avec switch rapide
  • Intégration dans PS1/prompt pour affichage contexte actuel

Intégrations et écosystème

  • Shell : autocomplétion Bash, Zsh, Fish native
  • fzf : interface interactive pour sélection visuelle
  • Prompt : intégration PS1 pour afficher contexte/namespace actuel
  • IDE : plugins VSCode, IntelliJ pour context switching
  • CI/CD : utilisation dans scripts pour multi-cluster deployments
  • Kubernetes : compatible avec tous clusters et kubeconfig standards

Avantages

  • Simplicité extrême : une commande, switch instantané, zero configuration
  • Productivité : gain de temps massif pour multi-cluster/namespace
  • Interface interactive : sélection visuelle avec fzf, pas de mémorisation
  • Intégration parfaite : autocomplétion, prompt, compatible kubectl
  • Léger : binaires tiny, zéro overhead, installation rapide
  • Standard de facto : utilisé massivement dans la communauté K8s

Inconvénients et limitations

  • Fonctionnalité unique : ne fait que switch, pas de features avancées
  • Dépendance kubeconfig : nécessite kubeconfig bien configuré
  • Pas de validation : ne vérifie pas la connectivité du contexte
  • Installation séparée : pas inclus dans kubectl par défaut
  • Sécurité : switch accidentel vers mauvais cluster peut être dangereux

Alternatives

  • kubectl config : commandes natives (plus verbeuses)
  • K9s : interface TUI complète avec context switching intégré
  • Lens : context switching dans interface graphique
  • kubie : alternative moderne avec isolation de session
  • kube-ps1 : uniquement pour affichage contexte dans prompt

Ressources