使用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 许可协议。转载请注明来源 杂烩饭!
评论