Serverless容器集群中的Pod使用KCI容器实例承载,你可以通过以下两种方式创建KCI Pod实例
支持通过annotation
的方式指定KCI Pod的规格,详情请参考资源规格
用户可以通过Kubernetes中原生的方式指定容器的Request和Limit的值,由容器服务自动核算KCI Pod的规格。
目前单KCI实例中支持运行5个容器,实例内的每个容器均可以自定义配置,但汇总到KCI实例级别时需要CPU和Memory的规格约束,对于不满足的情况,金山云容器服务会自动执行规整操作,计费按照规整后CPU和Memory进行计费。
备注:
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合计数值有一个超过允许的最大规格 | 报错,无法创建 |
resources:
limits:
cpu: "1"
memory: "2Gi"
requests:
cpu: "0.5"
memory: "1Gi"
计算Limit的合计数值,此KCI Pod的规格为1C2GiB
# 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。
文档内容是否对您有帮助?
评价建议不能为空
非常感谢您的反馈,我们会继续努力做到更好!