Search code examples
kuberneteskubectl

How to save generated kube config to .kube/config


I'm using rke to generate a Kubernetes cluster in a private cloud. It produces a kube_config_cluster.yml file. Is there a way to add this config to my $HOME/.kube/config file?

Without having the .kube/config set, when using kubectl, I have to pass the argument:

kubectl --kubeconfig kube_config_cluster.yml <command>

Or set the KUBECONFIG environment variable.

export KUBECONFIG=kube_config_cluster.yml

Solution

  • kubectl config merge command is not yet available. But you can achieve a config merge by running:

    Command format:

    KUBECONFIG=config1:config2 kubectl config view --flatten
    

    Example:

    Merge a config to ~/.kube/config and write back to ~/.kube/config-new.yaml.

    Do not pipe directly to the config file! Otherwise, it will delete all your old content!

    KUBECONFIG=~/.kube/config:/path/to/another/config.yml kubectl config view --flatten > ~/.kube/config-new.yaml
    

    cp ~/.kube/config-new.yaml ~/.kube/config