查看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

相关推荐
小南家的青蛙20 分钟前
微服务体系下DevOps运维岗位面试方案设计
运维·面试·职场和发展·devops
知已难寻10 小时前
Docker 入门:容器技术与 Docker 基础
java·运维·服务器·docker·云原生·容器
默|笙11 小时前
【Linux网络】网络层协议 IP(1)理解报头、网段划分
linux·网络·tcp/ip
修己xj13 小时前
nslookup 使用指南:两种模式与常用查询技巧
linux
唠玖馆15 小时前
文件系统详解
linux·文件系统·ext2
GeW16 小时前
当Linux内核开始“确定性”,制造高端化才有了底层语法
linux
阿里云云原生16 小时前
生产更可信,订阅更耐用丨Higress 社区进展报告
云原生
星恒随风17 小时前
MySQL 从零入门(三):表的约束详解
linux·服务器·数据库·笔记·mysql
阿里云云原生17 小时前
如何用 STAROps Elasticsearch 智能助手看穿“搜索变慢”
云原生
Alluxio18 小时前
Alluxio + OCI:为 AI 工作负载实现亚毫秒访问延迟与可扩展吞吐
运维·数据库·人工智能·分布式·缓存·ai·语言模型