如果您將單一用戶群節點用於工作負載,可以使用節點群組自動配置器自動管理節點群組的大小。您可以在建立節點群組時或之後,設定自動調度資源功能。
自動配置器可協助您自動管理單一用戶群節點群組的大小,方法如下:
當節點群組的容量不足以容納另一個虛擬機器 (VM) 執行個體時,可增加節點群組的大小。自動調度資源功能增加節點群組大小後,系統會以透明的方式排定 VM。
在有空白節點時縮減節點群組的大小,避免您為未使用的單一用戶群節點付費。
在調度節點群組時,自動配置器會考量所要排定的 VM 所需的容量、指定節點的空閒容量,以及節點群組的自動調度資源政策。所需容量僅取決於 VM 的大小。系統會根據節點大小、已在節點上排程的 VM 數量,以及選用的 CPU 超額配置比率,估算可用容量。
下圖顯示:
節點群組自動配置器會在節點群組中新增節點,以回應將 VM 部署至沒有空白節點的節點群組。
節點群組自動配置器透過從單一租用戶節點群組移除空白節點來進行調度。
自動配置器模式
根據預設,節點群組不會啟用自動調整器。如果未啟用自動配置器,您必須手動管理節點群組的大小。如果您在節點群組上啟用自動配置器,可以指定自動配置器同時增加及減少節點群組的大小 (擴充和縮減),或是只增加群組的大小 (只擴充)。
水平擴展和水平縮減
在這個模式中,節點群組自動配置器會同時增加 (向外擴充) 和減少 (向內縮減) 節點群組的大小。在這個模式中,您必須為節點群組指定大小上限和大小下限。自動配置器不會將節點群組的大小調高至指定上限或調低至指定下限。
如果 VM 的排程因容量不足而失敗,系統就會觸發橫向調整。為解決這個問題,系統會將新節點新增至群組,然後再次嘗試執行作業。
當節點在一段時間內仍為空白時,系統就會觸發縮減作業。空白節點是因為 VM 已從節點群組中刪除或遷移出去。如果節點群組的自動調度資源政策允許,系統會在穩定期過後,排程移除空白節點。穩定期可確保節點在您需要時仍可使用。
僅向外擴充
在這個模式下,自動配置器會因應排程 VM 的要求,增加節點群組的大小,但不會從節點群組中移除空白節點。Google 建議將這個模式用於單調遞增的工作負載,或需要實體伺服器相依性的工作負載,例如 BYOL 工作負載,因為這類工作負載需要將授權放在同一部實體伺服器上。
如果節點群組已設定節點群組內遷移維護政策,則必須使用這個模式。
節點群組的大小範圍
啟用自動配置器時,您可以指定節點群組大小的最小值和最大值,藉此設定節點群組的大小範圍。
如果未指定最低大小的值,自動配置器會將最低大小設為零 (0)。如果您指定了最小尺寸的值,該值必須為大於或等於 0 的整數,且必須小於或等於最大尺寸。
您必須指定節點群組的最大大小。這個值必須是介於 0 至 100 之間的整數,這是單一租用戶節點群組的最大允許大小,且值必須大於或等於指定的最小值。
為因應可能超過節點群組大小上限 (100) 的工作負載,請建立多個具有相符相依性標籤的節點群組,例如 workload:in:my-autoscaled-node-groups
。接著,請使用該親和性標籤排定 VM,並在每個群組中啟用自動調度資源功能,以便建立可動態調整的節點群組群組。
可用性
您只能在支援單一用戶群節點的地區使用單一用戶群節點自動配置器。
事前準備
-
如果尚未設定,請先設定驗證機制。驗證是指驗證身分,以便存取 Google Cloud 服務和 API 的程序。如要在本機開發環境中執行程式碼或範例,您可以選取下列任一選項,向 Compute Engine 進行驗證:
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
- Set a default region and zone.
REST
To use the REST API samples on this page in a local development environment, you use the credentials you provide to the gcloud CLI.
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
For more information, see Authenticate for using REST in the Google Cloud authentication documentation.
-
啟用節點群組自動配置器
在新的節點群組上設定自動調度資源功能。
gcloud
以下範例說明如何在建立節點群組時,使用 node-groups
create
指令啟用自動配置器。如要在現有節點群組中新增自動配置器,請使用 node-groups
update
指令。
gcloud compute sole-tenancy node-groups create group-name \ --node-template template-name \ --target-size size \ --maintenance-policy maintenance-policy \ --zone zone \ --autoscaler-mode mode \ --max-nodes max-nodes \ --min-nodes min-nodes
更改下列內容:
group-name
:要建立的節點群組名稱。template-name
:用於建立節點群組的節點範本名稱。size
:節點群組中的目標初始節點數量。maintenance-policy
:指定 VM 是否會在主機維護事件期間遷移及重新啟動。將其設為下列任一值:default
:VM 即時遷移至新節點。migrate-within-node-group
:VM 會即時遷移至節點群組中的其他節點。restart-in-place
:VM 因維護事件而終止後,會在同一個節點上重新啟動。
zone
:建立節點群組的區域。mode
:這個節點群組的自動調度器模式。設為下列任一值:off
:停用自動調度資源。on
:啟用縮放和擴展功能。only-scale-out
:僅啟用向外擴充功能。如果節點群組已設定在最少台伺服器上重新啟動其代管的 VM,則必須使用這個模式。
max-nodes
:節點群組的大小上限。設為小於或等於 100 且大於或等於min-nodes
的值。min-nodes
:節點群組的大小下限,必須是小於或等於max-nodes
的整數值。預設值為 0。
REST
以下範例說明如何在建立節點群組時,使用 nodeGroups.insert
指令啟用自動調度器。如要在現有節點群組中新增自動配置器,請使用 nodeGroups.patch
指令。
POST https://compute.googleapis.com/compute/v1/projects/project-id/zones/zone/nodeGroups?initialNodeCount=initial-node-count { "name": "group-name", "nodeTemplate": "template-name", "autoscalingPolicy": { "mode": "mode", "min_nodes": min-nodes, "max_nodes": max-nodes } "maintenancePolicy": maintenance-policy }
更改下列內容:
project-id
:要為其新增含有自動調整器的節點群組的專案 ID。zone
:建立新節點群組的區域。initial-node-count
:建立節點群組時必填。這會指定節點群組中的初始節點數量。如果min-nodes
的值大於初始節點數,節點群組的大小會調高至min-nodes
的值。group-name
:新節點群組的名稱。template-name
:用於建立節點群組的節點範本名稱。mode
:這個節點群組的自動調度器模式。設為下列任一值:OFF
:停用自動調度資源。ON
:啟用縮放和擴展功能。ONLY_SCALE_OUT
:僅啟用向外擴充功能。如果節點群組已設定在最少台伺服器上重新啟動其代管的 VM,則必須使用這個模式。
max-nodes
:節點群組的大小上限。設為小於或等於 100 且大於或等於min-nodes
的值。min-nodes
:節點群組的大小下限,必須是小於或等於max-nodes
的整數值。預設值為 0。maintenance-policy
:指定 VM 是否會在主機維護事件期間遷移及重新啟動。將這個值設為下列任一值:DEFAULT
:VM 即時遷移至新節點。MIGRATE_WITHIN_NODE_GROUP
:VM 會即時遷移至節點群組中的其他節點。RESTART_IN_PLACE
:VM 因維護事件而終止後,會在同一個節點上重新啟動。
更新自動配置器設定
變更自動配置器模式或節點群組的大小下限和上限,即可變更節點群組的自動配置器設定。
gcloud
以下範例說明如何使用 node-groups
update
指令,變更節點群組的自動配置器模式。
gcloud compute sole-tenancy node-groups update name \ --autoscaler-mode mode \ --max-nodes max-nodes \ --min-nodes min-nodes
更改下列內容:
name
:要變更自動配置器模式的節點群組名稱。mode
:這個節點群組的自動調度器模式。設為下列任一值:off
:停用自動調度資源。on
:啟用縮放和擴展功能。only-scale-out
:僅啟用向外擴充功能。如果節點群組已設定為在最少台的伺服器上重新啟動其代管的 VM,則必須使用這個模式。
max-nodes
:節點群組的大小上限。設為小於或等於 100 且大於或等於min-nodes
的值。min-nodes
:節點群組的大小下限,必須是小於或等於max-nodes
的整數值。預設值為 0。
REST
以下範例說明如何使用 nodeGroups.patch
指令,變更節點群組的自動配置器模式。
PATCH https://compute.googleapis.com/compute/beta/projects/project-id/zones/group-zone/nodeGroups/group-name { "nodeTemplate": "template-name", "autoscalingPolicy": { "mode": "mode", "minSize": min-nodes, "maxSize": max-nodes } }
更改下列內容:
project-id
:包含要變更自動配置器模式的節點群組的專案 ID。group-zone
:包含要變更自動配置器模式的節點群組的區域。group-name
:要變更自動配置器模式的節點群組名稱。template-name
:建立節點群組的節點範本名稱。mode
:這個節點群組的自動調度器模式。請將其設為下列其中一個值:OFF
:停用自動調度資源。ON
:啟用縮放和擴展功能。ONLY_SCALE_OUT
:僅啟用向外擴充功能。如果節點群組已設定節點群組內遷移維護政策,則必須使用這個模式。
max-nodes
:節點群組的大小上限。設為小於或等於 100 且大於或等於min-nodes
的值。min-nodes
:節點群組的大小下限,必須是小於或等於max-nodes
的整數值。預設值為 0。
手動更新自動調度資源的節點群組大小
啟用自動配置器後,系統會自動管理節點群組大小,但您可以排程或移除該節點群組中的 VM,以便手動更新群組大小。
如要手動縮減自動調度節點群組的大小,請從節點中刪除 VM,直到節點為空為止。當節點為空時,自動配置器會移除空白節點,進而縮減節點群組的大小。
如要手動增加自動調整資源配置的節點群組大小,請將群組的大小下限設為大於目前大小的值。如果群組的大小下限設為大於目前大小的值,自動配置器就會將群組大小調升至新指定的大小下限。
當節點群組設為僅向外擴充時,自動配置器會自動管理群組大小的增加,並停用手動增加群組大小的功能。有了這項設定,您就能從節點移除 VM,直到該節點為空為止,藉此縮減群組大小,然後移除空白節點。
停用自動配置器
如果您不再需要使用自動配置器自動管理節點群組大小,或是需要手動管理節點群組大小,請停用自動配置器。
gcloud
gcloud compute sole-tenancy node-groups update name \ --autoscaler-mode OFF
將 name
替換為要移除自動調度資源政策的節點群組名稱。
REST
以下範例說明如何使用 nodeGroups.patch
指令,在節點群組上關閉自動配置器。
PATCH https://compute.googleapis.com/compute/beta/projects/project-id/zones/group-zone/nodeGroups/group-name { "nodeTemplate": "template-name", "autoscalingPolicy": { "mode": "mode" } }
更改下列內容:
project-id
:包含要變更自動配置器模式的節點群組的專案 ID。group-zone
:包含要變更自動配置器模式的節點群組的區域。group-name
:要變更自動配置器模式的節點群組名稱。template-name
:建立節點群組的節點範本名稱。mode
:這個節點群組的自動調度器模式。將值設為OFF
可停用這個節點群組的自動配置器。
查看自動配置器活動
在 Google Cloud 控制台中,查看自動配置器如何調整節點群組的大小。Google Cloud 主控台會顯示節點群組的目前大小,如果自動配置器正在調整群組大小,您也可以看到節點群組的目標大小。
控制台
前往 Google Cloud 控制台中的「Sole-tenant nodes」(單租戶節點) 頁面。
按一下「節點群組」。
查看每個節點群組中的節點數量。如果 Compute Engine 正在調整節點群組,您也可以查看節點的目標數量。
後續步驟
- 瞭解如何將具有現有授權的圖片匯入 Google Cloud。
- 瞭解叢集自動配置器。
- 瞭解代管執行個體群組自動配置器。