K9s - Kubernetes CLI To Manage Your Clusters In Style!

在kubernetes的维护工作中,诸位巨佬使用最多的命令莫过于kubectl了吧。比如查看node信息、pod信息还有pod的日志等等。虽然我们是用命令行的,我们也有追求美的权利啊!k9s一款命令行交互的UI工具,你值得拥有。


kube-system下pod情况展示
一、安装
假如大佬装备的是mac,那么恭喜你可以直接使用:
brew install k9s
windows的朋友可以使用:
scoop install k9s
假如你和我一样只能使用linux的话,那么只能编译了,好在k9s只是一个二进制的文件
# 使用go安装,需要go环境
go get -u github.com/derailed/k9s
#克隆https://github.com/derailed/k9s.git 仓库,编译
make build && ./execs/k9s
# 或者进入k9s直接使用go linstall,建议先启用go module
假如我不想安装go环境,编译啥的我也不想搞,那么你还可以使用docker运行:
docker run --rm -it -v ~/.kube/config:/root/.kube/config quay.io/derailed/k9s
二、k9s上手
笔者也是刚上手,k9s支持远程管理多个kubernetes,为了体验方便,我直接安装了k8s的master节点上,这样我直接使用k9s就可以打开界面了,在使用前最好先设置下:
export TERM=xterm-256color
K9s使用别名来导航大多数k8s资源。以下罗列几个常用的玩法,抛砖引玉。
1.显示帮助和可用的快捷键,按键 ?:

2. ctrl -a # 显示k8s所有可用的资源:

3. : po ⏎ # 输入冒号 pod 回车键,可以显示pod的相关信息,输入 deploy则显示deployment,同理其他k8s资源
:deploy ⏎显示deployment信息(支持简写):

4. : ns 可以切换到namespace,选择对应的ns或者 :alias namespace⏎
/ filter⏎ # 输入/ 对应的单词,可以搜索对应的资源名称:

5. 切换到pod模式,查看快捷键的含义(精髓所在)
按键 d
查看pod的descirbe信息,等同于 kubectl describe po podname
按键 e
编辑这个pod的yaml,等同于 kubectl edit po podname
组合键 ctrl-k
kill这个pod,等同于 kubectl kill po podname
按键 l
查看这个pod的日志,等同于 kubectl log podname
组合键 shift-l
查看之前的日志信息,等同于 kubectl log -f podname
按键 y
查看pod的yaml信息,等同于 kubectl get po podname -o yaml
按键 s
进入pod内容器的shell环境,等同于 kubectl exec -it podname /bin/sh
这里具体的我就不截图了,大家可以自己去体会k9s的精妙之处,它是如何去解放kubectl的。
6. pulse # 动态展示集群的全局信息模式

三、k9s皮肤设置
https://github.com/derailed/k9s/tree/master/skins 下有皮肤的设置,大家可以自行下载下来体验。

加载皮肤的路径为$HOME/.k9s/skin.yml,比如可以吧dracula.yml德古拉吸血鬼风格,复制到$HOME/.k9s/skin.yml,k9s在启动的时候会自行加载皮肤。
比如下图k9s吸血鬼风格皮肤:

四、写在最后
多集群和配置,还有其他更多的功能还暂未解锁,就等着大家伙来发现了(^_−)☆





