K9s 简明上手指南

在这里插入图片描述

🎁 通过本文希望您可以

  • 了解到使用 K9s 如何比直接使用 kubectl 更快捷
  • 知道如何初步使用 K9s
  • 了解我使用 K9s 的一些常用场景,提供参考

📖 目录

  • 🐳 K9s 是什么
  • 📦 如何安装
  • 🚀 快速上手
  • 🔍 常用场景
  • 📖 参考

🐳 K9s 是什么

K9s 是一个用于管理 Kubernetes 集群的命令行工具,提供了交互式终端用户界面(TUI),方便用户查看和操作 Kubernetes 资源

通过 K9s,用户可以实时监控集群中各种资源(如 Pod、Deployment、Service 等)的状态变化,以直观的方式呈现信息,快速了解集群的运行情况

在没有 K9s 的情况下,用户主要通过命令行工具 kubectl 与 Kubernetes 交互,而 K9s 则提供了更快捷的处理方式

📦 如何安装

K9s 可在 Linux、macOS 和 Windows 平台上使用。

macOS平台

通过 Homebrew 安装:

brew install derailed/k9s/k9s

通过 MacPort 安装(需要管理员权限):

sudo port install k9s

Linux平台

通过 LinuxBrew 安装:

brew install derailed/k9s/k9s

通过 PacMan 安装:

pacman -S k9s

Windows平台

通过 scoop 安装:

scoop install k9s

通过 chocolatey 安装:

choco install k9s

下载二进制安装

github/k9s/release 页面 提供了适用于 Linux、Windows 和 Mac 的二进制文件,用户可以根据需要下载。

🚀 快速上手

连接集群

安装后,直接在终端中输入 k9s,即可唤醒 K9s 的界面。

我本地安装了 orbStack,可以自动连接到 orbStack 启动的集群。

一般情况下,我都是需要连接到外部集群,可以将外部集群的 kubeconfig 下载到本地,并通过配置环境变量 KUBECONFIG 来实现自动连接,如下所示

export KUBECONFIG=~/Desktop/k8sconfig/your-kubeconfig

布局了解

打开后,我们先看下界面上的布局,这会为我们下一步使用打好基础
布局
我觉得这里右上角 操作帮助 是很重要的,你处理不同资源时,这里会根据资源展示相应可执行的操作,按照提示的快捷键根据自己的需求操作即可

中上方的 命名空间快捷键,可以帮助快速切换命名空间,根据这里的信息点击对应的数字就可以切换不同的命名空间,资源列表展示区 会根据我们选择的命名空间展示对应的资源

左下角 资源类型 展示的就是在 资源列表展示区 展示资源的类型,方便我们确认我们正在处理资源的类型,比如你在处理某个 deployment 下 pod 的容器时,它会是这样的,方便你确认自己处理资源的类型
资源导航

快速上手

K9s 的使用方法与 vim 类似,它也是号称 A Terminal-Based Vim-Like Kubernetes Dashboard

所以在使用 K9s 前,还是推荐你先学习下 vim 的基本使用,在终端输入 vimtutor 就可以开始了解学习 vim 的一些基本操作了

我们以查看集群中 default 命名空间 pod jenkins-example 的 yaml 为例:

  1. 输入 :pod + 回车 就能看到 列表资源展示区 展示了 pod 列表信息
    pod 筛选

  2. 再根据 命名空间快捷键 输入 3 就可以筛选到 default 命名空间下的 pods 列表了ns-select

  3. 要查看 pod 的 yaml,在光标选中 pod 中,直接按 y 即可 (不用担心你要记忆太多的快捷键,布局中提到的 操作帮助 中就记录了相关的快捷键,比如这里的 <y> YAML )y-yaml 这样就可以看到该 pod 对应的 yaml 资源详情,此时我们可以通过快捷键 c 来 Copy,快捷键 e 来 Edit 该 yaml 信息yaml
    这样我们就初步尝试了 K9s 的能力,可以看到达到查看 pod yaml 的目标,使用 K9s 只需要几个按键就能搞定,如果使用 kubectl get 的话就会麻烦很多,这也就是 K9s 的优势所在

