在 k8s中查看最大 CPU 和内存的极限

在 Kubernetes(k8s)中,你可以从不同层面查看最大 CPU 和内存的极限,下面为你详细介绍从节点和集群层面查看的方法。

查看节点的 CPU 和内存极限

节点的 CPU 和内存极限是指单个节点上可分配的最大资源量,可通过以下几种方式查看。

1. 使用 kubectl describe node 命令

该命令可以详细描述节点的信息,包括节点的容量(即最大可分配资源)。

bash 复制代码
kubectl describe node <node-name>

其中 <node-name> 是你要查看的节点名称。在输出结果中,你可以找到 Capacity 部分,其中包含了该节点的 CPU 和内存总量:

plaintext 复制代码
Capacity:
  cpu:                4
  ephemeral-storage:  30441288Ki
  hugepages-1Gi:      0
  hugepages-2Mi:      0
  memory:             7978440Ki
  pods:               110

这里的 cpu 表示节点的 CPU 核心数,memory 表示节点的内存总量。

2. 使用 kubectl get nodes -o json 命令

此命令以 JSON 格式输出节点信息,方便进行脚本处理和筛选。

bash 复制代码
kubectl get nodes -o json | jq '.items[].status.capacity'

这里使用了 jq 工具来格式化和提取所需信息。输出结果类似如下:

json 复制代码
{
  "cpu": "4",
  "ephemeral-storage": "30441288Ki",
  "hugepages-1Gi": "0",
  "hugepages-2Mi": "0",
  "memory": "7978440Ki",
  "pods": "110"
}

查看集群的 CPU 和内存极限

集群的 CPU 和内存极限是指整个集群中所有节点的资源总和。

1. 手动计算

通过 kubectl get nodes -o json 命令获取所有节点的信息,然后使用脚本(如 Python)来计算所有节点的 CPU 和内存总和。以下是一个简单的 Python 脚本示例:

python 复制代码
import json
import subprocess

# 获取节点信息
result = subprocess.run(['kubectl', 'get', 'nodes', '-o', 'json'], capture_output=True, text=True)
nodes = json.loads(result.stdout)

total_cpu = 0
total_memory = 0

# 遍历所有节点
for node in nodes['items']:
    capacity = node['status']['capacity']
    total_cpu += int(capacity['cpu'])
    memory_str = capacity['memory']
    if memory_str.endswith('Ki'):
        total_memory += int(memory_str[:-2]) * 1024
    elif memory_str.endswith('Mi'):
        total_memory += int(memory_str[:-2]) * 1024 * 1024
    elif memory_str.endswith('Gi'):
        total_memory += int(memory_str[:-2]) * 1024 * 1024 * 1024

print(f"Total CPU: {total_cpu} cores")
print(f"Total Memory: {total_memory} bytes")
2. 使用 Prometheus 和 Grafana

如果你在集群中安装了 Prometheus 和 Grafana 监控系统,可以通过 Grafana 仪表盘来查看集群的资源总量。通常可以使用以下指标:

  • node_capacity_cpu_cores:表示节点的 CPU 核心数。
  • node_capacity_memory_bytes:表示节点的内存总量(以字节为单位)。

通过对这些指标进行聚合计算,可以得到整个集群的 CPU 和内存总量。

相关推荐
one____dream9 分钟前
【网安】Reverse-非常规题目
linux·python·安全·网络安全·ctf
j_xxx404_10 分钟前
Linux:进程程序替换
linux·运维·服务器
祁鱼鱼鱼鱼鱼15 分钟前
Keepalived实验环境设定
linux·服务器·网络
Genie cloud19 分钟前
VPS 网络连接故障诊断与排查实用指南
linux·服务器·ssh
RisunJan26 分钟前
Linux命令-lnstat(快速查找文件和目录)
linux·运维·服务器
滴水之功33 分钟前
OpenWrt的WAN和LAN的切换
linux·网络·openwrt
历程里程碑1 小时前
Linux 17 程序地址空间
linux·运维·服务器·开发语言·数据结构·笔记·排序算法
Wpa.wk1 小时前
容器编排 - K8s - 配置文件参数说明和基础命令
经验分享·测试工具·docker·云原生·容器·kubernetes
CC.GG1 小时前
【Linux】进程控制(二)----进程程序替换、编写自主Shell命令行解释器(简易版)
linux·服务器·数据库
H Journey2 小时前
Linux 下添加用户相关
linux·运维·服务器·添加用户