k9s监控k8s集群工具

一、概述

k9s是一款基于终端的Kubernetes集群管理工具,由开发者Derailed团队维护。它通过实时监控集群状态、提供交互式界面,让用户无需反复输入kubectl命令即可完成资源查看、调试和管理操作。

为什么要用k9s呢?因为最近接触了一个私有云项目,这个云平台做的比较差,看不到任何监控信息。

所以只能通过命令行方式,查询node节点,pod这些资源,使用情况。

二、安装k9s

安装方式有很多,比如:

Linux一条命令安装

arduino 复制代码
curl -sS https://webinstall.dev/k9s | bash

docker容器安装

bash 复制代码
docker run -it --rm -v ~/.kube/config:/root/.kube/config quay.io/derailed/k9s

github下载安装包安装

github下载地址:github.com/derailed/k9...

我的是ubuntu 22.04系统,直接下载最新版本的deb文件即可

下载完成后,安装

css 复制代码
dpkg -i k9s_linux_amd64.deb

三、pod使用率

查看pod的cpu和内存使用率

比如查看uat-test命名空间下所有pod的使用情况

r 复制代码
k9s -n uat-test -c pods

输出如下:

xml 复制代码
Context: cce-48fefwi93fe4-260fd709-93c0-46da-b05... <0> all       <a>       Attach       <ctrl-k>  Kill           ____  __ ________        
 Cluster: cce-48fefwi93fe4                         <1> uat-test  <ctrl-d>  Delete       <l>       Logs          |    |/  /   __   \______ 
 User:    260fd709-93c0-46da-b051-4874a96a0d64     <2> default   <d>       Describe     <p>       Logs Previous |       /\____    /  ___/ 
 K9s Rev: v0.50.9                                                <e>       Edit         <shift-f> Port-Forward  |    \   \  /    /\___  \ 
 K8s Rev: v1.20.7                                                <?>       Help         <z>       Sanitize      |____|\__ \/____//____  / 
 CPU:     33%                                                    <shift-j> Jump Owner   <s>       Shell                  \/           \/  
 MEM:     73%                                                                                                     Warning Memory level!   
┌─────────────────────────────────────────────────────────── pods(uat-test)[6] ──────────────────────────────────────────────────────────┐
│ NAME↑                                        PF READY STATUS            RESTARTS CPU %CPU/R %CPU/L MEM %MEM/R %MEM/L IP            NOD │
│ gateway-6b7696c6d9-wclfv                     ●  1/1   Running                  0   1      1      0 433    216     84 10.153.76.63  nth │
│ info-7cc6c94678-99mbw                        ●  1/1   Running                  0   2      2      1 632    316     63 10.153.76.89  nth │
│ publishing-5dcb6b8748-bkqrs                  ●  1/1   Running                  0   3      3      1 736    368     73 10.153.76.85  nth │
│ system-5dc667574f-frv7r                      ●  1/1   Running                  0   2      2      1 721    360     72 10.153.76.88  nth │
│ user-7f4887776-zv4sf                         ●  1/1   CrashLoopBackOff         1   3      3      1 497    497    100 10.153.76.86  nth │
│                                                                                                                                        │
│                                                                                                                                        │
│                                                                                                                                        │
│                                                                                                                                        │
│                                                                                                                                        │
│                                                                                                                                        │
│                                                                                                                                        │
│                                                                                                                                        │
│                                                                                                                                        │
│                                                                                                                                        │
└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
  <pod>                                                                                                                                   
    

1.默认列含义

(以Pod视图为例)

列名 说明
‌NAME‌ Pod 名称,唯一标识符
‌NAMESPACE‌ 所属命名空间(此处为uat-test)
‌STATUS‌ Pod 状态(Running/Pending/Failed等)

READY‌ 容器就绪状态(格式:x/x,表示就绪容器数/总容器数)
‌RESTARTS‌ 容器重启次数
‌AGE‌ Pod 创建后的存活时间

CPU%‌ 当前CPU使用率(百分比)

MEM%‌ 当前内存使用率(百分比)

CPU‌ 实际CPU使用量(单位:m或核数,如500m=0.5核)
‌MEM‌ 实际内存使用量(单位:Mi或Gi,如256Mi=256MB)

2. 关键指标说明

CPU%‌和‌MEM%‌:显示实时使用率,基于kubectl top pod数据动态更新‌

CPU‌和‌MEM‌:显示实际资源消耗量,与Pod的limits配置对比可判断是否超限‌

STATUS‌:异常状态(如CrashLoopBackOff)需结合kubectl describe pod排查‌

3. 其他视图差异

Deployment视图‌:会额外显示UP-TO-DATE(更新副本数)和AVAILABLE(可用副本数)‌

Node视图‌:包含CPU%和MEM%的节点级资源使用率统计‌

这里重点,只需要关注2个参数即可
%CPU/L(CPU限制使用率)
%MEM/L(内存限制使用率)

这2个参数,会实时更新,反应的是当前pod使用的资源情况。如果超过80%,就需要考虑增加对于的资源了,防止出现OOM的情况。

