本頁面說明如何修改 VM 的節點相似度標籤,藉此更新 VM 的租用模式。
根據預設,Compute Engine 會在多租戶主機上部署 VM。在多租戶主機上,VM 通常會與其他專案和客戶的 VM 共用主機資源。將 VM 移至單一租戶節點後,您的專案將擁有單一租戶節點硬體的專屬存取權和完整控制權。您是該節點的唯一租戶,因此工作負載會與其他專案及其 VM 的工作負載隔離。
修改節點親和性標籤後,您可以透過下列方式移動 VM:
- 從多租戶主機遷移至單一租戶節點群組或節點
- 從單一租戶節點群組或節點,遷移至多租戶主機
- 從一個單一租戶節點遷移至另一個單一租戶節點或節點群組
- 從單一租戶節點群組遷移至其他單一租戶節點群組或節點
暫時將工作負載移至單一租戶
工作負載的需求會不時變動,例如定期需要額外隔離來檢查效能,或法規遵循規定有所變更,因此您可能需要暫時將特定工作負載移至單一租戶節點。當您不再需要單一租戶時,請將 VM 重新部署至多租戶主機。修改 VM 的租用模式時,Compute Engine 會保留 VM 的設定。
重新平衡單一用戶群工作負載
除了在單一租戶節點和節點群組之間移動 VM,您也可以在節點和節點群組之間移動 VM,這有助於整合節點和重新平衡工作負載。移動 VM 時必須重新啟動,因此請根據工作負載的可用性需求,規劃移動 VM 的時間。
限制
- 移動已在單一租戶節點上執行的 VM 時,VM 可能會在另一個節點上重新啟動。如果 VM 的單一租戶是依節點群組名稱或使用
node-group-name預設相似度標籤指定,則 VM 可以在節點群組中的任何節點上重新啟動。如果 VM 的單一租戶模式是使用相近性或反相近性自訂相近性標籤指定,則 VM 可能會在可用區中任何節點群組的任何節點上重新啟動。
事前準備
-
如果尚未設定驗證,請先完成設定。驗證程序會確認您的身分,以便授予 Cloud de Confiance by S3NS 服務和 API 的存取權。如要從本機開發環境執行程式碼或範例,您可以選取下列其中一個選項,向 Compute Engine 進行驗證:
請根據您打算如何使用本頁範例,選取對應的分頁標籤:
gcloud
-
安裝 Google Cloud CLI,然後 使用聯合身分登入 gcloud CLI。 登入後,執行下列指令來初始化 Google Cloud CLI:
gcloud init
-
- 設定預設區域和可用區。
REST
如要在本機開發環境中使用本頁的 REST API 範例,請使用您提供給 gcloud CLI 的憑證。
安裝 Google Cloud CLI,然後 使用聯合身分登入 gcloud CLI。
詳情請參閱 Cloud de Confiance 驗證說明文件中的「使用 REST 進行驗證」一節。
將 VM 移至單一用戶群
將 VM 從其他節點/節點群組或多租戶主機,移至特定單一租戶節點或節點群組,藉此更新租戶模式。
gcloud
停止 VM。
gcloud compute instances stop VM_NAME
將
VM_NAME替換為要停止的 VM 名稱。指定要將 VM 移至哪個節點群組,藉此更新租用模式。
gcloud compute instances set-scheduling VM_NAME \ --node-group=NODE_GROUP_NAME更改下列內容:
VM_NAME:要移至特定節點群組的 VM 名稱NODE_GROUP_NAME:要將 VM 移至的節點群組名稱
或者,您也可以使用節點名稱或相似度標籤,將 VM 移至單一租戶節點。詳情請參閱
gcloud compute instances set-scheduling指令。啟動 VM。
gcloud compute instances start VM_NAME
將
VM_NAME替換為要在節點群組上啟動的 VM 名稱,該節點群組先前由親和性標籤檔案的內容指定。
REST
停止 VM。如要進一步瞭解這個指令,請參閱 instances.stop。
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/stop
更改下列內容:
PROJECT_ID:要停止的 VM 所在專案 ID包含專案的
ZONE區域VM_NAME:要停止的 VM 名稱
指定要將 VM 移至哪個節點群組,藉此更新租用模式。
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/setScheduling { "nodeAffinities": [ { "key": "compute.googleapis.com/node-group-name", "operator": "IN", "values": [ "NODE_GROUP_NAME" ] } ] }更改下列內容:
PROJECT_ID:要移動的 VM 所屬專案 ID包含專案的
ZONE可用區VM_NAME:要移至特定節點群組的 VM 名稱NODE_GROUP_NAME:要將 VM 移至的節點群組名稱
或者,您也可以使用節點名稱或相似度標籤,將 VM 移至單一租戶節點。詳情請參閱
instances.setScheduling方法。啟動 VM。如要進一步瞭解這個指令,請參閱
instances.start。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/start
更改下列內容:
PROJECT_ID:要啟動的 VM 所屬專案 ID包含專案的
ZONE區域VM_NAME:要啟動的 VM 名稱
將 VM 移出單一用戶群
如果 VM 不再需要專用硬體 (例如在需要將 VM 與其他 VM 隔離的事件之後),請將 VM 從單一租戶節點移至多租戶主機。
gcloud
停止 VM。
gcloud compute instances stop VM_NAME
將
VM_NAME替換為要停止的 VM 名稱。清除 VM 的節點相依性,即可將 VM 移至多租戶主機。
gcloud compute instances set-scheduling VM_NAME --clear-node-affinities
將
VM_NAME替換為要移除節點親和性的 VM 名稱。在多租戶主機上啟動 VM。
gcloud compute instances start VM_NAME
將
VM_NAME替換為先前清除節點親和性的 VM 名稱。
REST
停止 VM。如要進一步瞭解這個指令,請參閱
instances.stop。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/stop
更改下列內容:
PROJECT_ID:要停止的 VM 所屬專案 ID包含專案的
ZONE可用區VM_NAME:要停止的 VM 名稱
清除 VM 的節點相依性,即可將 VM 移至多租戶主機。
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/setScheduling { "nodeAffinities": [] }更改下列內容:
PROJECT_ID要移動的 VM 所屬專案 ID包含專案的
ZONE區域VM_NAME要清除節點親和性的 VM 名稱
在多租戶主機上啟動 VM。如要進一步瞭解這個指令,請參閱 instances.start。
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/start
更改下列內容:
PROJECT_ID:要啟動的 VM 所屬專案 ID包含專案的
ZONE區域VM_NAME:要啟動的 VM 名稱
後續步驟
- 請參閱「自備授權」。
- 請參閱 Microsoft 授權常見問題。
- 瞭解如何將具有現有授權的映像檔帶到Cloud de Confiance by S3NS。
- 瞭解如何自動調度單一租戶節點群組資源。