伸縮組是具有相同應用情境、相同執行個體類型(即ECS或ECI執行個體)的一組執行個體集合。使用ECI執行個體來運行容器應用時,可以配合使用Auto Scaling服務,實現根據業務量自動增加或者減少ECI執行個體,在保證業務正常啟動並執行同時節約使用成本。
操作步驟
在操作之前,您需要先明確您建立伸縮組的方式,阿里雲提供多種建立伸縮組的方式。您可以根據您的實際情況,參考以下指引快速建立伸縮組。
有現有的ECI執行個體,需要使用這個執行個體的配置建立。請參見方式一:基於現有ECI執行個體的配置建立伸縮組。
需要快速建立伸縮組,期望稍後配置伸縮組內執行個體配置來源。請參見方式二:從零開始建立ECI伸縮組。
您可以通過Kubernetes YAML檔案來建立並管理ECI伸縮組。請參見方式三:通過Kubernetes YAML檔案來建立ECI伸縮組。
方式一:基於現有ECI執行個體的配置建立伸縮組
方式二:從零開始建立ECI伸縮組
方式三:通過Kubernetes YAML檔案來建立ECI伸縮組
配置項說明
伸縮組基本資料配置
配置項 | 說明 |
伸縮組名稱 | 2~64個字元,以大小寫字母、數字或中文開頭,可包含半形句號(.)、底線(_)和短劃線(-)。 |
伸縮群組類型 | 指定伸縮組內提供計算能力的執行個體的類型,Auto Scaling會根據該配置為伸縮組擴縮容對應的執行個體。
|
組內執行個體配置資訊來源 | Auto Scaling使用該配置建立執行個體。伸縮組支援以下執行個體配置資訊來源類型:
說明 從ECS控制台入口基於執行個體建立伸縮組時,Auto Scaling自動填入組內執行個體配置資訊來源、網路類型相關的資訊,請保持預設,無需修改。 |
暫停流程 | 方便您在執行某些操作前主動暫停指定的流程,例如暫停健全狀態檢查流程後再去停止執行個體,避免執行個體被視為不健康而自動移出伸縮組。支援暫停流程如下:
更多資訊,請參見暫停和恢複伸縮組流程。 |
開啟伸縮組保護 | 開啟伸縮組保護後,您不能在Auto Scaling控制台或者通過API刪除該伸縮組,有效避免誤刪除伸縮組。 |
執行個體的健全狀態檢查 | 開啟健全狀態檢查後,伸縮組會定期檢查執行個體的運行狀態,如果發現一台執行個體未處於運行中狀態,則判定為不健康並移出該執行個體。更多資訊,請參見伸縮組內執行個體的生命週期。支援的配置項如下:
|
執行個體最大生命時間長度(秒) | 執行個體在伸縮組中存活的最大時間,當伸縮組中存在超過最大生命時間長度的執行個體時,伸縮組會自動建立新執行個體來替換該執行個體。 說明 僅伸縮群組類型為ECS時,支援設定該參數。 |
組內執行個體數配置
配置項 | 說明 |
組內最小執行個體數 | 當前執行個體數量低於下限時,伸縮組會自動添加執行個體,使得伸縮組內的執行個體數量等於下限。 |
組內最大執行個體數 | 當前執行個體數量超過上限時,伸縮組會自動移出執行個體,使得伸縮組內的執行個體數量等於上限。移出執行個體的策略的說明,請參見設定伸縮組的執行個體終止策略。 |
組內期望執行個體數 | 填寫組內期望執行個體數即可開啟期望執行個體數功能,伸縮組會自動將執行個體數量維持在期望執行個體數。更多資訊,請參見期望執行個體數。 |
組內執行個體擴縮容設定
ECI伸縮組不支援修改擴縮容策略、執行個體移出策略、執行個體回收模式,ECI伸縮組預設採用的配置如下:
擴縮容策略:優先順序策略。
執行個體移出策略:先篩選最早伸縮配置對應的執行個體,再移出最早建立的執行個體。
執行個體回收模式:釋放模式。
配置項 | 說明 |
擴縮容策略 | 伸縮組預設會根據您配置的交換器的順序(優先順序策略),進行伸縮組的伸縮活動,您可以通過修改擴縮容策略來實現其他策略,伸縮組為您預設了幾種伸縮策略,具體策略說明如下。 重要 僅伸縮群組類型為ECS,且網路類型為專用網路時,支援修改該配置,當伸縮群組類型為ECI時,預設擴縮容策略為優先順序策略。
如何配置,請參見配置擴縮容策略。 |
執行個體移出策略 | 當需要從伸縮組移出執行個體時,會先按照策略篩選執行個體,如果篩選後仍有多台執行個體滿足要求,則隨機移出一台。僅伸縮群組類型為ECS時支援該配置,配置項說明如下:
當執行個體移出策略為最早伸縮配置對應的執行個體和自訂策略時,可能會出現多個滿足條件的執行個體,您可以通過設定第二段策略來進一步篩選要移出的執行個體。第二段策略說明如下:
說明 伸縮組移出執行個體還受伸縮組的擴縮容策略影響。相關說明,請參見設定伸縮組的執行個體終止策略。 |
執行個體回收模式 | 在移出執行個體後,伸縮組會通過該配置來對執行個體進行回收操作。具體回收模式如下: 說明 僅伸縮群組類型為ECS,且網路類型為專用網路時,支援配置該項。ECI伸縮組預設回收模式為釋放模式。
|
網路設定
當組內執行個體配置資訊來源為啟動模板或選擇已有執行個體時,會自動按照啟動模板或者選擇的執行個體自動填滿網路類型、專用網路、選擇交換器等配置,您也可以根據需求,重新設定伸縮組網路。
配置項 | 說明 |
網路類型 | 您可以根據您的需求選擇您伸縮組內執行個體的網路類型,支援專用網路和傳統網路。 警告 在伸縮組建立後,網路類型不可變更。 重要 推薦您選擇專用網路。專用網路伸縮組支援更靈活配置伸縮組,如更靈活的伸縮策略、執行個體回收模式、關聯負載平衡器ALB和NLB。更多專用網路的說明,請參見什麼是專用網路。 |
專用網路 | 當網路類型為專用網路時,支援此配置,在您選擇專用網路後,您伸縮組下的所有執行個體都將在該專用網路下建立。 警告 在伸縮組建立後,專用網路不可變更。 |
選擇交換器 | 在您選擇專用網路後,您可以選擇您專用網路下的交換器。您伸縮組下的所有的執行個體將在該交換器下建立。 重要 推薦您選擇多個可用性區域的交換器,單一可用性區域如果庫存不足會產生庫存失敗的情況,如果您使用ECS伸縮組,您還可以通過切換擴縮容策略來選擇伸縮組中執行個體在不同可用性區域的分布。 |
關聯其他雲端服務
配置項 | 說明 |
關聯RDS、Redis、MongoDB資料庫執行個體 | 當您伸縮組的執行個體需要訪問RDS、Redis、MongoDB資料庫時,您可能需要自動將伸縮組中的ECS執行個體或ECI執行個體的內網IP加入該資料庫執行個體訪問的白名單,此時,您可以通過該配置來達到此效果。 說明
|
關聯傳統型負載平衡CLB(原SLB) | 伸縮組關聯CLB執行個體後,加入伸縮組的執行個體會自動添加為CLB執行個體的後端伺服器,處理來自CLB執行個體轉寄的訪問請求。 您可以指定執行個體需要加入的伺服器組,支援以下兩種伺服器組:
如果您同時指定了預設伺服器組和多個虛擬伺服器組,執行個體會同時添加至這些伺服器組中。 說明 一個伸縮組支援關聯的CLB執行個體和虛擬伺服器組數量有限。如需查看或手動申請提升配額值,請前往配額中心。 |
關聯負載平衡ALB、NLB伺服器組 | 重要 僅網路類型為專用網路時,支援配置該項。 伸縮組關聯ALB、NLB伺服器組後,加入伸縮組的執行個體會自動添加為ALB、NLB伺服器組的後端伺服器,處理ALB、NLB執行個體分發的訪問請求。您還需指定後端伺服器的連接埠和權重,權重預設為50。權重越高,執行個體將被分配到越多的訪問請求。如果權重為0,則執行個體不會收到訪問請求。 如果您為伸縮組關聯了多個ALB、NLB伺服器組,加入伸縮組的執行個體會同時添加至這些伺服器組中。 說明 一個伸縮組支援關聯的ALB、NLB伺服器組數量有限。如需查看或手動申請提升配額值,請前往配額中心。 |
其他配置
配置項 | 說明 |
標籤 | 添加標籤便於搜尋和彙總伸縮組,更多資訊,請參見標籤。 說明 此處的標籤適用於伸縮組,如果您需要為伸縮組內執行個體添加標籤,請在伸縮配置或啟動模板中設定。 |
擴容時需要傳播給執行個體的標籤 | 為伸縮組添加一個或多個標籤後,您可以繼續選擇擴容時需要傳播給伸縮組內執行個體的一個或多個標籤。 |
添加已有執行個體 | 如果伸縮群組類型為ECS,且組內執行個體配置資訊來源為啟動模板或選擇已有執行個體時,支援配置該項。 如果同時設定期望執行個體數並添加已有執行個體,期望執行個體數會自動增加。例如,建立伸縮組時設定期望執行個體數為1,並添加2台已有執行個體,伸縮組建立完成後,2台已有執行個體添加至伸縮組,然後期望執行個體數變為3。 您可以將已有執行個體的生命週期託管給伸縮組,選擇將執行個體的生命週期託管給伸縮組複選框即可。
說明 支援將訂用帳戶執行個體添加至伸縮組,但不支援託管訂用帳戶執行個體。 |
設定訊息接收通知 | 在伸縮活動成功、失敗或者被拒絕時,Auto Scaling支援通過簡訊、站內信和郵件發送訊息通知。更多資訊,請參見設定訊息接收通知。 |
資源群組 | 通過選擇資源群組,對伸縮組資源進行分組管理,實現資源的隔離顯示和許可權控制。更多資訊,請參見通過資源群組精細化管理伸縮組。 |
同步伸縮組警示規則到CloudMonitor | 該功能僅支援建立伸縮組時開啟或關閉。開啟該功能後,系統將為伸縮組建立並關聯一個CloudMonitor應用分組,伸縮組上的警示規則將在CloudMonitor控制台同步顯示。 |
YAML配置項說明
支援的Kubernetes YAML欄位
通過Kubernetes YAML方式部署ECI類型伸縮組時,在配置YAML檔案時僅支援以下Kubernetes Deployment資源類型中的YAML欄位:
您可以參考Kubernetes官網的Deployment樣本瞭解YAML檔案的模板結構,YAML欄位主要包括kind
、metadata
和spec
三部分。
擴充的Annotation欄位
通過Kubernetes YAML方式部署ECI類型伸縮組時,在配置YAML檔案時僅支援擴充以下Annotation欄位。