如何根据集群规格调整插件配额?
当您的集群规格调整后,可能需要根据集群规格相应地调整插件资源配额,以确保插件实例能够正常运行。例如,如果您将集群规格从50节点调整为200节点或以上,则需要增加插件CPU、内存配额,防止插件实例因需要调度过多的节点而出现OOM等异常。因此,在调整集群规格后,请您同时考虑调整插件资源配额。
CoreDNS域名解析
CoreDNS所能提供的域名解析QPS与CPU消耗成正相关,集群中的节点/容器数量增加时,CoreDNS实例承受的压力也会同步增加。请根据集群的规模,合理调整插件实例数和容器CPU/内存配额。
节点数量 |
推荐配置 |
实例数 |
CPU申请值 |
CPU限制值 |
内存申请值 |
内存限制值 |
---|---|---|---|---|---|---|
50 |
2500QPS |
2 |
500m |
500m |
512Mi |
512Mi |
200 |
5000QPS |
2 |
1000m |
1000m |
1024Mi |
1024Mi |
1000 |
10000QPS |
2 |
2000m |
2000m |
2048Mi |
2048Mi |
2000 |
20000QPS |
4 |
2000m |
2000m |
2048Mi |
2048Mi |
CCE 容器存储(Everest)
集群规格调整后,Everest插件规格需要根据集群的规模和PVC数量进行自定义调整。其中,插件组件的CPU和内存申请值可根据集群节点规模和PVC数量不同进行调整,配置建议请参见表2。
非典型场景下,限制值一般估算公式如下:
- everest-csi-controller:
- CPU限制值:200及以下节点规模设置为250m;1000节点规模设置为350m;2000节点规模设置为500m。
- 内存限制值 = (200Mi + 节点数 * 1Mi + PVC数 * 0.2Mi)* 1.2
- everest-csi-driver:
- CPU限制值:200及以下节点规模设置为300m;1000节点规模设置为500m;2000节点规模设置为800m。
- 内存限制值:200及以下节点规模设置为300Mi;1000节点规模设置为600Mi;2000节点规模设置为900Mi。
配置场景 |
everest-csi-controller组件 |
everest-csi-driver组件 |
||||
---|---|---|---|---|---|---|
节点数量 |
PV/PVC数量 |
插件实例数 |
CPU(限制值同申请值) |
内存(限制值同申请值) |
CPU(限制值同申请值) |
内存(限制值同申请值) |
50 |
1000 |
2 |
250m |
600Mi |
300m |
300Mi |
200 |
1000 |
2 |
250m |
1Gi |
300m |
300Mi |
1000 |
1000 |
2 |
350m |
2Gi |
500m |
600Mi |
1000 |
5000 |
2 |
450m |
3Gi |
500m |
600Mi |
2000 |
5000 |
2 |
550m |
4Gi |
800m |
900Mi |
2000 |
10000 |
2 |
650m |
5Gi |
800m |
900Mi |
CCE集群弹性引擎
CCE集群弹性引擎插件可根据Pod资源运行的节点负载,自动调整集群中的节点数量。请根据集群的规模,合理调整插件实例数和容器CPU/内存配额。
节点数量 |
实例数 |
CPU申请值 |
CPU限制值 |
内存申请值 |
内存限制值 |
---|---|---|---|---|---|
50 |
2 |
1000m |
1000m |
1000Mi |
1000Mi |
200 |
2 |
4000m |
4000m |
2000Mi |
2000Mi |
1000 |
2 |
8000m |
8000m |
8000Mi |
8000Mi |
2000 |
2 |
8000m |
8000m |
8000Mi |
8000Mi |
Volcano调度器
集群规格调整后,Volcano调度器所需的资源需要根据集群的规模进行自定义调整。
- 小于100个节点,可使用默认配置,即CPU的申请值为500m,限制值为2000m;内存的申请值为500Mi,限制值为2000Mi。
- 高于100个节点,每增加100个节点(10000个Pod),建议CPU的申请值增加500m,内存的申请值增加1000Mi;CPU的限制值建议比申请值多1500m,内存的限制值建议比申请值多1000Mi。
申请值推荐计算公式:
- CPU申请值:计算“目标节点数 * 目标Pod规模”的值,并在表4中根据“集群节点数 * Pod规模”的计算值进行插值查找,向上取最接近规格的申请值及限制值。
例如2000节点和2w个Pod的场景下,“目标节点数 * 目标Pod规模”等于4000w,向上取最接近的规格为700/7w(“集群节点数 * Pod规模”等于4900w),因此建议CPU申请值为4000m,限制值为5500m。
- 内存申请值:建议每1000个节点分配2.4G内存,每1w个Pod分配1G内存,二者叠加进行计算。(该计算方法相比表4中的建议值会存在一定的误差,通过查表或计算均可)
即:内存申请值 = 目标节点数/1000 * 2.4G + 目标Pod规模/1w * 1G。
例如2000节点和2w个Pod的场景下,内存申请值 = 2 * 2.4G + 2 * 1G = 6.8G
- CPU申请值:计算“目标节点数 * 目标Pod规模”的值,并在表4中根据“集群节点数 * Pod规模”的计算值进行插值查找,向上取最接近规格的申请值及限制值。
集群节点数/Pod规模 |
CPU Request(m) |
CPU Limit(m) |
Memory Request(Mi) |
Memory Limit(Mi) |
---|---|---|---|---|
50/5k |
500 |
2000 |
500 |
2000 |
100/1w |
1000 |
2500 |
1500 |
2500 |
200/2w |
1500 |
3000 |
2500 |
3500 |
300/3w |
2000 |
3500 |
3500 |
4500 |
400/4w |
2500 |
4000 |
4500 |
5500 |
500/5w |
3000 |
4500 |
5500 |
6500 |
600/6w |
3500 |
5000 |
6500 |
7500 |
700/7w |
4000 |
5500 |
7500 |
8500 |
其他插件
除上述插件外,其他插件也可能因为集群规模调整而出现分配资源不足的情况,如您发现插件实例CPU或内存使用率明显增加,甚至出现OOM或无法运行的状况,请根据情况调整资源配额。
例如CCE容器监控插件占用的资源与集群中的容器数量相关,当集群规模调整后,容器数量可能同步增加,需要适当调大插件实例的资源配额。