
# 如何根据集群规格调整插件配额？
当您的集群规格调整后，可能需要根据集群规格相应地调整插件资源配额，以确保插件实例能够正常运行。例如，如果您将集群规格从50节点调整为200节点或以上，则需要增加插件CPU、内存配额，防止插件实例因需要调度过多的节点而出现OOM等异常。因此，在调整集群规格后，请您同时考虑调整插件资源配额。
#### CoreDNS域名解析
CoreDNS所能提供的域名解析QPS与CPU消耗成正相关，集群中的节点/容器数量增加时，CoreDNS实例承受的压力也会同步增加。请根据集群的规模，合理调整插件实例数和容器CPU/内存配额。
表1CoreDNS插件配额建议 
| 节点数量 | 推荐配置     | 实例数 | 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。
   
 表2典型场景组件限制值建议 
| 配置场景                  ||| 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/内存配额。
表3CCE集群弹性引擎插件配额建议 
| 节点数量 | 实例数 | 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，限制值为2500Mi。
- 100 \< 节点数 ≤ 1000：每增加100个节点（10000个Pod），建议CPU的申请值增加500m，内存的申请值增加1000Mi；CPU的限制值建议比申请值多1500m，内存的限制值建议比申请值多6000Mi。
- 节点数 \> 1000：申请值请参见推荐计算公式，内存的限制值建议比申请值多10000Mi。
  ![](https://support.huaweicloud.com/cce_faq/public_sys-resources/note_3.0-zh-cn.png)
  申请值推荐计算公式：
  - CPU申请值：计算"目标节点数 \* 目标Pod规模"的值，并在[表4]中根据"集群节点数 \* Pod规模"的计算值进行插值查找，向上取最接近规格的申请值及限制值。
    例如，2000节点和2w个Pod的场景下，"目标节点数 \* 目标Pod规模"等于4000w，向上取最接近的规格为700/7w（"集群节点数 \* Pod规模"等于4900w），因此建议CPU申请值为4000m，限制值为5500m。
    
  
  - 内存申请值：建议每1000个节点分配2.4G内存，每1w个Pod分配1.4G内存，二者叠加进行计算。（该计算方法相比[表4]中的建议值会存在一定的误差，通过查表或计算均可）
    即：内存申请值 = 目标节点数/1000 \* 2.4G + 目标Pod规模/1w \* 1.4G。
    例如2000节点和2w个Pod的场景下，内存申请值 = 2 \* 2.4G + 2 \* 1.4G = 7.6G
    
    
 
 表4volcano-controller和volcano-scheduler的建议值 
| 集群节点数/Pod规模 | CPU Request(m) | CPU Limit(m) | Memory Request(Mi) | Memory Limit(Mi) |
|:---|:---|:---|:---|:---|
| 50/5k       | 500            | 2000         | 500                | 2500             |
| 100/1w      | 1000           | 2500         | 1500               | 3500             |
| 200/2w      | 1500           | 3000         | 2500               | 8500             |
| 300/3w      | 2000           | 3500         | 3500               | 9500             |
| 400/4w      | 2500           | 4000         | 4500               | 10500            |
| 500/5w      | 3000           | 4500         | 5500               | 11500            |
| 600/6w      | 3500           | 5000         | 6500               | 12500            |
| 700/7w      | 4000           | 5500         | 7500               | 13500            |
| 800/8w      | 4500           | 6000         | 8500               | 14500            |
| 900/9w      | 5000           | 6500         | 9500               | 15500            |
| 1000/10w    | 5500           | 7000         | 10500              | 16500            |
| 1100/11w    | 6000           | 7500         | 18500              | 28500            |
| 1200/12w    | 6500           | 8000         | 20000              | 30000            |
   
#### 其他插件
除上述插件外，其他插件也可能因为集群规模调整而出现分配资源不足的情况，如您发现插件实例CPU或内存使用率明显增加，甚至出现OOM或无法运行的状况，请根据情况调整资源配额。
例如云原生监控插件占用的资源与集群中的容器数量相关，当集群规模调整后，容器数量可能同步增加，需要适当调大插件实例的资源配额。
