【kubernetes-工具篇】K9S详解-宝藏k8s界面工具

news/2024/11/28 6:32:17/

K9S简介

K9s是一个命令行界面(CLI)工具,用于管理Kubernetes集群。它是一个流行的开源工具,可以帮助Kubernetes管理员和开发人员轻松管理他们的Kubernetes集群。在本文中,我们将简单介绍K9s的概念、功能和如何使用它。
在这里插入图片描述

基本功能

在没有Web版的Dashboard的情况下,您可以使用命令行命令来管理您的Kubernetes集群。这使得您可以轻松地执行各种操作,例如查看资源、编辑资源、删除资源等。

  • 资源监视:使用K9s,您可以轻松地监视和管理Kubernetes集群中的各种资源,例如Pod、Deployment、Service和ConfigMap等。
  • 资源修改:您可以使用K9s的资源编辑功能来修改这些资源,例如更新Pod的副本数量或更改Service的类型。
  • K9s还提供了强大的资源搜索功能,使您可以快速查找特定的资源。

进阶功能

除了这些核心功能之外,K9s还提供了许多其他有用的功能,这些功能可以帮助您更轻松地管理和监视Kubernetes集群,例如:

  • 资源过滤
  • 上下文切换
  • 集群状态监视
  • Kubernetes事件跟踪。

现在,让我们看看如何使用K9s。首先,您需要安装K9s工具。您可以从K9s的GitHub页面下载二进制文件,或使用Homebrew、apt-get或yum等包管理器来安装K9s。一旦安装完成,您可以在命令行中键入"k9s"来启动K9s。参考链接
k9s界面示例

命令详解

以只读权限运行

k9s为用户提供了方便的管理k8s资源的方式,同时也带来了安全上的风险,为了避免误操作对环境造成影响,我们可以在启动k9s时指定参数,以只读方式运行:

k9s --readonly

这样,在k9s界面中,就没有权限对资源进行任何的修改了。

显示帮助信息与键盘组合功能

进入K9S命令行界面后,直接输入?(注意不是: ?), 会显示如下的帮助界面,提示了每个键盘组合的功能, 请注意,在不同界面下, 按下?键显示的是对当前界面的帮助提示,下面的截图是在alias界面下的帮助信息
请添加图片描述

基本使用

下表是一些通用的键盘组合规则

键盘组合功能详细说明
<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管理员,你通常还需要关心:

  • 多个集群的管理
  • 集群状态监控
  • 快速过滤关注的资源
  • kubernetes事件的跟踪

下面是相关命令的键盘组合列表及详细说明:

键盘组合功能详细说明
<: ctx>查看kubernetes上下文列表(即集群列表)查看所有可访问的k8s集群,选中某个集群后回车可使用其配置文件,连接对应的集群
<: ctx name>连接指定K8S集群连接到name指定的k8s上下文名称的集群
<: pulses>/<: pu>集群监控面板如图可以显示集群的资源使用情况以及健康状态,如下图,显然有一个pod处于错误状态,根据顶部提示,按4可以进入到pods界面查看,再按<ctrl-z>可以查看错误的pod请添加图片描述
<: xray resource_type [namespace]>查看资源关联关系如:<: xray deployments><: xray deployments default>, 分别是查看所有namespace/指定namespace下以deployments为维度的各资源的联系,不同的资源类型会用不同的图标表示,如下图在这里插入图片描述
<: popeye>集群状态评分集群的每个资源都会被评分(0 - 100),综合起来会给集群一个整体评分(0-100)和等级(A/B/C),如下图:在这里插入图片描述选中某项具体的资源,按下回车键,会显示更加详细的评价信息,如选中daemonsets, 会显示具体扣分的原因,如下图,会因为没有为port命名和没有设置资源限制而影响评分请添加图片描述
<: crb>/<: clusterrolebinding>查看RBAC可以直观的查看集群的RBAC信息, 执行命令后,可以选中某个具体的Clusterrolebinding, 回车查看详细权限,如下图, 查看k9s这个clusterrole的具体权限:请添加图片描述请添加图片描述

总结

在没有图形界面,只有命令行的条件下, k9s dashboard提供了一套强大的UI Dashboard, 让你远离记忆繁琐的kubect命令的烦恼,让你使用k8s的体验飞升,并且图形化的展示,让你对k8s有了更好的理解。快来试试吧!


http://www.ppmy.cn/news/40192.html

相关文章

Oracle的学习心得和知识总结(十八)|Oracle数据库性能压测工具swingbench的安装和使用及AWR ASH ADDM报告生成

目录结构 注&#xff1a;提前言明 本文借鉴了以下博主、书籍或网站的内容&#xff0c;其列表如下&#xff1a; 1、参考书籍&#xff1a;《Oracle Database SQL Language Reference》 2、参考书籍&#xff1a;《PostgreSQL中文手册》 3、EDB Postgres Advanced Server User Guid…

【Kubernetes 企业项目实战】11、掌握 Kubernetes Kustomize 技术从入门到企业实战(下)

目录 一、Kustomize 进阶 1.1 使用覆盖定制资源 1.1.1 kustomization.yaml 1.1.2 deploy-patch.yaml 1.1.3 ing-patch.yaml 1.1.4 op 操作类型介绍 二、生成测试环境定制资源 三、使用 Kustomize 来应用、查看和删除对象 3.1 创建应用 3.2 查看应用 3.3 删除应用 四…

在PHP中输出JS语句以及乱码问题的解决方案

在PHP中输出JS语句以及乱码问题的解决方案 怎样在php中输出js语句&#xff1f; 示例 $classState""; if($state0){ $classState"已下课"; } else{ $classState"正在上课"; } echo ""; ?> 这样在页面的其他地方,就可以直接引用php中…

学习系统编程No.14【动静态库】

引言&#xff1a; 北京时间&#xff1a;2023/4/3/7:06&#xff0c;刚刚晨跑回来&#xff0c;为了摆脱困意&#xff0c;刷了一下视屏&#xff0c;哈哈哈&#xff01;我发现我每次刷视屏都是被迫的&#xff0c;都是看到某个感兴趣的标题&#xff0c;然后点进去一看&#xff0c;就…

PHP观察者模式(Observer Pattern)

PHP观察者模式&#xff08;Observer Pattern&#xff09; 观察者模式是一种行为设计模式&#xff0c;它定义了一种订阅机制&#xff0c;让一个或多个对象&#xff08;观察者&#xff09;自动被通知并更新&#xff0c;当被观察对象&#xff08;主题&#xff09;的状态发生改变时…

Antd Table Pro框架Protable组件中rowSelection方法的一个坑

首先上截图看我遇到的问题跟你是否一样&#xff0c;全选了&#xff0c;还是提示就选了1个。。。。。 解决办法&#xff1a; 就一个点&#xff0c;非常坑&#xff0c;在你的protable组件里有个方法rowKey的值改为&#xff1a;{record > record.gnlkid} 注意gnlkid是你接口返…

JS(1)

本博客的js只讨论浏览器上的&#xff0c;可以开发网页的js&#xff0c;不考虑node.js 主要分为三个部分&#xff1a; ECMAScript 也就是JavaScript语法 DOM 页面文档对象模型 对页面中的元素进行操作 BOM 浏览器对象模型 对浏览器窗口进行操作 后两者都是浏览器给js提供的…