开发与运维

K8s 资源限制计算器看清每个资源数量的含义

换算 CPU 与内存,或汇总常规应用容器明确声明的资源。

K8s 资源限制计算器

Quantity 或容器 JSON

输入仅在当前浏览器处理,不会发送到服务器。

结果

输入 Quantity 或载入示例。

选项

Quantity 数值语义:k8s.io/apimachinery v0.34.1(Kubernetes 1.34)。输出规范化十进制,不是 Go String() 序列化或集群校验。

CPU 模式要求解析值非负且为整数毫核(1m = 0.001 CPU);Generic Quantity 可处理更精细的值。

工具上限:每个 Quantity 256 字符,指数 −100 至 100,总输入 100,000 个 UTF-16 单元,100 个容器,名称 80 字符。数量必须含数字。

输入或选项已改变,请重新计算后再导出。

K8s 资源限制计算器将 Quantity 解析与 CPU、内存资源规则分开。查看 100m CPU 是多少核、比较 Mi 与 M,或粘贴应用容器数组检查 requests 与 limits。

通过 CPU 单位换算查看核数与毫核,通过内存单位换算对比精确字节、Mi 和 Gi。这里的合计只描述输入,不代表实际使用量,也不构成资源配额建议。

为什么使用 K8s 资源限制计算器?

及时发现后缀误写

CPU 模式把 100m 和 0.1 核显示为同一数量的两种表示。K8s 资源限制计算器会将内存 100m 显示为 0.1 字节。对照十进制与二进制单位,可以在复用配置前发现 m、M 与 Mi 的混淆。

CPU 十等分中的一份与十个小 CPU 块中的一个表示相同份额。

缺失字段保持可见

每个容器分别展示 requests、limits 及其合计。未填写字段始终标记缺失,不会变成误导性的零或凭空补上的限制。

三个容器的 2、3、1 个蓝块合计为 6;缺失的绿色值保持虚线。

复用数量前的三个检查

01

先选择资源语境

选择 CPU、Memory 或 Generic Quantity。CPU 不接受非整数毫核,Generic 可解析更精细的值和负数;容器模式要求带名称条目的 JSON 数组。

02

结合缺失项阅读合计

检查各资源及其缺失字段数。只要还有 limit 未指定,已输入 limit 的合计就不代表有限的总上限。工具不会自动从 limit 补齐 request。

03

刷新结果并审核替换

自动计算等待 350 ms;关闭后可点击计算或按 Ctrl/Cmd+Enter。示例、清空和规范化写回均先预览,再应用,并可撤销;过期结果无法导出。

四种资源视图

CPU 单位换算

同时查看核数与整数毫核:100m 等于 0.1 CPU。拒绝负资源量和小数毫核。

内存单位换算

比较精确字节、Mi 与 Gi,保留小数字节,并单独展示向上取整后的整字节数。

Generic Quantity 解析

按 apimachinery v0.34.1 数值语义展示规范化十进制值,标记纳精度舍入和 BinarySI 饱和。

应用容器汇总

在 JSON 中填写 name、requests 与 limits,查看 CPU、内存合计、缺失项和限制小于请求的问题,无需连接集群。

输入约定与范围

严格的数量语法
后缀区分大小写:n、u、m、k、M、G、T、P、E 以及 Ki 至 Ei;e/E 接受带符号整数指数。拒绝空格、MiB、GB 以及完全没有数字的值。
精度与数值范围
基线为 k8s.io/apimachinery v0.34.1。比 1n 更精细的值向远离零方向舍入;BinarySI 在 ±(2^63−1) 饱和,十进制超过 64 位仍保持精确。输出为规范化十进制,不是 Go String() 的 canonical 序列化。
CPU 与内存语境
CPU 与内存不得为负。解析后的 CPU 必须为 1m 的整数倍。内存 100m 是 0.1 字节,另列的向上取整字节为 1;实际分配粒度可能更大。
有界的 JSON 输入
每个 Quantity 最多 256 字符,指数为 −100 至 100;总输入最多 100,000 个 UTF-16 代码单元、100 个唯一容器,名称为 1–80 个非控制字符。仅接受 name、requests、limits 及内部 cpu/memory 字符串,未知字段报错。拒绝重复的 JSON 键。
仅计算已声明的应用资源
不支持 YAML、完整清单、init 容器、sidecar、overhead 或 Pod 级资源。缺失值保持缺失,不应用默认值。合计不验证调度、不估计实际用量,也不建议最佳配额。

K8s 资源限制计算器常见问题

100m CPU 是多少核?

100m 表示 100 毫核,即 0.1 CPU。其中,1000m 与 1 都表示一个 CPU;0.5m 无法通过 CPU 精度校验。

内存的 Mi 和 M 有什么区别?

Mi 等于 1,048,576 字节,M 等于 1,000,000 字节。大小写同样重要:m 是千分之一字节。可在内存模式中对比精确值。

只设置 limits 不设置 requests 会怎样?

如果没有准入机制补充 request,Kubernetes 可把已设置的 limit 复制为缺失的 request。本工具保留缺失标记并解释这个条件,不会静默应用集群默认值。

为什么 Pod 调度失败?

请求量可能超过节点可分配资源,但亲和性、污点等条件也可能阻止调度。本地合计不能诊断集群,请结合 Pod 事件和节点可分配资源检查。

如何设置 CPU 和内存的 requests 和 limits?

应根据代表性负载的监控数据和应用要求选择配置。K8s 资源限制计算器负责检查数量并汇总声明值,单靠算术无法决定安全或最佳的 requests 与 limits。

资源结果不符合预期?

检查资源数量并保存结果

将 Quantity 或容器数组粘贴到 K8s 资源限制计算器,检查最新结果后导出 JSON 报告。