3个最佳管理多个k8s集群工具

在多个集群环境中工作还是有挑战的。执行命令发现选择错了集群的情况很容易发生。如果你每天多次切换集群,会很方便快速。但是每次你想要切换集群时要执行kubectl config use-context <context_name>命令就会很低效。

今天介绍3个工具会让你在多k8s集群环境中工作的很轻松。我将从以下几个方面来评估工具实用性:

  • 速度
    如果你有多个k8s集群可选择,你切换k8s上下文有多快?你还记得所有的集群上下文?
  • 灵活性
    工具是否具备高级特性比如支持多config文件?
  • 安全:
    可以同时打开多个终端,每个终端都运行在自己集群上下文中?在一个终端切换集群上下文会影响其他终端,导致出错概率?

根据上面几个评估指标,下面我们来看看以下3个工具:

Kubectx

Kubectx是最流行的切换k8s集群工具,但是它功能比较少!可以显示你所有的kubeconfig列表供你选择。就这些!


kubectx-demo

安装Kubectx

Kubectx 适用于所有主要平台,Linux、Windows 和 macOS。它可以使用helm 这样的本地包管理器来安装。你还可以使用 kubectl krew install ctx 将其安装为 Kubectl 插件。更多细节在这里

Kubectx缺点

更改 Kubernetes上下文时,kubectx 会为所有终端会话全局更改,因此多个终端不能独立管理不同的集群。

Kubie

Kubie 是kubectx 的替代品。它快速、灵活,并且不会影响你的Kubeconfig。


kubie
  • 使用kubie ctx切换当前shell的Kubernetes 上下文。
  • kubie exec <context> <namespace> <Kubectl command> 允许你在特定上下文中运行单个kubectl 命令。
  • 可以管理多个kubeconfig文件并通过修改 ~/.kube/kubie.yaml 文件中的设置来自定义 Kubie 的行为。

安装Kubie

Kubie安装包适用于macOS 和Linux,不适用于 Windows。详细内容参考这里

Kubeswitch

Kubeswitch具有Kubectx 和Kubie 的核心功能。它是明显的赢家,也是我们将在未来使用的工具。


kubeswitch
  • 使用Hooks(类似于 Git Hooks),可以在你选择的时间自动运行可执行文件/内联 shell 命令。
  • 通过启用搜索索引功能,可以在数百个Kubernetes上下文中进行闪电般的快速搜索。这会索引跨多个本地和远程系统的所有上下文。请注意,你必须手动刷新索引以防止结果过时。

其他功能

  • 更改历史记录 - 你之前切换到的所有上下文的列表。
  • 上下文别名 - 给你的上下文一个别名,以帮助快速访问。
  • 终端隔离——从不同的终端窗口访问多个集群。

安装Kubeswitch

如果你使用的不是 MacOS,从源代码或二进制文件下载和安装可能会有点复杂。但这绝对值得你花时间。详细说明参考这里

kubectx vs kubie vs kubeswitch

对比结果
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。