在容器云日益普遍的今天,每个人现在都在用K8S编排容器集群,构建自己的基础架构。然而WEB面板界面和繁琐重复的kubectl命令可能正在困扰着我们每一个人。
事实上这个问题不光是我们的问题,也困扰了很多大牛,所以他们又造出很多有用的轮子来减轻我们的负担。本文虫虫就给大家介绍几个可以提高K8S效率的命令行工具。
Lens
Lens是用于监控和调试的K8S IDE。可以在Windows、Linux以及Mac桌面上完美运行。如果你想舒舒服服地发展? 在 Kubernetes 上:
可以使用Snap包管理器安装:
- sudo snap install Lens-{version}.amd64.snap --dangerous --classic
- 托管地址:github/lensapp/lens
- 开发语言:TypeScript
- 项目热度(星):16100
K9S
K9S提供一个来与K8S集群交互的终端UI。可以类比为针对K8S集群的Top命令。 K9S就像一个看门狗,让你时刻可以轻松列出、观察和管理集群中各个应用程序。
K8S集群中资源的变化是实时出现的。用显示当前的这些信息非常有用。
可以使用Homebrew安装:
- brew install k9s
- 托管地址:github/derailed/k9s
- 开发语言:Golang
- 项目热度(星):14000
Kubetree
一个应用程序可以有很多不同的资源,它们的映射总是显而易见的。 Kubetree可以用来显示K8S对象之间的所有权关系的插件:
可以使用Homebrew安装:
- kubectl krew install tree
- 托管地址:github/ ahmetb/kubectl-tree
- 开发语言:Shell
- 项目热度(星):1900
kubetail
kubetail将来自多个pod的日志聚合到一个流中。它的效果类似于对多个pods运行kubectl logs -f。
可以在pod中指定容器:
- kubetail app2 -c container1
- kubectail app2 -c container1 -c container2
可以使用Homebrew安装:
- brew tap johanhaleby/kubetail && brew install kubetail
- 托管地址:github/johanhaleby/kubetail
- 开发语言:Golang
- 项目热度(星):2400
Kube-shell
在使用kubectl命令时候很多繁琐的选项不好记忆,容易记错,如果在输入命令时候能自动提示和补全则会非常有效。kube-shell是Kubernetes CLI的集成shell。它提供了易于使用的kubectl以提高生产力:
安装非常简单:
- pip install kube-shell
即可。
- 托管地址:github/cloudnativelabs/kube-shell
- 开发语言:Python
- 项目热度(星):2000
Kubectx-Kubens
对于管理多个K8S集群的伙伴, kubectx可以帮助在集群之间无缝切换:
kubectx获取集群相关信息时,常常需要在kubectl命令中指定命名空间。而kuben则允许我们可以省略该参数。
可以使用Homebrew安装:
- brew install kubectx
- 托管地址:github/ ahmetb/kubectx
- 开发语言:Golang
- 项目热度(星):11600
Kube-Capacity
kube-capacity是一个简单的CLI,提供了Kubernetes集群中资源请求、限制和使用的概况。
检查集群节点:
加--pods查看Pods信息:
可以使用Homebrew安装:
- brew tap robscott/tap
- brew install robscott/tap/kube-capacity
- 托管地址:github/ robscott/kube-capacity
- 开发语言:golang
- 项目热度(星):767
结论
本文给大家介绍了几个可以提高K8S集群管理的工具,当然这只是局限于个人观点,起个抛砖引玉的作用。如果大家有自己珍藏得更好更有用的工具,也请不吝回复供大家一起学习。