起源
K9s 是一个由 Go 语言编写的开源项目,旨在简化 Kubernetes 集群的管理。它最初由 Imhotep 团队开发,并于 2017 年首次发布于 GitHub。K9s 的设计灵感来自于类似于 Vim 的键盘导向式界面,旨在为用户提供直观、高效的操作体验。随着时间的推移,K9s 在开源社区中得到了广泛的认可和贡献,成为了管理 Kubernetes 集群的首选工具之一。
特点
K9s 作为一款命令行工具,具有许多独特的特点和优势,使其在 Kubernetes 集群管理领域脱颖而出。
-
直观的界面:
K9s 提供了一个基于终端的用户界面,用户可以通过键盘快捷键来浏览和操作 Kubernetes 集群中的各种资源。这种直观的界面使得用户无需记忆复杂的命令,就可以轻松地完成各种操作。
-
丰富的功能:
K9s 支持对集群中的各种资源进行查看、监控和管理,包括 Pod、Deployment、Service、Namespace 等。用户可以通过 K9s 来查看资源的状态、日志、事件等信息,并且可以对资源进行增删改查等操作。
-
灵活的配置:
K9s 允许用户通过配置文件来自定义界面布局、颜色主题、快捷键等各种参数,以满足不同用户的需求。用户可以根据自己的喜好和习惯来调整 K9s 的外观和行为,从而提高工作效率。
-
跨平台支持:
K9s 支持在各种操作系统上运行,包括 Linux、macOS 和 Windows。无论是在开发者的笔记本电脑上,还是在生产环境的服务器上,用户都可以方便地使用 K9s 来管理 Kubernetes 集群。
-
强大的扩展性:
K9s 提供了丰富的插件系统,允许开发者根据自己的需求定制和扩展功能。用户可以通过安装插件来增加新的功能,或者编写自己的插件来满足特定的需求。
使用
使用 K9s 来管理 Kubernetes 集群非常简单,只需在终端中执行 k9s 命令即可启动 K9s。一旦启动,用户就可以使用键盘上的方向键和快捷键来浏览和操作 Kubernetes 集群中的各种资源。例如,用户可以按下方向键来选择不同的资源类型(如 Pod、Deployment、Service 等),然后按下 Enter 键来查看该资源的详细信息。此外,用户还可以使用快捷键来执行各种操作,如创建资源、删除资源、重新启动 Pod 等。
k9s操作界面
k9s基本键盘组合规则
键盘组合 | 功能 | 详细说明 |
<c> |
复制选中的内容 | 只会复制其中一个Column, 例如如果在Pods界面,则只会复制Pod的Name, 可以在剪切板中使用 |
<ctrl-r> |
刷新当前显示的界面 | 刷新当前界面显示的资源及其状态 |
<shift-key> |
按某个column排序显示 |
如在pods界面,想要按pod名排序,可以按下<shift-n>,如果想按CPU占用排序,可以按下<shift-c>, 想要按IP地址排序,可以按下<shift-i>, 注意,排序时不能打开大写锁,否则功能会不一样,例如shift-I的功能不是按IP地址排序,而是修改pod的image |
<space> |
标记选中资源 | 被标记的资源会在k9s界面中高亮显示 |
<d> |
显示资源描述 | 等同于运行kubectl describe 命令 |
<y> |
显示资源的yaml 文件内容 |
等同于kubectl get xxx -o yaml 命令 |
<e> |
编辑选中的资源 | 进入编辑后,默认是vim 编辑器,完成后:wq 退出后立即生效 |
<l> |
显示pod的日志 | 显示log的日志信息,可以按<w> 键切换显示的格式(自动换行) |
<ctrl-d> |
删除资源 | 删除前会提示确认 |
<ctrl-k> |
杀死资源 | 强制删除,删除前不会有提示信息 |
<ctrl-w> |
显示资源的更多信息 | 等同于命令kubectl get xxx -o wide |
<ctrl-z> |
切换显示错误资源 | 按一下就只显示状态错误的资源,再按一下就显示所有资源 |
<: 资源类型> |
显示某种类型的所有资源 | 常用的有: : ns (显示所有namespace), : pods (显示所有pods)等, 资源类型可以写全称也可以写缩写,如service 的缩写是svc , statefulset 的缩写是sts , daemonset 的缩写是ds |
<ctrl-c> |
退出k9s | 退出k9s界面工具 |
未来展望
随着 Kubernetes 在企业和开发者社区中的广泛应用,K9s 的前景也变得一片光明。未来,我们可以期待 K9s 进一步提升其功能和性能,为用户提供更加强大和便捷的 Kubernetes 集群管理体验。与此同时,K9s 的社区也将继续壮大,为开发者提供更多的支持和帮助,共同推动 Kubernetes 生态系统的发展和壮大。
结语
总的来说,K9s 是一款功能强大、易于使用的命令行工具,为 Kubernetes 集群的管理提供了简单而有效的解决方案。无论是初学者还是经验丰富的 Kubernetes 用户,都可以通过 K9s 来提高工作效率,简化日常操作。随着 Kubernetes 在云原生领域的持续发展,相信 K9s 将会成为越来越多人的首选工具,帮助他们更好地管理和运维 Kubernetes 集群。