假定当前没有任何config,然后所有集群的config文件都以config打头:
% find $HOME/.kube -type f -maxdepth 1 | grep config.
/Users/michael/.kube/config-ali-test
/Users/michael/.kube/config-ali-dev
注意这里grep后面的config是带个通配符“.”的,这样可以避免列出默认的config文件
接下来export出kubeconfig环境变量:
export KUBECONFIG=$(find $HOME/.kube -type f -maxdepth 1 | grep config. | tr '\n' ':' |sed "s/\(.*\):/\1/")
如果有默认的config,那么可以带上默认的config, 去掉config后面的.
就行了。
然后查看配置是不是都能列出来
kubectl config view
最后导出到默认的config中:
kubectl config view --merge --flatten >$HOME/.kube/config
然后就可以开心的用kubie来实时显示出当前的工作集群和namespace了:
kubie ctx
[ali-dev|default] michael@Lis-MacBook-Pro .kube %
备注:
每次添加新的config的时候,config里面的名字要唯一:
- context:
cluster: ali-dev
user: "ali-dev-michael"
name: ali-dev
网友评论