我们都知道 kubectl , 但是随着过去几年 Kubernetes 的广泛使用, 出现了许多新兴的客户端工具, 这些工具能够改善您对 Kubernetes 集群的日常交互.
本文将简单介绍这类客户端应用, 了解它是如何帮到你的.
k9s
k9s 提供了一个基于终端的 UI 与 Kubernetes 集群进行交互. 这个 UI 看上去像是持续运行的 Linux 命令, 例如 top . k9s 持续监控 Kubernetes 集群的变化, 并允许您与 Kubernetes 资源进行交互.
类型: 独立运行 (后台使用 kubectl )
安装: 在 发行页 https://github.com/derailed/k9s/releases 提供适用于 Linux, Windows 和 Mac 安装的二进制 tar 压缩包.
Kubernetes 版本: 目前 k9s 要求 Kubernetes 的版本不低于 1.13.
社区: k9s 非常受欢迎, 并且有一个很棒的社区共同努力以进一步优化它. 加入 Slack 社区就在 K9ersSlack https://k9sers.slack.com/ .
特点: 支持 插件 https://github.com/derailed/k9s#plugins , 可让您定义自己的集群命令.
tubectl
Tubectl 是对 kubectl 的简单但强大的封装, 它降低了使用上下文, 命名空间和智能匹配资源的复杂性. Tubectl 允许在上下文和命名空间之前无缝切换, 例如对于命令 kubectl --context staging 或 kubectl --context production , 现在只需要输入 tubectl @st 或 tubectl @prod . 同样, 在命令 kubectl get pods -n kube-system 中 kube-system 也可以被替换, 您只需输入命令 tubectl get pods +sys .
类型: 独立运行 (后台使用 kubectl )
安装: 在 发行页 https://github.com/reconquest/tubekit/releases 提供适用于 Linux, Windows 和 Mac 安装的二进制 tar 压缩包.
Kubernetes 版本: 目前 tubectl 要求 Kubernetes 的版本不低于 1.13.
社区: tubecctl 社区挂在 https://slack.reconquest.io/ .
web Kubectl 可以帮助您管理 kubernetes 证书并在 Web 浏览器中运行 kubectl 命令, 从而不必在本地 PC 或其他服务器上安装 kubectl , 而且 Web Kubectl 可用于团队.
类型: 独立运行 (后台使用 kubectl )
安装: 使用 Docker 镜像, 安装简单.
$ docker run --name="webkubectl" -p 8080:8080 -d --privileged kubeoperator/webkubectl
Kubernetes 版本: 与支持 kubectl 的 Kubernetes 集群兼容.
社区: webkubectl 的讨论目前在 GitHub Repo https://github.com/KubeOperator/webkubectl/issues 上进行.
特点: 单个 webkubectl 部署的多会话支持, 以及完全的会话隔离.
kube-prompt
Kube-prompt 是一个具有自动完成功能的交互式 kubernetes 客户端. 它使用与 kubectl 相同的命令, 但是不需要输入 kubectl 前缀. 因此, 使用这个客户端不需要额外的学习成本.
类型: 独立运行 (后台使用 kubectl )
安装: 在 发行页 https://github.com/c-bata/kube-prompt/releases 提供适用于 Linux, Windows 和 Mac 安装的二进制 tar 压缩包.
Kubernetes 版本: 与支持 kubectl 的 Kubernetes 集群兼容.
社区: kube-prompt 的讨论目前在 GitHub Repo https://github.com/c-bata/kube-prompt/issues 上进行.
kubectl-tree
这是一个 kubectl 插件, 可让您以普遍使用的树状图浏览 Kubernetes 对象之间的关系. 树状图可以很好地直观地展示 Kubernetes 集群上存在的各种资源及其关系.
类型: kubectl 插件
安装: 使用 https://github.com/kubernetes-sigs/krew 插件管理器将 kubectl-tree 安装到 kubectl 上, 参考 文档 .
Kubernetes 版本: 与支持 kubectl 的 Kubernetes 集群兼容.
社区: GitHub 标星近 1.5k 的 kubectl-tree 非常受大家欢迎, 关于它的讨论都在 GitHub Repo https://github.com/ahmetb/kubectl-tree/issues .
其他有趣的 kubectl 插件
kubectx
kubectx 是管理 kubectl 并在其上下文之间切换的实用程序. 参考:
- https://github.com/ahmetb/kubectx
- kubens
kubens 是在 Kubernetes 命名空间之间切换的实用程序. 参考:
- https://github.com/ahmetb/kubectx/#kubens1
- kubectl trace
kubectl trace 是一个 kubectl 插件, 可让您在 Kubernetes 集群中调度 bpftrace 程序的执行. 参考: https://github.com/iovisor/kubectl-trace
ksniff
一个 kubectl 插件, 利用 tcpdump 和 Wireshark 在 Kubernetes 集群中的任何 pod 上启动远程捕获. 参考: https://github.com/eldadru/ksniff
kubectl-unbound-pvc
一个小插件, 用于列出未处于 Bound 状态的持久卷声明. 参考:
来源: http://www.tuicool.com/articles/uyQ7Zni