Manage son $KUBECONFIG
De base, kubectl va chercher sa configuration dans '~/.kube/config. Il est possible de modifier KUBECONFIG pour gérer plusieurs clusters différents.
Par exemple
Via ce KUBECONFIG, nous avons la configuration du fichier A et B chargés. Nous pouvons faire plus dynamique via un script à mettre dans son bashrc par exemple
#!/usr/bin/env bash
DEFAULT_KUBECONFIG_FILE="$HOME/.kube/config"
if test -f "${DEFAULT_KUBECONFIG_FILE}"
then
export KUBECONFIG="$DEFAULT_KUBECONFIG_FILE"
fi
# Your additional kubeconfig files should be inside ~/.kube/config-files
ADD_KUBECONFIG_FILES="$HOME/.kube/config-files"
[ ! -d $ADD_KUBECONFIG_FILES ] && mkdir -p "${ADD_KUBECONFIG_FILES}"
OIFS="$IFS"
IFS=$\n
for kubeconfigFile in `find "${ADD_KUBECONFIG_FILES}" -type f -name "*.yml" -o -name "*.yaml"`
do
export KUBECONFIG="$kubeconfigFile:$KUBECONFIG"
done
IFS="$OIFS"
Tous les fichiers dans ~/.kube/config-files et finissant en yml seront chargés automatiquement ! Free to use avec kubectx o/
Utilisation avancée
Autre manière, il y a l'outil kubeswitch qui permet de gérer facilement plusieurs contextes via son fichier de configuration switch-config.yaml.
Mon fichier de configuration est disponible dans mon dotfiles
Tous les fichiers dans ~/.kube/kubeconfig/
avec l'extension .yaml
seront automatiquement chargés.
Si vous n'avez que des clusters managés par Rancher, c'est encore mieux ! l'URL Rancher, un token, quelques lignes de configuration, et hop, tous vos clusters sont automagiquement découverts. D'autres fournisseurs sont également disponibles
Pour split, n'oubliez pas konfig. Par exemplep pour notre context tools