kubetcl 合并多环境下的配置文件
项目开发通常由多个 k8s 集群,dev、office、prod等环境,kubetcl 在多个环境中切换甚至操作集群pod,前提条件是将这三个环境的配置信息都写到本地机的~/.kube/config文件中。当然可以自己手动在 config 文件中配置多个环境的信息,只要细心点,还是能配置正确还是么得问题的。但是这个方法很笨,我以前就只这么笨…。今天下午,老大说 k8s 的三个环境配置文件都变了,新
项目通常有多个 k8s 集群环境,dev、office、prod等,kubetcl 在多个环境中切换甚至操作集群pod,前提条件是将这三个环境的配置信息都写到本地机的 ~/.kube/config
文件中,并且配置正确。
当然可以自己手动在 config 文件中配置多个环境的信息,只要细心点,配置正确还是么得问题的。但是这个方法很笨,我以前就是这么笨…。
今天下午,老大说 k8s 的三个环境配置文件都变了,新的配置信息已经发共享文件了,自己重新配一下…。
我上去一看,就三个文件,脚指头都能想到,每个文件对应着一个环境。
但那会的反应是,他是不可能将自己的 config 拆成三个单独的 yaml 再共享上去,那样太浪费时间…。So 在他的电脑的 ~/.kube/
目录下肯定有这三个单独的文件。
那 kubectl 是怎么识别用哪个 yaml 的,或者这三个 yaml 能合并成 config。
接下来就是 google,”kubetcl merge config files “。
答案就出来了,吼吼!!
是真的可以合并!
执行命令
查看当前目录
# ls ./
c1.yaml dev.yaml office.yaml
合并多个yaml
KUBECONFIG=c1.yaml:dev.yaml:office.yaml kubectl config view --merge --flatten > config
替换旧的 config 文件
cp config ~/.kube/config
最后测试
kubectl get pods
能看到pods,就证明成功了。
以后再也不会傻乎乎的手动修改 config 了!!
更多推荐
所有评论(0)