Introduction

Étant donné que nous sommes amenés à gérer plusieurs contexte kubectl, il est intéressant de trouver un outil pour passer d’un contexte à l’autre facilement.

Un contexte ?

Chaque installation de Kubernetes va générer une configuration KUBE_CONFIG utilisable par la commande kubectl. C’est ce qu’on appelle un contexte.

Cependant, à force d’installer de nombreux serveurs Kubernetes, il va falloir gérer plusieurs contextes.

Donc non seulement on cherche à pouvoir les ajouter au fur et à mesure, mais aussi pouvoir les utiliser facilement.

Gérer plusieurs contextes

Il suffit d’utiliser la commande kubectx pour commuter d’un contexte à l’autre sans effort.

Par exemple, avec 2 contextes appelés default et zou, on peut imaginer passer d’un contexte à l’autre ainsi :

# Liste les contextes disponibles
kubectx
# change de contexte pour 'zou'
kubectx zou
kubectl get nodes
# change ensuite de contexte pour 'default'
kubectx default
kubectx get nodes
Si vous avez l’outil fzf installé, il y a un mode interactif quand on fait kubectx, ce qui évite de faire une commande supplémentaire.

Fusionner plusieurs config. Kube

Imaginons que vous ayez plusieurs fichiers de configuration Kube, il est intéressant de pouvoir fusionner ces derniers en un seul fichier, par exemple :

cp ~/.kube/config ~/.kube/config-backup
export KUBECONFIG=~/.kube/config:/path/cluster1:/path/cluster2
kubectl config view --flatten > all-in-one-kubeconfig.yaml
mv all-in-one-kubeconfig.yaml ~/.kube/config

Et le tour est joué !

Faites attention aux noms de vos contextes dans les fichiers ! Si tous vos contextes s’appellent default, cela ne fonctionnera pas !

Liens utiles