开篇
📜 引言:
- 磨刀不误砍柴工
- 工欲善其事必先利其器
- 第一篇:《K8S 实用工具之一 – 如何合并多个 kubeconfig?》
像我这种,kubectl
用的不是十分溜,常常会碰到以下状况:
- 遗记命令,先敲
--help
,再敲命令,效率低 - 遗记加
-n
指定 namespace - 太长的命令常常记错或敲错,比方
kubectl exec -it...
- 无奈疾速将日志、yaml 复制进去
- 对于 CRD 类资源,记不住 CRD type,查不到相干信息
- 无奈把握集群的衰弱及监控状态
- …
如果你的工作机(前置机、跳板机、操作机、堡垒机…)只是 Linux Shell,而没有桌面环境。那么我强烈推荐你应用这个 K8S 实用工具:终端 UI K9S。
🐾 K9S 简介
K9S:K9s 是一个 基于终端的 UI,用于与 Kubernetes 集群进行交互。这个我的项目的目标是使导航、察看和治理已部署的应用程序变得更容易。K9s 继续监督 Kubernetes 的变动,并提供后续命令与察看到的资源进行交互。
🖌️ K9S 性能
-
信息触手可及!
- 跟踪 Kubernetes 集群中运行的资源的实时流动。
-
规范资源或 CRD?
- 解决 Kubernetes 规范资源和自定义资源定义(即:CRD)。
-
集群指标
- 跟踪与 pod、容器和节点(node)等资源相干的实时指标。
-
受到高级用户欢送!
- 提供规范的集群治理命令,如日志、伸缩、端口转发、重启等
- 定义您本人的命令快捷键,通过命令别名和热键疾速导航。
- k9s 反对插件扩大,以创立您本人的集群命令。
- 弱小的过滤模式,容许用户深刻和查看与工作负载相干的资源。
-
谬误钻取
- 间接钻取群集资源的谬误。
-
皮肤和可定制性
- 通过 K9s 皮肤定义您本人的外观和感觉。
- 自定义 / 排列要在每个资源根底上显示的列。
-
窄或宽?
- 提供查看最小或残缺资源定义的切换
-
多资源视图
- 通过 Pulses 和 XRay 视图提供集群资源的概述。
-
咱们拿到你的 RBAC 了!
- 反对查看 RBAC 规定,如集群 / 角色及其关联绑定。
- 反向查找断言用户 / 组或 ServiceAccount 在集群上能够做什么。
-
内置基准测试(Benchmarking)
- 您能够间接从 K9s 对 HTTP 服务 /pod 进行基准测试,以查看应用程序的运行状况,并相应地调整资源申请 / 限度。
-
资源图遍历
- K9s 提供了 Kubernetes 资源及其关联资源的简略遍历。
🛠️ 装置
间接从 release 页面下载对应版本解压到 /usr/local/bin
即可。
⌨️ 命令
装置后间接运行 k9s
,就会进入 UI 界面,如下图:
👽️ 快捷键
操作 | 命令 | 备注 | |
---|---|---|---|
显示沉闷的键盘助记符和帮忙 | ? |
||
显示集群上所有可用的别名和资源 | ctrl-a or :alias |
||
退出 K9s | :q , ctrl-c |
||
应用复数 / 复数或短名称查看 Kubernetes 资源 | : po⏎ |
承受复数,复数,短名或别名如 pod 或 pods |
|
查看给定名称空间中的 Kubernetes 资源 | : alias namespace⏎ |
||
过滤出给定过滤器的资源视图 | / filter⏎ |
反对 Regex2,如 ` fred | blee` 来过滤命名为 fred 或 blee 的资源 |
反向正则表达式过滤器 | / ! filter⏎ |
保留所有 不匹配 的货色。日志未实现。 | |
按标签过滤资源视图 | / -l label-selector⏎ |
||
含糊查找给定的资源 | / -f filter⏎ |
||
退出视图 / 命令 / 过滤模式 | <esc> |
||
键映射来形容(describe),查看(view),编辑(edit),查看日志(logs),… | d ,v , e , l ,… |
||
查看并切换到另一个 Kubernetes 上下文 | : ctx⏎ |
||
查看并切换到另一个 Kubernetes 上下文 | : ctx context-name⏎ |
||
查看并切换到另一个 Kubernetes 名称空间 | : ns⏎ |
||
查看所有已保留的资源 | : screendump or sd⏎ |
||
要删除资源 (按TAB 键并输出Enter ) |
ctrl-d |
||
杀死一个资源(没有确认对话框!) | ctrl-k |
||
切换宽列 | ctrl-w |
等同于 kubectl ... -o wide |
|
切换谬误状态 | ctrl-z |
查看有谬误的资源 | |
运行 pulses(脉冲)视图 | : pulses or pu⏎ |
||
运行 XRay(X 光)视图 | : xray RESOURCE [NAMESPACE]⏎ |
资源能够是以下之一:po, svc, dp, rs, sts, ds, NAMESPACE 参数可选 | |
运行 Popeye(评估跑分)视图 | : popeye or pop⏎ |
参阅 https://popeyecli.io |
深度应用
快捷键
花个 10 – 30 分钟相熟快捷键,而后 —— 超级爽,各种疾速进入、查找、切换、看 yaml、看日志、滚动日志、进 shell、编辑、复制 …
强烈推荐花工夫相熟,你会感觉效率飞升。🤓🤓🤓
过滤
它的过滤性能十分弱小,使得你能够十分疾速的定位资源,比方我想要看 traefik 的所有 CRD,操作如下:
ctrl-a
/traefik
更多过滤性能,能够本人试一试,进一步钻研。
Pulses – 监控 Dashboard
:pulse
就进入这个模式,这个就是一个监控 Dashboard,如下图:
能够十分直观看到集群当初的衰弱状况 —— 显著当初我的 Events 有异样,间接按 5⏎
, 再按 ctrl-z
查看异样事件:
XRay
XRay 会提供以某个 Kubernetes 资源为维度的关联关系,像 X 光一样,透射到资源的外部。如下图:
以 traefik deployment 为例,位于 kube-system ns,启动了一个 traefik-97b44b794-7qvzk
pod,pod 只有一个 traefik
container,并通过 ServiceAccount traefik
挂载了 secret traefik-token-r7vd2
。
Popeye
Popeye(鼎力水手)就是为集群、以及集群内的每隔资源打分,分数从 0 – 100,最初依据得分评出你的集群的状况:得分是 A 还是 C,并给出具体起因。
如下:
DaemonSet 得 0 分起因是都没指定 requests 和 limits:
Service 得 20 分起因就多了,甚至还贴心思考到了开销贵不贵的问题:
🔐 直观的 RBAC
RBAC 的 yaml 看起来很不不便的,如果对权限比拟要求比拟多,那 K9S 相对好用直观,如下,traefik role 有哪些权限高深莫测:who、what、how。
✍ 总结
K9S 是一个 基于终端的 K8S UI,在没有桌面、只有 终端的状况下应用它,能够大幅晋升你的效率以及你对 K8S 的认知。
它有很多弱小的性能,其中:快捷键、过滤、Pulses、XRay、Popeye、RBAC 这些性能肯定要试一试,体验飞升!
一起应用吧~ 🤓🤓🤓
三人行, 必有我师; 常识共享, 天下为公. 本文由东风微鸣技术博客 EWhisper.cn 编写.