本文主要是介绍维护一大堆 kubeconfig 的一些实践,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
文章目录
- 2021-12-20 更新
- 开始
- kubectx 快速切换上下文和 namespace
- zsh / bash / fish 集成展示当前 context
- kube-ps1 for zsh / bash
- custom function for fish
- ~~kubie 一站式解决方案~~
- direnv 当切换目录后自动注入环境变量
- 参考资料
2021-12-20 更新
由于 kubie
是开一个子 shell 它会导致 direnv
失效,也就是说 kubie
和 direnv
无法共同使用,我只好再去尝试其他兼容的方案,毕竟如果换回 kubectx
就依然有维护 kubeconfig 的烦恼。这里找到一个新的工具 kubecm 可以帮助做 kubeconfig 的合并。
不过其实它也包含了 kubectx 的功能,但我的 kubectx 还提供了自动补全等东西,就这么一直用着了。
开始
如果需要维护很多 kubernetes 集群,每个集群都有一个 kubeconfig 的 yaml 那么在 ~/.kube
目录下就会有一大堆的 yaml 。在频繁切换和修改不同的集群的内容的时候,一个不小心就可能把 A 集群的东西部署到 B 集群造成运维事故。这里介绍下到目前为止维护对多个集群环境的一些痛点和实践。
首先先总结下痛点吧:
- 多个集群以及集群的 namespace 切换比较繁琐,通常需要 KUBECONFIG 环境变量的切换
- 不晓得自己当前处于哪个集群下
- 在使用 kustomize 或者 helm 对集群做更新的时候需要确保自己切换了 kubeconfig,除了小心之外没什么办法阻止错位的环境部署
下面记录下自己在试图解决这些痛点过程中找到的还不错的方案。
kubectx 快速切换上下文和 namespace
这篇关于维护一大堆 kubeconfig 的一些实践的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!