共用單一用戶群節點群組與本機單一用戶群節點群組類似。舉例來說,共用節點群組的費用相同、消耗的配額相同,且位於資源階層的父項專案下。
共用節點群組與本機節點群組的差異在於,貴機構中的其他專案可以在共用節點群組中佈建虛擬機器 (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.soleTenantViewer
IAM 角色可讓您列出及查看節點群組 (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-07-29 (世界標準時間)。
-