Weirdly there aren’t a lot of examples of merging Kubeconfigs, I always end up on stackoverflow.
Basically we use a env var to have multiple kubeconfigs set, the new standalone kube config and ~/.kube/config and merge them with –flatten.
Here are the few CLI steps.
First, make a copy of your kube config.
$ cp ~/.kube/config ./kubeconfig-backup
Next, setup a variable,
KUBECONFIG, to point to both the config files and run
kubectl config view --flatten, piping the output to a new file. Here I’m use the file name
new-standalone.kubeconfig but your file name will be different, so change that.
$ KUBECONFIG=./kubeconfig-backup:./new-standalone.kubeconfig kubectl config view --flatten > new-kube-config
Copy the new config file created to
~/.kube/config. Note that this over writes your existing config file, but for now you still have the backup copy that we created above.
$ cp new-kube-config ~/.kube/config
Validate that your config is working.
$ kubectl config get-contexts
Finally, if you are sure that your new config is good, remove the copy.
$ rm ./kubeconfig-backup