在上面的输出信息可以看到,user服务,内存使用率已经是100%了,需要增加内存了。

四、node节点使用率

r 复制代码
k9s -c nodes

输出如下:

yaml 复制代码
Context: cce-48fefwi93fe4-260fd709-93c0-46da-b05... <c>      Cordon     <u> Uncordon                                                                     ____  __ ________        
 Cluster: cce-48fefwi93fe4                         <ctrl-d> Delete     <y> YAML                                                                        |    |/  /   __   \______ 
 User:    260fd709-93c0-46da-b051-4874a96a0d64     <d>      Describe                                                                                   |       /\____    /  ___/ 
 K9s Rev: v0.50.9                                  <r>      Drain                                                                                      |    \   \  /    /\___  \ 
 K8s Rev: v1.20.7                                  <e>      Edit                                                                                       |____|\__ \/____//____  / 
 CPU:     13%                                      <?>      Help                                                                                                \/           \/  
 MEM:     79%                                                                                                                                            Warning Memory level!   
┌──────────────────────────────────────────────────────────────────────────────── nodes(all)[2] ────────────────────────────────────────────────────────────────────────────────┐
│ NAME↑                                   STATUS   ROLE                    TAINTS   VERSION      PODS   CPU   CPU/A   %CPU     MEM    MEM/A    %MEM    GPU/A    GPU/C AGE       │
│ cast-kubernetes-test-master-bnvoaqcj    Ready    control-plane,master    1        v1.20.7        21   421    1800     23    5058     5426      93      n/a      n/a 8d        │
│ cast-kubernetes-test-worker-tevaemdx    Ready    <none>                  0        v1.20.7        27   323    3900      8    9241    12657      73      n/a      n/a 6d2h      │
│                                                                                                                                                                               │
│                                                                                                                                                                               │
│                                                                                                                                                                               │
│                                                                                                                                                                               │
│                                                                                                                                                                               │
│                                                                                                                                                                               │
│                                                                                                                                                                               │
│                                                                                                                                                                               │
│                                                                                                                                                                               │
│                                                                                                                                                                               │
│                                                                                                                                                                               │
│                                                                                                                                                                               │
│                                                                                                                                                                               │
│                                                                                                                                                                               │
│                                                                                                                                                                               │
│                                                                                                                                                                               │
│                                                                                                                                                                               │
│                                                                                                                                                                               │
│                                                                                                                                                                               │
│                                                                                                                                                                               │
│                                                                                                                                                                               │
│                                                                                                                                                                               │
│                                                                                                                                                                               │
│                                                                                                                                                                               │
│                                                                                                                                                                               │
│                                                                                                                                                                               │
│                                                                                                                                                                               │
│                                                                                                                                                                               │
│                                                                                                                                                                               │
│                                                                                                                                                                               │
│                                                                                                                                                                               │
│                                                                                                                                                                               │
└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
  <node>                                                                                                                                                                         

可以看到master节点,目前cpu和内存使用率,分别是:23%,93%

node节点,目前cpu和内存使用率,分别是:8%,73%

行业拓展

分享一个面向研发人群使用的前后端分离的低代码软件------JNPF

基于 Java Boot/.Net Core双引擎,它适配国产化,支持主流数据库和操作系统,提供五十几种高频预制组件,内置了常用的后台管理系统使用场景和实用模版,通过简单的拖拉拽操作,开发者能够高效完成软件开发,提高开发效率,减少代码编写工作。

JNPF基于SpringBoot+Vue.js,提供了一个适合所有水平用户的低代码学习平台,无论是有经验的开发者还是编程新手,都可以在这里找到适合自己的学习路径。

此外,JNPF支持全源码交付,完全支持根据公司、项目需求、业务需求进行二次改造开发或内网部署,具备多角色门户、登录认证、组织管理、角色授权、表单设计、流程设计、页面配置、报表设计、门户配置、代码生成工具等开箱即用的在线服务。

相关推荐
用户87261342418513 小时前
封装组件库并上传npm源
前端
Mintopia3 小时前
🌐 Web3.0 时代:AIGC 如何赋能去中心化内容生态?
前端·javascript·aigc
鹏多多3 小时前
前端项目eslint配置选项详细解析
前端·vue.js·react.js
然我3 小时前
面试官:这道 Promise 输出题你都错?别再踩 pending 和状态凝固的坑了!(附超全解析)
前端·javascript·面试
bug_kada4 小时前
让你彻底明白什么是闭包(附常见坑点)
前端·javascript
吴楷鹏4 小时前
TypeScript 为什么要增加一个 satisfies?
前端·typescript
光影少年4 小时前
js异步解决方案以及实现原理
前端·javascript·掘金·金石计划
阿隆_趣编程4 小时前
为了方便相亲,我用AI写了一款小程序
前端·javascript·微信小程序
EndingCoder4 小时前
Electron 跨平台兼容性:处理 OS 差异
前端·javascript·electron·前端框架·node.js·chrome devtools