共用單一用戶群節點群組與本機單一用戶群節點群組類似。舉例來說,共用節點群組的費用相同、消耗的配額相同,且位於資源階層的父項專案下。
共用節點群組與本機節點群組的差異在於,貴機構中的其他專案可以在共用節點群組中佈建虛擬機器 (VM) 執行個體。
在多個專案或機構之間共用節點群組,有助於:
將您管理的節點群組整合到單一專案,然後與其他專案或整個機構共用這些節點
將各專案的 VM 合併到使用率偏低的節點群組後,刪除節點以降低成本
透過單一團隊管理單一用戶群節點
與較小的專案共用單一租戶節點,並保留這些專案之間的安全性與存取權控管界限
在同一專案的節點群組之間執行即時遷移
使用「在節點群組內遷移」維護政策,提高節點群組的使用率,並減少預留的維護節點數量
下圖顯示與其他專案共用的節點群組,以便管理這些專案中 VM 的其他部門,可以在共用節點群組中佈建 VM。
共用節點群組的運用效益
下表比較使用本機節點群組的專案,以及使用共用節點群組的專案。請注意,使用共用節點群組的專案,vCPU 使用率不足的情況會減少。
| 專案設定 | 本機節點群組 | 共用節點群組 |
|---|---|---|
| 專案 | 10 | 10 |
| 每個專案的 vCPU | 24 | 24 |
| 節點群組 | 10 | 1 |
| 節點 / 節點群組 | 1 | 3 |
| 每個節點的 vCPU | 80 | 80 |
| 使用率 / 節點群組 | 24 | 80 |
| 使用率過低 / 節點群組 | 56 | 0 |
| 總閒置時間 | 10 x 56 = 560 個 vCPU | 1 x 0 = 0 個 vCPU |
共用節點群組的設定
Compute Engine 會使用下列設定,在共用節點群組中佈建 VM,並共用節點群組:
您在建立或更新單一租戶節點群組時設定的共用設定。如要指定是否與其他專案或整個機構共用節點群組,請使用 gcloud CLI 設定 (
--share-setting、--share-with) 或 REST 設定 (shareSetting、shareWith)。您在共用節點群組中佈建 VM 時,使用節點相依性標籤的預設
compute.googleapis.com/project節點相依性標籤。如要瞭解其他預設節點相依性標籤,請參閱「預設相依性標籤」。
維護政策考量事項
如果節點群組使用「在節點群組內遷移」維護政策,Compute Engine 會保留至少 1 個節點供即時遷移事件使用,因此節點群組必須至少有 2 個節點。您無法在預留節點上排程 VM,因此採用這項維護政策的節點群組通常整體使用率較低。因此,需要「在節點群組內遷移」維護政策的工作負載很適合用於節點群組共用,因為這類工作負載通常最能從提升使用率中獲益。
IAM 角色和權限
分享節點群組時,請注意下列有關 IAM 角色和權限的資訊:
如果節點群組與專案共用,任何可在所列專案或機構中建立 VM 的使用者,都能從這些專案將 VM 佈建到共用節點群組,不必變更 IAM 角色或權限。
compute.soleTenantViewerIAM 角色可讓您列出及查看節點群組 (gcloud CLI/ REST)。您無法使用這個角色修改節點群組。無論 VM 的 IAM 權限為何,只要使用者具備這個角色或列出節點群組的權限,就能查看節點群組中所有 VM 的專案 ID、名稱、機器類型,以及本機 SSD 和 GPU 的相關資訊。
限制
法規遵循制度限制:
- 無論 VM 的 IAM 權限為何,只要使用者有權列出節點群組,就能查看節點群組中所有 VM 的專案 ID、名稱和機器類型。因此,為避免跨專案資訊揭露的風險,在共用節點群組中佈建 VM 的專案應遵守相同的法規遵循制度。
Google Cloud 主機限制:
- 如果沒有權限查看共用節點群組中的 VM,這些 VM 就不會顯示在Google Cloud 控制台「單一租戶節點」頁面的 VM 清單中。
- 在「單一租戶節點群組」頁面修改共用設定後,UI 中的「與誰共用」設定不會更新。如要查看更新後的「與誰共用」設定,請前往「單一用戶群節點」頁面。
- 與機構中的所有專案共用節點群組,或與機構中的特定專案共用節點群組後,您只能從擁有節點群組的專案中查看共用的節點群組,無法從共用節點群組的專案中查看。如要在共用節點群組中佈建 VM,請前往節點群組共用的專案,然後前往「VM instances」(VM 執行個體) 頁面,並修改單一用戶群節點相依性標籤。
共用限制:
定價
共用節點群組中的 VM 不會產生額外費用,共用節點群組也不會產生額外費用。如要進一步瞭解單一用戶群節點定價,請參閱單一用戶群節點定價。
事前準備
- 建立單一用戶群節點群組前,請建立單一用戶群節點範本。
- 在單一用戶群節點中佈建 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
-
安裝 Google Cloud CLI。 安裝完成後,執行下列指令初始化 Google Cloud CLI:
gcloud init如果您使用外部識別資訊提供者 (IdP),請先 使用聯合身分登入 gcloud CLI。
- Set a default region and zone.
REST
如要在本機開發環境中使用本頁的 REST API 範例,請使用您提供給 gcloud CLI 的憑證。
安裝 Google Cloud CLI。 安裝完成後,執行下列指令初始化 Google Cloud CLI:
gcloud init如果您使用外部識別資訊提供者 (IdP),請先 使用聯合身分登入 gcloud CLI。
詳情請參閱 Google Cloud 驗證說明文件中的「Authenticate for using REST」。
建立新的節點群組並共用
如要建立新的節點群組,並與其他專案或整個機構共用,請使用 Google Cloud 主控台、gcloud CLI 或 REST。
主控台
建立單一租戶節點群組。詳情請參閱「建立單一租戶節點群組」。
在「Configure share settings」(設定共用設定) 中指定下列其中一個選項,設定共用設定:
- 如要與貴機構中的所有專案共用節點群組,請選擇「與組織中的所有專案共用這個節點群組」。
- 如要與組織中的特定專案共用節點群組,請選擇「與組織中的指定專案共用這個節點群組」。
如不想共用節點群組,請選擇「不要與其他專案共用這個節點群組」。
gcloud
如要建立共用節點群組,請使用下列
gcloud compute sole-tenancy node-groups create指令。gcloud compute sole-tenancy node-groups create NODE_GROUP \ --zone=ZONE \ --node-template=NODE_TEMPLATE \ --target-size=SIZE \ --share-setting=SHARE_SETTING \ --share-with=PROJECTS更改下列內容:
NODE_GROUP:節點群組的名稱。ZONE:要在其中建立節點群組的可用區。NODE_TEMPLATE:先前建立的節點範本名稱。SIZE:節點群組中的節點數量。SHARE_SETTING:節點群組的共用設定。設為projects可與特定專案共用,設為organization則可與整個機構共用。PROJECTS:要與節點群組共用的專案 ID 或專案編號清單。只有在將SHARE_SETTING設為projects時,才需要這個屬性。
REST
如要建立共用節點群組,請使用下列
nodeGroups.insert方法。POST https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/nodeGroups { ... "name": NODE_GROUP, "nodeTemplate": NODE_TEMPLATE, "size": SIZE, "shareSettings": { "shareType": SHARE_TYPE, "projectMap": { string: { "projectId": PROJECTS }, } } ... }更改下列內容:
PROJECT:要在其中建立節點群組的專案名稱。ZONE:要在其中建立節點群組的可用區。NODE_GROUP:節點群組的名稱。NODE_TEMPLATE:先前建立的節點範本名稱。SIZE:節點群組中的節點數量。SHARE_TYPE:節點群組的共用設定。設為SPECIFIC_PROJECTS可與特定專案共用,設為ORGANIZATION則可與整個機構共用。PROJECTS:要與節點群組共用的專案 ID 或專案編號清單。只有在將SHARE_TYPE設為SPECIFIC_PROJECTS時,才需要這個屬性。
在共用節點群組中佈建單一用戶群 VM
如要在共用節點群組中佈建單一租戶 VM,請使用Google Cloud 控制台、gcloud CLI 或 REST。
主控台
在 Google Cloud 控制台中,切換至您已共用節點群組的專案。
前往「VM instances」(VM 執行個體) 頁面。
點選「建立執行個體」。
在「Zone」(可用區) 中,選擇共用節點群組的可用區。
在「機器設定」>「系列」中,選擇共用單一租戶節點群組範本指定的機器類型。
展開「Advanced options」(進階選項) 區段。
展開「單一用戶群」專區。
按一下「瀏覽」。
選擇「選取專案」,然後指定含有共用節點群組的專案。
選擇單一用戶群節點群組,或該群組中的特定單一用戶群節點,以佈建 VM。
gcloud
使用節點群組名稱在共用節點群組中佈建 VM
如要使用節點群組名稱在共用節點群組中佈建專屬租戶 VM,請使用下列
gcloud compute instances create指令。gcloud compute instances create VM_NAME \ --machine-type=MACHINE_TYPE \ --node-group=NODE_GROUP \ --node-project=NODE_PROJECT更改下列內容:
VM_NAME:要在共用節點群組中建立的新單一租戶 VM 名稱MACHINE_TYPE:新單一租戶 VM 的機器類型NODE_GROUP:要建立單一租戶 VM 的共用節點群組名稱NODE_PROJECT:包含節點群組的專案,用於佈建 VM
使用節點相依性檔案,在共用節點群組中佈建 VM
如要使用節點親和性檔案,在共用節點群組中佈建專屬租戶 VM,請使用下列
gcloud compute instances create指令。gcloud compute instances create VM_NAME \ --machine-type=MACHINE_TYPE \ --node-affinity-file=NODE_AFFINITY_FILE更改下列內容:
VM_NAME:使用相依性標籤在共用節點群組中建立的單一租戶 VM 名稱。MACHINE_TYPE:要在共用節點群組中建立的單一用戶群 VM 機器類型。NODE_AFFINITY_FILE:包含節點親和性資訊的.json檔案名稱。在節點相依性檔案中,將相依性標籤鍵設為"compute.googleapis.com/project",運算子設為"IN",值設為包含節點群組的專案。如要進一步瞭解如何設定節點相依性,請參閱「設定節點相依性標籤」。
REST
如要使用節點親和性檔案,在共用節點群組中佈建單一租戶 VM,請使用下列
nodeGroups.insert方法。POST https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/instances { ... "name": VM_NAME, "machineType": MACHINE_TYPE, "scheduling": { ... "nodeAffinities": [ { "key": KEY, "operator": OPERATOR, "values": [ VALUE ] } ], ... }, ... }更改下列內容:
PROJECT:擁有節點群組的專案名稱。ZONE:節點群組的可用區。VM_NAME:使用相依性標籤在共用節點群組中建立的單一租戶 VM 名稱。MACHINE_TYPE:要在共用節點群組中建立的單一用戶群 VM 機器類型。KEY:相依性標籤。請設為"compute.googleapis.com/project"。OPERATOR:親和性標籤運算子。請設為"IN"。VALUE:包含節點群組的專案,用於佈建 VM。使用專案名稱或專案 ID 指定專案。
如要進一步瞭解如何設定節點親和性,請參閱「設定節點親和性標籤」。
查看節點群組的共用設定
如要查看節點群組的共用設定,請使用 Google Cloud 控制台、gcloud CLI 或 REST。
主控台
前往 Google Cloud 控制台的「單一租戶節點」頁面。
如要查看節點群組的屬性,請在「名稱」欄中,按一下節點群組的名稱。
gcloud
如要查看節點群組的共用設定,請使用下列
gcloud compute sole-tenancy node-groups describe指令。gcloud compute sole-tenancy node-groups describe NODE_GROUP
將
NODE_GROUP替換為要查看共用設定的節點群組名稱。REST
如要查看節點群組的共用設定,請使用下列
nodeGroups.get方法。GET https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/nodeGroups
更改下列內容:
PROJECT:節點群組所在專案的名稱,用於查看共用設定ZONE:包含要查看共用設定的節點群組的可用區
共用現有節點群組
如要與其他專案或整個機構共用現有節點群組,請使用 Google Cloud 主控台、gcloud CLI 或 REST。
主控台
前往 Google Cloud 控制台的「單一租戶節點」頁面。
在「Name」(名稱) 欄中,按一下節點群組名稱。
如要與機構內的所有專案共用節點群組,或與機構內選取的專案共用節點群組,請依序點選「總覽」>「與以下對象共用」,然後按一下「編輯」圖示 。
gcloud
如要更新節點群組的共用設定,請使用下列
gcloud compute sole-tenancy node-groups update指令。gcloud compute sole-tenancy node-groups update NODE_GROUP \ --zone=ZONE \ --share-setting=SHARE_SETTING \ --share-with=PROJECTS更改下列內容:
NODE_GROUP:要更新共用設定的節點群組名稱。SHARE_SETTING:節點群組的共用設定。設為projects可與特定專案共用,設為organization則可與整個機構共用。PROJECTS:要與節點群組共用的專案 ID 或專案編號清單。只有在將SHARE_SETTING設為projects時,才需要這個屬性。
REST
如要更新節點群組的共用設定,請使用下列
nodeGroups.patch方法。PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/nodeGroups/NODE_GROUP { "shareSettings": { "shareType": SHARE_TYPE, "projectMap": { string: { "projectId": PROJECTS }, } } }更改下列內容:
PROJECT:專案名稱,內含要更新共用設定的節點群組。ZONE:包含節點群組的區域,用於更新共用設定。NODE_GROUP:要更新共用設定的節點群組名稱。SHARE_TYPE:節點群組的共用設定。設為projects可與特定專案共用,設為organization則可與整個機構共用。PROJECTS:要與節點群組共用的專案 ID 或專案編號清單。只有在將SHARE_SETTING設為SPECIFIC_PROJECTS時,才需要這個屬性。
停止共用節點群組
如要停止與其他專案或整個機構共用節點群組,請使用 gcloud CLI 或 REST。
主控台
前往 Google Cloud 控制台的「單一租戶節點」頁面。
按一下節點群組的「名稱」。
依序點選「總覽」>「與誰共用」,然後按一下「編輯」圖示 。
如要停止共用,請選擇「不要與其他專案共用這個節點群組」。
gcloud
如要停止與其他專案或整個機構共用節點群組,請使用下列
gcloud compute sole-tenancy node-groups update指令。gcloud compute sole-tenancy node-groups update NODE_GROUP \ --zone=ZONE \ --share-setting=local將
NODE_GROUP替換為要停止共用的節點群組名稱。REST
如要停止與其他專案或整個機構共用節點群組,請使用下列
nodeGroups.patch方法。PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/nodeGroups/NODE_GROUP { "shareSettings": { "shareType": LOCAL } }更改下列內容:
PROJECT:要停止共用節點群組的專案名稱ZONE:包含要停止共用節點群組的可用區NODE_GROUP:要停止共用的節點群組名稱
從擁有專案中刪除共用節點群組
如要從擁有專案中刪除共用節點群組,請使用Google Cloud 主控台、gcloud CLI 或 REST。刪除節點群組前,請先停止在節點群組中執行的所有 VM。
主控台
前往 Google Cloud 控制台的「單一租戶節點」頁面。
在「Name」(名稱) 欄中,按一下節點群組名稱。
點選「刪除」。
gcloud
如要從擁有專案中刪除共用節點群組,請使用下列
gcloud compute sole-tenancy node-groups delete指令。gcloud compute sole-tenancy node-groups delete NODE_GROUP
將
NODE_GROUP替換為要刪除的節點群組名稱。REST
如要從擁有專案中刪除共用節點群組,請使用下列
nodeGroups.delete方法。DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/nodeGroups/NODE_GROUP
更改下列內容:
PROJECT:要刪除節點群組的專案名稱ZONE:包含要刪除節點群組的可用區NODE_GROUP:要刪除的節點群組名稱
除非另有註明,否則本頁面中的內容是採用創用 CC 姓名標示 4.0 授權,程式碼範例則為阿帕契 2.0 授權。詳情請參閱《Google Developers 網站政策》。Java 是 Oracle 和/或其關聯企業的註冊商標。
上次更新時間:2025-10-19 (世界標準時間)。
[[["容易理解","easyToUnderstand","thumb-up"],["確實解決了我的問題","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["難以理解","hardToUnderstand","thumb-down"],["資訊或程式碼範例有誤","incorrectInformationOrSampleCode","thumb-down"],["缺少我需要的資訊/範例","missingTheInformationSamplesINeed","thumb-down"],["翻譯問題","translationIssue","thumb-down"],["其他","otherDown","thumb-down"]],["上次更新時間:2025-10-19 (世界標準時間)。"],[],[]] -