使用kubectl进行多集群管理
平常使用跳板机来管理, 经常多个环境多套集群, 那么如何用一个kubectl如何管理这些集群.
使用不同的kubeconfig管理
使用不同的Linux用户
每个Linux用户的 ~/.kube/config
配置不同即可, 比如创建一个uat用户,一个prod用户, 分别配置不同的config文件
使用环境变量
config文件放到当前目录下
1 | KUBECONFIG=config-uat kubectl get pod |
环境变量也可以写成全局的在.bashrc里面
1 | export KUBECONFIG=config-uat |
使用参数
同使用环境变量
1 | kubectl get pod --kubeconfig=config-uat |
使用一个kubeconfig
准备
确保每个kubeconfig里面部分参数唯一性,可以手动修改一下
合并配置文件
假设一个配置文件名为: uat, 另一个为: prod
1 | KUBECONFIG=uat:prod kubectl config view --flatten > merged-kubeconfig |
验证合并结果
完成合并后,可以使用以下命令验证新的 kubeconfig 文件是否包含了所有的集群、用户和上下文定义, 如果上面没有保证唯一性, 那么合并后的配置就是不完整的.
1 | kubectl config view --kubeconfig=merged-kubeconfig |
使用配置文件
除了指定配置文件外(如果配置文件放到~/.kube/config内,不需要加–kubeconfig参数)
1 | # 切换到uat集群, 配置会保存到配置文件(下次默认就是uat集群了) |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 BLOG!