使用K9S工具管理K8S集群资源
K9s是一个基于终端的UI,可以与Kubernetes集群进行交互。K9s的目的是简化导航,观察和管理已部署应用程序的过程。K9s持续监视Kubernetes的变化,并提供后续命令来与所观察到的资源进行交互。
特征
- 跟踪Kubernetes集群中运行的资源的实时活动。
- 处理Kubernetes标准资源和自定义资源定义。
- 跟踪与Pod、容器和节点等资源相关的实时指标。
- 提供标准的集群管理命令,例如log,scaling,port-forward,restart…
- 通过别名和热键自定义命令快捷方式。
- 支持扩展K9s插件以创建自己的集群命令。
- 强大的过滤模式:允许用户向下钻并查看与工作负载相关的资源。
- 误差放大:直接深入了解群集资源的问题。
- 外观可定制
- 通过K9s皮肤定义自己的终端外观。
- 按资源自定义/安排要显示的列。
- 提供查看最小或完整资源定义的切换
- 通过Pulses和XRay视图提供群集资源的概述。
- RBAC
- 支持查看RBAC规则,例如群集/角色及其关联的绑定。
- 反向查找断言用户/组或ServiceAccount可以在集群上做什么。
- 可以直接从K9s内置的基准测试对HTTP - services/pods进行基准测试,以查看应用程序的运行情况,并相应地调整资源请求/限制。
- K9s提供方便地遍历Kubernetes资源及其相关资源。
快捷键操作
K9s uses aliases to navigate most K8s resources.
操作 | 快捷键 | 备注 |
---|---|---|
Show active keyboard mnemonics and help | ? |
|
Show all available resource alias | ctrl-a |
|
To bail out of K9s | :q , ctrl-c |
|
View a Kubernetes resource using singular/plural or short-name | : po⏎ |
accepts singular, plural, short-name or alias ie pod or pods |
View a Kubernetes resource in a given namespace | : alias namespace⏎ |
|
Filter out a resource view given a filter | / filter⏎ |
Regex2 supported ie `fred |
Inverse regex filter | / ! filter⏎ |
Keep everything that doesn’t match. |
Filter resource view by labels | / -l label-selector⏎ |
|
Fuzzy find a resource given a filter | / -f filter⏎ |
|
Bails out of view/command/filter mode | <esc> |
|
Key mapping to describe, view, edit, view logs,… | d ,v , e , l ,… |
|
To view and switch to another Kubernetes context | : ctx⏎ |
|
To view and switch to another Kubernetes context | : ctx context-name⏎ |
|
To view and switch to another Kubernetes namespace | : ns⏎ |
|
To view all saved resources | : screendump or sd⏎ |
|
To delete a resource (TAB and ENTER to confirm) | ctrl-d |
|
To kill a resource (no confirmation dialog!) | ctrl-k |
|
Launch pulses view | : pulses or pu⏎ |
|
Launch XRay view | : xray RESOURCE [NAMESPACE]⏎ |
RESOURCE can be one of po, svc, dp, rs, sts, ds, NAMESPACE is optional |
Launch Popeye view | : popeye or pop⏎ |
See popeye |
实践
- 切换集群
- 查看别名
- 切换资源视图
- 扩缩容
- 杀死(强制)pod
- 查看日志
- 实时编辑yaml
- describe
彩蛋
自定义主题
https://k9scli.io/topics/skins/
Skin Example
1 | # $XDG_CONFIG_HOME/k9s/in_the_navy_skin.yml |