kubectl 合并多个配置文件

多个集群的时候多个配置文件配置手工指定比较麻烦,可以用如下命令合并

合并

KUBECONFIG=~/.kube/config:~/Downloads/new-kube-config kubectl config view --flatten > all-in-one-kubeconfig.yaml

如果有多个配置文件就用多个:分割就好了,如果在当前目录下合并所有文件可以这样操作

KUBECONFIG=~/.kube/config:$(find . -type f | tr '\n' ':') kubectl config view --flatten > all-in-one-kubeconfig.yaml

fish 的用户可以这样操作

fenv KUBECONFIG=~/.kube/config:~/Downloads/new-kube-config kubectl config view --flatten > all-in-one-kubeconfig.yaml

验证

KUBECONFIG=all-in-one-kubeconfig.yaml  kubectl config get-clusters

替换

mv all-in-one-kubeconfig.yaml ~/.kube/config

切换配置

kubectl config use-context ${context-name}