🔍 常用场景

K9s 常用的一些命令在下表中,资源的操作几乎都是依赖于这张表提供的能力

操作命令注释
显示当前键盘助记符和帮助?
显示所有可用资源别名ctrl-a
退出K9s:qctrl-c
使用单数/复数或短名称查看Kubernetes资源:pod⏎接受单数、复数、短名称或别名,如pod或pods
在给定命名空间中查看Kubernetes资源:pod ns-x⏎
查看过滤后的pod:pod /fred⏎查看所有名称包含fred的pod
查看带标签的pod:pod app=fred,env=dev⏎查看所有带有匹配app=fred和env=dev标签的pod
在给定上下文中查看pod:pod @ctx1⏎查看上下文ctx1中的所有pod,会切换当前k9s上下文!
根据过滤器过滤资源视图/filter⏎支持正则表达式,如`fred
反向正则过滤器/! filter⏎保留所有不匹配的内容
按标签过滤资源视图/ -l label-selector⏎
根据过滤器模糊查找资源/-f filter⏎
退出视图/命令/过滤器模式<esc>
用于描述、查看、编辑、查看日志等的键映射dvel
查看并切换到另一个Kubernetes上下文(Pod视图):ctx⏎
查看并直接切换到另一个Kubernetes上下文(上次使用的视图):ctx context-name⏎
查看并切换到另一个Kubernetes命名空间:ns⏎
查看所有保存的资源:screendump或sd⏎
删除资源(按TAB键和ENTER键确认)ctrl-d
终止资源(无确认对话框,等同于kubectl delete –now)ctrl-k
启动脉冲视图:pulses或pu⏎
启动XRay视图:xray RESOURCE [NAMESPACE]⏎RESOURCE可以是po、svc、dp、rs、sts、ds之一,NAMESPACE是可选的

下面我列一些日常用到的命令,供您参考

查看 pod 日志

通过上面的 快速上手 中的步骤,选择到查看的 pod 时,直接输入 l 即可
在这里插入图片描述
这样就可以看到 pod 的日志了
在这里插入图片描述

编辑 deployment

类似上面提到的查看 pod 资源的步骤,输入 :deployments + 回车 即可进入 deployment 资源的列表页面 (输入 :deployment 的时候会有自动补全)
在这里插入图片描述
找到 deployment 后,按照提示输入 e 即可进入编辑模式,编辑完成后,输入 :wq 退出即可

调整 deployment 的 replicas

这是我很喜欢的一个快捷方式,因为某些场景会有要反复 scale 某个 deployment 的要求,手动的 scale 会相对麻烦一些,K9s 就提供了便捷的处理方式

类似的,选择到 deployment 之后,输入 s 即可看到这个页面,输入期望的 replicas 数目就可以修改 deployment 的部署数目
在这里插入图片描述

exec 进入 pod 执行命令

这是我最喜欢的一个快捷方式(看到这个功能我才决定入坑 K9s 并写下这篇文章),进入 pod 执行命令几乎是排查问题规避不开的事情,K9s 提供了一个简便的处理办法

在选择到了期望处理的 pod 时,执行 s 即可进入 pod shell 中在这里插入图片描述
进入 pod 后,可以执行相关的命令,如果想要退出 shell,需要输入 ctrl + D,这样就可以退出编辑页面
在这里插入图片描述

数据过滤

比如我们想只展示 jenkins 相关的 pod,我们可以通过过滤方式来展示
在这里插入图片描述
过滤 jenkins pod 的话,只需要输入 /jenkins 即可,想要退出的话,输入 esc 即可
在这里插入图片描述
其他场景下过滤也是通用的

📖 参考

K9s 的官方文档
K9s 简易教程
K9s 使用教程:如何高效管理 Kubernetes 集群

💬 后记

K9s 的官方文档,K9s 还提供了性能测试、多集群管理相关的功能,还有其他丰富的外观和热键配置

初步使用阶段还没有使用过这些功能,如果后续有类似经验,会继续更新文章

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值