全部產品
Search
文件中心

:配置資源規整忽略特定容器

更新時間:Jul 06, 2024

建立ECI執行個體時,如果指定的vCPU和記憶體規格不滿足ECI規格約束,系統會在滿足資源需求的同時自動向最接近的ECI規格進行資源規整,規整後的規格過大可能會造成一定程度的資源浪費。對於一些不影響業務的容器(例如Sidecar容器),可以為其設定環境變數,實現資源規整時忽略該容器,以避免資源浪費,節約ECI使用成本。

功能說明

指定vCPU和記憶體建立ECI執行個體時,您可以自訂指定每個容器的vCPU和記憶體,但匯總到執行個體層級時,需滿足ECI執行個體整體的vCPU和記憶體約束。如果執行個體層級沒有配置vCPU和記憶體,則會匯總計算所有容器的規格之和,對於總和不滿足ECI規格的情況,系統會自動進行資源規整。

資源規整2

一般情況下,容器內指定的vCPU和記憶體為容器資源上限,實際運行執行個體時,系統會動態調整資源分派。因此對於執行個體內一些不影響業務的特定容器,您可以通過設定環境變數__ECI_RESOURCE_IGNORE__:TRUE的方式,實現執行個體資源規整時忽略這些容器,避免資源規整後建立的執行個體規格過大,出現資源浪費。

樣本如下:

資源規整

如上圖所示,假設在華東1(杭州)地區建立一個ECI執行個體,該ECI執行個體包含3個容器,容器1和2(業務容器)均配置為2 vCPU、4 GiB記憶體,容器3(Sidecar容器)配置為0.25 vCPU、0.5 GiB記憶體。一般情況下,系統會自動將執行個體規格規整到6 vCPU、10 GiB記憶體。但實際情況下可能並不需要6 vCPU、10 GiB的資源,在不影響業務的基礎上,您可以為Sidecar容器設定環境變數__ECI_RESOURCE_IGNORE__:TRUE。配置後,系統會忽略Sidecar容器,將執行個體規格規整到4 vCPU、8GiB記憶體。

配置說明

調用CreateContainerGroup介面建立ECI執行個體時,在未設定Cpu和Memory的情況下,通過Container.N.Cpu和Container.N.Memory可以指定容器的vCPU和記憶體。對於想要配置資源規整忽略的容器,可以通過Container.N.EnvironmentVar.N.Key和Container.N.EnvironmentVar.N.Value來設定環境變數(__ECI_RESOURCE_IGNORE__:TRUE)。相關參數說明如下表所示。更多資訊,請參見CreateContainerGroup

名稱

類型

樣本值

描述

Cpu

Float

不設定

執行個體層級vCPU大小。單位:核。

Memory

Float

不設定

執行個體層級記憶體大小。單位:GiB。

Container.N.Cpu

Float

2

容器的vCPU大小。單位:核。N表示第幾個容器,最多20個。

Container.N.Memory

Float

4

容器的記憶體大小。單位:GiB。N表示第幾個容器,最多20個。

Container.N.EnvironmentVar.N.Key

String

__ECI_RESOURCE_IGNORE__

環境變數名。第一個N表示第幾個容器,第二個N表示第幾個環境變數。

Container.N.EnvironmentVar.N.Value

String

TRUE

環境變數值。第一個N表示第幾個容器,第二個N表示第幾個環境變數。

說明

使用控制台建立ECI執行個體時,必須要設定執行個體層級的vCPU和記憶體,因此不涉及資源規整。