查看k8s集群中pod和node的资源使用情况

1. kubectl top pod 命令

kubectl top pod 命令用于显示集群中所有 Pod 的 CPU 和内存使用情况。

示例 1: 查看所有 Pod 的资源使用情况

kubectl top pod

输出示例:

NAME CPU(cores) MEMORY(bytes)

nginx-deployment-5c6b7c8f8b-abcde 50m 128Mi

nginx-deployment-5c6b7c8f8b-fghij 60m 130Mi

my-app-7d8f9f8f8b-jklmn 100m 256Mi

示例 2: 查看特定命名空间中的 Pod 资源使用情况

kubectl top pod -n my-namespace

输出示例:

NAME CPU(cores) MEMORY(bytes)

my-app-7d8f9f8f8b-jklmn 100m 256Mi

示例 3: 查看 Pod 的详细信息

如果您想查看特定 Pod 的资源使用情况,可以使用 -o 选项输出为 JSON 或 YAML 格式:

kubectl top pod my-app-7d8f9f8f8b-jklmn -n my-namespace -o json

2. kubectl top node 命令

kubectl top node 命令用于显示集群中所有 Node 的 CPU 和内存使用情况。

示例 1: 查看所有 Node 的资源使用情况

kubectl top node

输出示例:

NAME CPU(cores) MEMORY(bytes)

node-1 200m 512Mi

node-2 300m 1Gi

node-3 150m 256Mi

示例 2: 查看特定 Node 的资源使用情况

如果您只想查看特定 Node 的资源使用情况,可以指定 Node 名称:

kubectl top node node-1

输出示例:

NAME CPU(cores) MEMORY(bytes)

node-1 200m 512Mi

3. 结合其他命令

您可以将 kubectl top 命令与其他命令结合使用,以便进行更复杂的监控和分析。例如,您可以将输出通过管道传递给 grep 或 awk 进行过滤。

示例 1: 过滤 CPU 使用率高于 100m 的 Pod

kubectl top pod --no-headers | awk '2 \> 100 {print 1, 2, 3}'

输出示例:

my-app-7d8f9f8f8b-jklmn 150m 256Mi

相关推荐
Jason_chen4 分钟前
Linux 6.2 音频机制深度解析:AI驱动的低延迟音频与零信任音频安全架构
linux
下午写HelloWorld8 分钟前
Linux系统及Ubuntu常用指令
linux·ubuntu·操作系统
张忠琳10 分钟前
【runc 1.4.2】(Part 2)runc 1.4.2 超深度分析 — CLI层:main.go、命令文件、runner、信号处理、TTY
云原生·kubernetes·runc
云计算磊哥@1 小时前
运维开发宝典026-MySQL02数据库表操作
运维·数据库·运维开发
weixin_523185322 小时前
Collections.unmodifiableMap详解:真的不可修改吗?
java·linux·前端
天天进步20152 小时前
Tunnelto 源码解析 #9:控制服务器设计:Warp、WebSocket、Ping/Pong 与连接保活
运维·服务器·websocket
阿里云云原生2 小时前
AI 提效是“假象”还是“红利”?用 LoongSuite + SLS 构建组织级 AI 编码度量看板
云原生
凡人叶枫3 小时前
Effective C++ 条款04:确定对象被使用前已先被初始化
java·linux·开发语言·c++·嵌入式开发
云栖梦泽3 小时前
玩转RK3506SDK
linux·嵌入式硬件
极客先躯3 小时前
高级java每日一道面试题-2026年02月01日-实战篇[Docker]-Docker Volume 的生命周期管理是怎样的?
java·运维·docker·容器·持久化·架构图·容器卷