操作場景
CCE支持在創建工作負載時為添加的容器設置資源限制。可以對工作負載中每個實例所用的CPU配額、內存配額進行申請和限制。
配置含義
在CPU配額和內存配額設置中,申請與限制的含義如下:
- 申請:根據申請值調度該實例到滿足條件的節點去部署工作負載。
- 限制:根據限制值限制工作負載使用的資源。
說明
創建工作負載時,建議設置CPU和內存的資源上下限。同一個節點上部署的工作負載,對于未設置資源上下限的工作負載,如果其異常資源泄露會導致其它工作負載分配不到資源而異常。未設置資源上下限的工作負載,工作負載監控信息也會不準確。
配置說明
在實際生產業務中,建議申請和限制比例為1:1.5左右,對于一些敏感業務建議設置成1:1。如果申請值過小而限制值過大,容易導致節點超分嚴重。如果遇到業務高峰或流量高峰,容易把節點內存或者CPU耗盡,導致節點不可用的情況發生。
CPU配額:
表 CPU配額說明
| 參數 | 說明 |
|---|---|
| CPU申請 | 容器使用的最小CPU需求,作為容器調度時資源分配的判斷依賴。 只有當節點上可分配CPU總量 ≥ 容器CPU申請數時,才允許將容器調度到該節點。 |
| CPU限制 | 容器能使用的CPU最大值。 |
建議配置方法 :
節點的實際可用分配CPU量 ≥ 當前實例所有容器CPU限制值之和 ≥ 當前實例所有容器CPU申請值之和,節點的實際可用分配CPU量請在“資源管理 > 節點管理”中對應節點的“可分配資源”列下查看“CPU: Core”。
內存配額:
表 內存配額說明
| 參數 | 說明 |
|---|---|
| 內存申請 | 容器使用的最小內存需求,作為容器調度時資源分配的判斷依賴。 只有當節點上可分配內存總量 ≥ 容器內存申請數時,才允許將容器調度到該節點。 |
| 內存限制 | 容器能使用的內存最大值。 當內存使用率超出設置的內存限制值時,該實例可能會被重啟進而影響工作負載的正常使用。 |
建議配置方法 :
節點的實際可用分配內存量≥ 當前節點所有容器內存限制值之和 ≥ 當前節點所有容器內存申請值之和,節點的實際可用分配內存量請在“資源管理 > 節點管理”中對應節點的“可分配資源”列下查看“內存: GiB”。
說明
可分配資源:可分配量按照實例請求值(request)計算,表示實例在該節點上可請求的資源上限,不代表節點實際可用資源。 計算公式為:
可分配CPU = CPU總量 - 所有實例的CPU請求值 - 其他資源CPU預留值
可分配內存= 內存總量 - 所有實例的內存請求值 - 其他資源內存預留值
使用示例
以集群包含一個資源為4Core 8GB的節點為例,已經部署一個包含兩個實例的工作負載到該集群上,并設置兩個實例(實例1,實例2)的資源為{CPU申請,CPU限制,內存申請,內存限制}={1Core,2Core,2GB,2GB}。
那么節點上CPU和內存的資源使用情況如下:
- 節點CPU可分配量=4Core-(實例1申請的1Core+實例2申請的1Core)=2Core
- 節點內存可分配量=8GB-(實例1申請的2GB+實例2申請的2GB)=4GB
因此節點還剩余2Core 4GB的資源可供下一個新增的實例使用。