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