如何基于Docker stats数据为Kubernetes Pod容器设置精准CPU单位
Docker容器迁移Kubernetes:CPU资源请求与限制转换方法
你需要将Docker容器迁移到Kubernetes作为单容器Pod,并用docker stats得到的CPU使用率(平均0.07%、峰值0.09%)配置Pod的CPU资源请求与限制,转换逻辑和配置如下:
转换逻辑
Kubernetes中,1 CPU等价于1个物理核心或1个vCPU,1 milliCPU(缩写为m)是1/1000 CPU。docker stats显示的CPU使用率是相对于单个核心的百分比,转换公式为:
milliCPU值 = CPU使用率百分比 ÷ 100 × 1000
具体计算
- 平均CPU使用率0.07%:
0.07 ÷ 100 × 1000 = 0.7m - 峰值CPU使用率0.09%:
0.09 ÷ 100 × 1000 = 0.9m
Pod资源配置示例
考虑到实际运行可能存在小幅波动,建议给请求和限制留少量余量,最终配置如下:
.... resources: requests: cpu: "1m" # 基于平均使用率向上取整,保证调度时能分配到足够资源 limits: cpu: "1m" # 基于峰值使用率向上取整,限制容器最大CPU占用
如果追求更精确的资源配置,也可以直接使用计算出的数值:
.... resources: requests: cpu: "0.7m" limits: cpu: "0.9m"
内容的提问来源于stack exchange,提问作者Vahid
相关产品推荐
相关产品推荐

