效果预览

下载

此文档使用的版本是 v0.32.4,下载地址: https://github.com/derailed/k9s/releases/download/v0.32.4/k9s_linux_amd64.rpm
安装
rpm -ivh k9s_linux_amd64.rpm
使用
启动和退出
命令行
k9s 进入后,大部分操作和使用 vi 一样。
终端直接执行命令 k9s
# 声明环境变量
export TERM=xterm-256color
# 执行启动命令, 进入 k9s
k9s
# 指定一个名称空间,进入 k9s 的时候直接进入这个名称空间
k9s -n 名称空间
# 使用只读模式启动 k9s ,禁用所有的编辑命令
k9s --readonly

退出时,和 vi 一样的操作,输入 :q
基本操作
1 选择目标,使用上下方向键,或者像使用 vi 一样使用 k 或 j 键。
2 选定目标, 使用回车键即可
3 跳转, 就像使用 vi 一样使用英文的冒号 : 进入编辑模式,之后输入想跳转的资源名称,支持简写,比如 pod,service,ns
显示当前集群中所有可用的资源别名: ctrl-a

快捷键和命令
1 进入 k9s 后输入 :ns 可以列出集群中所有的名称空间

2 上下方向键控制光标,不过我推荐使用 k ↑ 和 j ↓

3 按下回车进入选择的资源对象

选定名称空间,默认进入的是这个名称空间的 POD 列表
4 查看帮助信息 ?
在当前资源界面输入 ? ,可以获取在当前资源界面可以操作的快捷键和可以输入的命令(资源对象)
下图是在Pod 资源列表页面输入的 ? 结果

5 Esc 返回上一级
比如,刚才我在 pod列表界面输入了 ? ,现在向返回刚才的 Pod 界面,此时只需要输入 Esc 即可,再次按下 Esc 返回到 Deploy 界面。

6 进入选择Pod的容器列表
需要先选择某个 Pod,我这里选择的是 web1-0 这个Pod

回车进入,此时可以看到当前 Pod 中就一个容器 web1

7 s 进入容器

8 查看日志
选择一个 Pod或者一个容器,回车即可查看日志,或者直接输入 l , Esc 返回。
默认不能查看完整的日志,使用 vi 的方式控制上下翻页,默认自动滚出是打开的 Autoscroll:On

-
Autoscroll:On自动滚屏 开关快捷键s -
FullScreen:Off全屏 开关快捷键f

-
Timestamps:Off时间戳 开关快捷键t
给每条日志配置上系统的时间戳

-
Wrap:Off自动换行显示 开关快捷键w
当某一条日志数据太长,而超出了当前显示框的宽度,默认超出宽度的内容是隐藏的,需要使用控制左右方向的快捷键浏览。此时可以按下w就可以打开自动换行模式。

9 e 编辑对象的 YAML文件
光标选择对象后,输入 e 即可进入对象的 YAML 文件的编辑模式,就像使用 vi 一样进行编辑即可。
10 y 查看对象的 YAML 文件
11 d Describe 查看 Pod 事件
12 Ctrl-d 删除一个对象,需要确认
按TAB键选择 OK,并按回车键确认


13 ctrl-k 直接删除一个对象,无需确认
终止资源(无确认对话框,相当于kubectl delete–now)

稍微高级一点的操作
1 :pod /pod名称的关键字 过滤 Pod
示例: 只看含有关键字 web1 的 Pod
输入过滤条件:

pod资源名称
/是过滤符号
web1是过滤条件,值应该是pod名称中的连续的关键字
回车过滤后的Pod列表:
### 2 使用标签过滤
如下图中有 2 个Service 资源,他们的标签分别是 app=web1 和 app=web2

下图中是通过 app=web2 进行过滤

下图是过滤之后的结果

3 使用正则表达式过滤
/正则 先输入 / 之后输入正则表达式,进行正则匹配的过滤
/!正则 先输入 / 之后输入感叹号和正则表达式,进行取反的正则过滤
提示: 当输入正则模式的时候,稍等片刻就会自动实时的显示出过滤结果,但此时还不能使用方向键进行选择,需要回车后再过滤的结果中进行选择。
如下是 Ctrl-a 查看所有资源的界面

正则过滤

Esc 退出当前模式
正则取反过滤
资源名称中不含 a 或者 d 的资源

资源名称开头不是 a 或者 d 的资源

4 使用标签过滤
/-l app=web1

5 使用模糊匹配过滤
/-f 关键字

查看集群资源动态视图
:pu 在任意界面下输入即可显示当前集群的动态视图


查看资源的依赖关系树图(很实用)
:xray 资源名称 [名称空间] 在任意界面输入即可
不指定名称空间,返回当前名称空间的资源

指定名称空间

返回结果:

退出此界面,输入 :资源名称
本文详细介绍了k9s这款命令行工具的使用方法,包括基本操作如命名空间管理、资源选择、快捷键应用,以及高级功能如过滤、编辑yaml、查看日志和依赖关系图。
1311

被折叠的 条评论
为什么被折叠?



