Kubernetes 客户端工具概览

我们都知道 kubectl,但是随着过去几年 Kubernetes 的广泛使用,出现了许多新兴的客户端工具,这些工具能够改善你对 Kubernetes 集群的日常交互。

本文将简单介绍这类客户端应用,了解它是如何帮到你的。

K9s

K9s 提供了一个基于终端的 UI 与 Kubernetes 集群进行交互。这个 UI 看上去像是持续运行的 Linux 命令,例如 top。k9s 持续监控 Kubernetes 集群的变化,并允许你与 Kubernetes 资源进行交互。

  • 类型:独立运行(后台使用 kubectl )

  • 安装:在发行页[1]提供适用于 Linux,Windows 和 Mac 安装的二进制 tar 压缩包。

  • Kubernetes 版本:目前 k9s 要求 Kubernetes 的版本不低于 1.13。

  • 社区:k9s 非常受欢迎,并且有一个很棒的社区共同努力以进一步优化它。

  • 特点:支持插件,可让你定义自己的集群命令。

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)

  • 安装:在发行[2]页提供适用于 Linux,Windows 和 Mac 安装的二进制 tar 压缩包。

  • Kubernetes 版本:目前 tubectl 要求 Kubernetes的版本不低于 1.13。

  • 社区:tubecctl 社区挂在 slack.reconquest.io。

webkubectl

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[3] 上进行。

    特点:单个 webkubectl 部署的多会话支持,以及完全的会话隔离。

kube-prompt

kube-prompt 是一个具有自动完成功能的交互式 Kubernetes 客户端。它使用与 kubectl 相同的命令,但是不需要输入 kubectl 前缀。因此,使用这个客户端不需要额外的学习成本。

  • 类型:独立运行(后台使用 kubectl)

  • 安装:在发行页[4]提供适用于 Linux,Windows 和 Mac 安装的二进制 tar 压缩包。

  • Kubernetes 版本:与支持 kubectl 的 Kubernetes 集群兼容。

  • 社区:kube-prompt 的讨论目前在 GitHub Repo[5] 上进行。

kubectl-tree

这是一个 kubectl 插件,可让你以普遍使用的树状图浏览 Kubernetes 对象之间的关系。树状图可以很好地直观地展示 Kubernetes 集群上存在的各种资源及其关系。

  • 类型:kubectl 插件

  • 安装:使用 krew 插件管理器将 kubectl-tree 安装到 kubectl 上,参考文档[6]。

  • Kubernetes 版本:与支持 kubectl 的 Kubernetes 集群兼容。

  • 社区:GitHub 标星近1.5k的 kubectl-tree 非常受大家欢迎,关于它的讨论都在 GitHub Repo[7]。

其他有趣的 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 状态的持久卷声明。参考:https://github.com/ishantanu/kubectl-unbound-pvc

相关链接:

  1. https://github.com/derailed/k9s/releases

  2. https://github.com/reconquest/tubekit/releases

  3. https://github.com/KubeOperator/webkubectl/issues

  4. https://github.com/c-bata/kube-prompt/releases

  5. https://github.com/c-bata/kube-prompt/issues

  6. https://github.com/ahmetb/kubectl-tree#installation

  7. https://github.com/ahmetb/kubectl-tree/issues

原文链接:https://developer.sh/posts/kubernetes-client-tools-overview

基于Kubernetes的DevOps实战培训

基于Kubernetes的DevOps实战培训将于2020年6月19日在上海开课,3天时间带你系统掌握Kubernetes,学习效果不好可以继续学习。本次培训包括:容器特性、镜像、网络;Kubernetes架构、核心组件、基本功能;Kubernetes设计理念、架构设计、基本功能、常用对象、设计原则;Kubernetes的数据库、运行时、网络、插件已经落地经验;微服务架构、组件、监控方案等,点击下方图片或者阅读原文链接查看详情。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值