指定KCI Pod规格

最近更新时间:2021-03-23 16:09:32

查看PDF

Serverless容器集群中的Pod使用KCI容器实例承载,你可以通过以下两种方式创建KCI Pod实例

  • 指定KCI实例的规格
  • 指定KCI实例中的容器规格,自动核算KCI Pod的规格

指定KCI实例的规格

支持通过annotation的方式指定KCI Pod的规格,详情请参考资源规格

指定KCI实例中容器的规格

用户可以通过Kubernetes中原生的方式指定容器的Request和Limit的值,由容器服务自动核算KCI Pod的规格。

目前单KCI实例中支持运行5个容器,实例内的每个容器均可以自定义配置,但汇总到KCI实例级别时需要CPU和Memory的规格约束,对于不满足的情况,金山云容器服务会自动执行规整操作,计费按照规整后CPU和Memory进行计费。

备注:

  • 如果在Annotation中指定了实例的CPU和Memory,则以Annotation中配置的为准,不再进行KCI实例的规整
  • 如果在Pod中未设置Request和Limit值,则未设置项作为0运算
  • 如果在Pod内所有容器均没有设置Request和Limit,则Pod的规格默认为2C4GiB
  • Request和Limit的合计数值需要与资源规格匹配,若设定的值和资源规格差距过大,自动规整后的规格可能导致某项资源分配超预期,造成资源的浪费,请合理设置Request和Limit值

1. 分别计算KCI Pod中容器的CPU和Memory的合计数值。

合计数值分别为Pod被所有容器的Limit之和(若没有Limit,则以Request为准)

2. 根据上述计算的数值,自动规整规则如下:

CPU和Memory的合计数值 自动规整规格
CPU和Memory的合计数值均为0 默认KCI pod的规格为2C4GiB
CPU和Memory的合计数值有一个为0 按照非0项的合计数值匹配最小规格的KCI实例
例如:CPU的合计数值为0,Memory的合计数值为7.8GiB,目前不支持7.8GiB的规格,向上规整到8GiB,在Memory为8GiB的允许的规格中选择CPU的最小值,则规整后的KCI实例的规格为2C8GiB
CPU和Memory的合计数值均不为0 需要与金山云容器实例支持的规格进行匹配。这里我们优先匹配CPU,首先匹配与CPU合计数值一致或者相近的较大规格(A规格),再匹配与Memory合计数值一致或者相近的较大规格:
- 如果Memory的合计数值<A规格中Memory的最小值,则选择A规格的Memory区间的最小值
- 如果Memory的合计数值>A规格中Memory的最大值,则选择与Memory相近的较大规格(B规格),并将CPU合计数值改为B规格的CPU的最小值
- 如果CPU和Memory合计数值有一个超过允许的最大规格,则会出现错误,无法进行创建
CPU和Memory合计数值有一个超过允许的最大规格 报错,无法创建

示例

示例1

resources:
  limits:
    cpu: "1"
    memory: "2Gi"
  requests:
    cpu: "0.5"
    memory: "1Gi"

计算Limit的合计数值,此KCI Pod的规格为1C2GiB

示例2

# container1
resources:
  limits:
    cpu: "1"
    memory: "2Gi"
  requests:
    cpu: "0.5"
    memory: "1Gi"
# container2
resources:
  limits:
    cpu: "2C"
    memory: "4Gi"
  requests:
    cpu: "1C"
    memory: "2Gi"

CPU合计数值为1+2=3C,Memory的合计数值为6GiB,优先匹配CPU数值,由于CPU不支持设置为3C,自动向上规整为4C。

当CPU为4C时,支持的Memory最小值为8G大于设定的6GiB,Memory向上规整为8GiB,规整后的KCI Pod的规格为4C8GiB。

文档内容是否对您有帮助?

根本没帮助
文档较差
文档一般
文档不错
文档很好

在文档使用中是否遇到以下问题

  • 内容不全,不深入
  • 内容更新不及时
  • 描述不清晰,比较混乱
  • 系统或功能太复杂,缺乏足够的引导
  • 内容冗长

更多建议

0/200

评价建议不能为空

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

问题反馈