云容器实例 CCI
云容器实例 CCI
- 最新动态
- 功能总览
- 产品介绍
- 计费说明
- 快速入门
- 用户指南
- 最佳实践
- 开发指南
-
API参考
- 使用前必读
- 如何调用API
- 快速入门
- API
-
Kubernetes API
- ConfigMap
- Pod
- StorageClass
- Service
- Deployment
- Ingress
- OpenAPIv2
- VolcanoJob
- Namespace
- ClusterRole
- Secret
- Endpoint
- ResourceQuota
- CronJob
-
API groups
- 查询APIVersions
- 查询所有v1版本的API
- 查询APIGroupList
- 查询APIGroup /apis/apps
- 查询所有apps/v1的API
- 查询APIGroup /apis/batch
- 查询APIGroup /apis/batch.volcano.sh
- 查询所有batch.volcano.sh/v1alpha1的API
- 查询所有batch/v1的API
- 查询所有batch/v1beta1的API
- 查询APIGroup /apis/crd.yangtse.cni
- 查询所有crd.yangtse.cni/v1的API
- 查询APIGroup /apis/extensions
- 查询所有extensions/v1beta1的API
- 查询APIGroup /apis/metrics.k8s.io
- 查询所有metrics.k8s.io/v1beta1的API
- 查询APIGroup /apis/networking.cci.io
- 查询所有networking.cci.io/v1beta1的API
- 查询APIGroup /apis/rbac.authorization.k8s.io
- 查询所有rbac.authorization.k8s.io/v1的API
- Event
- PersistentVolumeClaim
- RoleBinding
- StatefulSet
- Job
- ReplicaSet
- 数据结构
- 权限和授权项
- 附录
- 历史API
- 修订记录
- SDK参考
- 场景代码示例
- 常见问题
- 视频帮助
- 文档下载
- 通用参考
链接复制成功!
资源配额
简介
对于CCE集群中弹性到CCI的pod,bursting插件会根据用户提供的CPU、内存规格,对pod的资源规格做出规整,以达到合理利用资源并满足CCI资源规格的目的。本章节将详细介绍如何进行资源规格的规整。
约束与限制
- 弹性到CCI的pod需要至少有一个容器有CPU的limit或者request限制。
- 本节的资源规整算法仅适用于云原生bursting,CCI 2.0的console和API有独立的Pod规格规整算法。
pod资源规格算法
弹性CCI的pod规格,根据container资源的Requests和Limits计算,调整至CCI允许范围。
pod规格的计算方式遵循如下规则:
- 所有应用容器和初始化容器对某个资源的Requests和Limits均会被设置为相等的值,如果配置了Limits,则取Limits值;如果没有配Limits,则取Requests值。
- pod对某个资源的Requests和Limits,是取如下两项的较大者:
- 所有应用容器对某个资源的Limits之和。
- 所有初始化容器Limits的最大值。
Pod规格约束:
- Pod的CPU需大于0。
- 经过资源自动规整后,Pod的CPU在0.25核~32核范围内,或者等于48核或64核;Memory在1Gi~512Gi范围内,且必须为1Gi的整数倍,且满足CPU/Memory配比值在1:2~1:8之间。
资源规整算法
假设根据pod资源规格算法求得CPU(core)、Memory(Gi),则自动规整规则如下:
- 将Pod中除了BestEffort的每个应用容器和初始化容器的CPU向上调整至0.25核的整数倍, Memory向上调整至大于等于0.2Gi。
说明:
CCE突发弹性引擎(对接 CCI)插件1.5.16版本及之后,不再进行容器级别的向上规整,仅进行pod级别的向上规整。
- 若此时Pod的CPU大于32u或者Memory大于256Gi,则不再继续进行自动调整,否则将继续调整。
- 将整个pod的CPU配额向上调整至0.25核的整数倍,Memory配额向上调整至1Gi的整数倍。
- 若pod Memory/CPU的比值小于2,需将pod Memory向上调整至大于等于CPU的2倍,且满足是1Gi的整数倍。
- 若pod Memory/CPU的比值大于8,需将pod CPU向上调整至大于等于Memory的1/8,且满足是0.25核的整数倍。
以上对pod级别资源向上调整造成的增量CPU和Memory,全部添加到Pod中第一个不为BestEffort的容器上。
注意:
BestEffort容器是指没有配置Requests和Limits的容器。
经过资源自动规整后,Pod规格约束:
- pod的CPU取值在0.25核~32核范围内,或者等于48核或64核,并且要求值为0.25的整数倍。
- Memory在1Gi~256Gi范围内,或者等于384Gi或512Gi,且Memory是整数。
- 满足Memory/CPU配比值在2~8之间。
用户可以通过CCE侧的pod的annotation查看规整后的规格。
- virtual-kubelet.cci.io/burst-pod-cpu: 0.5u
- virtual-kubelet.cci.io/burst-pod-memory: 1Gi
资源规整用例说明
资源规格 (CPU MEM) |
规整后规格(CPU MEM) |
说明 |
---|---|---|
37U 37Gi |
无法创建pod弹性到CCI。 |
CPU规格无效。 |
30U 257Gi |
无法创建pod弹性到CCI。 |
存算比大于8,提高CPU。但无法满足CPU规格有效,拦截。 |
0.35U 0.5Gi |
0.5U 1Gi |
CPU向上取整0.25的整数倍,MEM向上取整1的整数倍。存算比符合要求,不做调整。 |
0.35U 1.5Gi |
0.5U 2Gi |
CPU向上取整0.25的整数倍,MEM向上取整1的整数倍。存算比符合要求,不做调整。 |
0.45U 18Gi |
2.25U 18Gi |
CPU向上取整0.25的整数倍,MEM向上取整1的整数倍。存算比大于8,提高CPU。 |
2U 2Gi |
2U 4Gi |
存算比小于2,提高MEM。 |
父主题: CCE突发弹性引擎(对接CCI)