If you are working with many clusters, you need to configure multiple kubectl configs. You can do this using kubectl –kubeconfig=
If however you want to keep access to your config files separate, you might use a script that is exchanging your .kube/config symbolic link. I organize my clusters with numerically (based on a AWS account number), so I rename each cluster config file to say 0123 and put it in my .kube directory. I then use kubeconf 0123 to activate that config. Here is the kubeconf script (located in /usr/local/bin):
#!/bin/bash set -e if [ $# -ne 1 ]; then echo "Usage $0: <config name>" exit -1 fi if [ ! -f ~/.kube/$1 ]; then echo "$0: config file ~/.kube/$1 not found" exit -2 fi if [ -L ~/.kube/config ]; then rm ~/.kube/config else BACKUP=~/.kube/config.$(date +%F-%T).backup echo "Saving current config file to $BACKUP" mv ~/.kube/config $BACKUP fi echo "Configuring $1 as config" ln -s ~/.kube/$1 ~/.kube/config