Merge Kubernetes Config Files
Table of Contents
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
That’s it!