Grup sole-tenant node bersama mirip dengan grup sole-tenant node lokal. Misalnya, grup node bersama memiliki biaya yang sama, menggunakan kuota yang sama, dan berada di bawah project induk dalam hierarki resource.
Perbedaan antara grup node bersama dan grup node lokal adalah project lain di organisasi Anda dapat menyediakan instance virtual machine (VM) dalam grup node bersama.
Berbagi grup node di beberapa project atau organisasi dapat membantu Anda melakukan hal berikut:
Mengonsolidasikan grup node yang Anda kelola ke dalam satu project, lalu membagikan node tersebut dengan project lain atau seluruh organisasi
Menurunkan biaya dengan menghapus node setelah menggabungkan VM dari berbagai project ke dalam grup node yang kurang dimanfaatkan
Mengelola sole-tenant node dengan satu tim
Membagikan sole-tenant node dengan project yang lebih kecil serta mempertahankan batas kontrol keamanan dan akses antar-project tersebut
Melakukan migrasi langsung antargrup node dalam project yang sama
Meningkatkan penggunaan grup node Anda dan kurangi jumlah node pemeliharaan yang dipesan saat menggunakan kebijakan pemeliharaan Bermigrasi dalam grup node
Diagram berikut menunjukkan grup node yang digunakan bersama dengan project lain, sehingga departemen lain yang mengelola VM dalam project tersebut dapat menyediakan VM di grup node bersama.
Manfaat penggunaan grup node bersama
Tabel berikut membandingkan project yang menggunakan grup node lokal dengan project yang menggunakan grup node bersama. Perhatikan bahwa kurangnya pemanfaatan vCPU pada project yang menggunakan grup node bersama akan berkurang.
Konfigurasi project | Grup node lokal | Grup node bersama |
---|---|---|
Project | 10 | 10 |
vCPU / project | 24 | 24 |
Grup node | 10 | 1 |
Node / grup node | 1 | 3 |
vCPU / node | 80 | 80 |
Penggunaan / grup node | 24 | 80 |
Kekurangan pemanfaatan / grup node | 56 | 0 |
Total kekurangan pemanfaatan | 10 x 56 = 560 vCPU | 1 x 0 = 0 vCPU |
Setelan untuk berbagi grup node
Compute Engine menggunakan setelan berikut untuk berbagi grup node dan menyediakan VM di grup node bersama:
Setelan berbagi yang Anda konfigurasikan saat membuat atau memperbarui grup sole-tenant node. Untuk menentukan apakah grup node akan dibagikan dengan project lain atau dengan seluruh organisasi, gunakan setelan gcloud CLI (
--share-setting
,--share-with
) atau setelan REST (shareSetting
,shareWith
).Label afinitas node
compute.googleapis.com/project
default yang Anda gunakan saat menyediakan VM di grup node bersama menggunakan label afinitas node. Untuk informasi tentang label afinitas node default lainnya, lihat Label afinitas default.
Pertimbangan kebijakan pemeliharaan
Saat grup node menggunakan kebijakan pemeliharaan Bermigrasi dalam grup node, Compute Engine akan memesan setidaknya 1 node untuk peristiwa migrasi langsung, sehingga grup node harus memiliki setidaknya 2 node. Anda tidak dapat menjadwalkan VM pada node yang dipesan, sehingga grup node dengan kebijakan pemeliharaan ini sering kali memiliki pemanfaatan keseluruhan yang lebih rendah. Oleh karena itu, beban kerja yang memerlukan kebijakan pemeliharaan Bermigrasi dalam grup node menjadi kandidat yang tepat untuk berbagi grup node karena beban kerja tersebut sering kali mendapatkan manfaat terbesar dari peningkatan pemanfaatan.
Peran dan izin IAM
Perhatikan informasi tentang peran dan izin IAM berikut saat Anda membagikan grup node:
Jika grup node dibagikan ke project, setiap pengguna yang dapat membuat VM dalam project yang tercantum atau dalam organisasi dapat menyediakan VM dari project tersebut ke grup node bersama tanpa mengubah peran atau izin IAM.
Peran IAM
compute.soleTenantViewer
dapat Anda gunakan untuk membuat daftar dan melihat grup node (gcloud CLI/REST). Anda tidak dapat mengubah grup node dengan peran ini. Setiap pengguna yang memiliki peran ini atau yang memiliki izin untuk mencantumkan grup node, terlepas dari izin IAM pada VM, dapat melihat project ID, nama, jenis mesin, serta informasi tentang SSD dan GPU lokal untuk semua VM dalam grup node.
Batasan
Batasan aturan kepatuhan:
- Terlepas dari izin IAM pada VM, setiap pengguna yang memiliki izin untuk mencantumkan grup node dapat melihat project ID, nama, dan jenis mesin untuk semua VM dalam grup node tersebut. Oleh karena itu, karena risiko pengungkapan informasi lintas project, project yang memiliki VM yang disediakan di grup node bersama harus berada dalam aturan kepatuhan yang sama.
Batasan konsol Google Cloud:
- Jika Anda tidak memiliki izin untuk melihat VM di grup node bersama, VM tersebut tidak akan muncul dalam daftar VM pada halaman Sole-tenant node di konsol Google Cloud.
- Setelah mengubah setelan berbagi di halaman Grup sole-tenant node, setelan Shared with tidak akan diperbarui di UI. Untuk melihat setelan Shared with yang telah diperbarui, buka halaman Sole-tenant node.
- Setelah berbagi grup node dengan semua project dalam suatu organisasi atau dengan project yang dipilih dalam suatu organisasi, Anda hanya dapat melihat grup node bersama dari project pemiliknya; Anda tidak dapat melihat grup node bersama dari project yang diajak berbagi. Untuk menyediakan VM di grup node bersama, dari project yang diajak berbagi grup node, buka halaman VM Instances, lalu ubah label afinitas sole-tenant node-nya.
Batasan berbagi:
- Anda harus memperbarui setelan berbagi dari project yang memiliki grup node.
- Anda dapat menentukan maksimum 100 project saat menggunakan setelan berbagi
projects
. - Anda tidak dapat membagikan grup node antar-organisasi. Misalnya, jika Anda memigrasikan project yang berisi grup node bersama dari satu organisasi ke organisasi lain, Anda juga harus memigrasikan semua project yang memiliki VM yang berjalan di grup node bersama tersebut.
- Anda tidak dapat melakukan migrasi langsung antar-project saat menggunakan grup sole-tenant node bersama. Untuk mengetahui informasi selengkapnya, lihat Melakukan migrasi langsung VM secara manual.
Harga
VM di grup node bersama tidak dikenai biaya tambahan, dan tidak ada biaya tambahan untuk berbagi grup node. Untuk mengetahui informasi selengkapnya tentang harga node tenant tunggal, lihat Harga sole-tenant node.
Sebelum memulai
- Sebelum membuat grup sole-tenant node, buat template sole-tenant node.
- Sebelum menyediakan VM di sole-tenant node, periksa kuota Anda. Tergantung pada jumlah dan ukuran node yang dipesan, Anda mungkin perlu meminta kuota tambahan.
-
Siapkan autentikasi, jika Anda belum melakukannya.
Autentikasi adalah proses verifikasi identitas Anda untuk akses ke layanan dan API Google Cloud.
Untuk menjalankan kode atau contoh dari lingkungan pengembangan lokal, Anda dapat melakukan autentikasi ke Compute Engine sebagai berikut.
Pilih tab untuk melihat bagaimana Anda berencana menggunakan contoh di halaman ini:
Konsol
Saat menggunakan Konsol Google Cloud untuk mengakses API dan layanan Google Cloud, Anda tidak perlu menyiapkan autentikasi.
gcloud
-
Instal Google Cloud CLI, lalu initialize dengan menjalankan perintah berikut:
gcloud init
- Menetapkan region dan zona default.
REST
Untuk menggunakan contoh REST API di halaman ini dalam lingkungan pengembangan lokal, gunakan kredensial yang Anda berikan ke gcloud CLI.
Instal Google Cloud CLI, lalu initialize dengan menjalankan perintah berikut:
gcloud init
-
Membuat grup node baru dan membagikannya
Untuk membuat grup node baru dan membagikannya ke project lain atau dengan seluruh organisasi, gunakan Konsol Google Cloud, gcloud CLI, atau REST.
Konsol
Buat grup sole-tenant node. Untuk mengetahui informasi selengkapnya, lihat Membuat grup sole-tenant node.
Konfigurasikan setelan berbagi dengan menentukan salah satu opsi berikut di Configure share settings:
- Untuk membagikan grup node dengan semua project di organisasi Anda, pilih Bagikan grup node ini dengan semua project dalam organisasi.
- Untuk berbagi grup node dengan project tertentu dalam organisasi, pilih Bagikan grup node ini dengan project yang dipilih dalam organisasi.
Jika Anda tidak ingin membagikan grup node, pilih Do not share this node group with other projects.
gcloud
Untuk membuat grup node bersama, gunakan perintah gcloud compute
sole-tenancy node-groups create
berikut.
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
Ganti kode berikut:
NODE_GROUP
: nama grup node.ZONE
: zona tempat membuat grup node.NODE_TEMPLATE
: nama template node yang dibuat sebelumnya.SIZE
: jumlah node dalam grup node.SHARE_SETTING
: setelan berbagi untuk grup node. Tetapkan keprojects
untuk berbagi dengan project tertentu, atau tetapkan keorganization
untuk berbagi dengan seluruh organisasi.PROJECTS
: daftar project ID atau nomor project yang akan diajak berbagi grup node. Hanya diperlukan jika Anda menetapkanSHARE_SETTING
keprojects
.
REST
Untuk membuat grup node bersama, gunakan metode
nodeGroups.insert
berikut.
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 }, } } ... }
Ganti kode berikut:
PROJECT
: nama project tempat membuat grup node.ZONE
: zona tempat membuat grup node.NODE_GROUP
: nama grup node.NODE_TEMPLATE
: nama template node yang dibuat sebelumnya.SIZE
: jumlah node dalam grup node.SHARE_TYPE
: setelan berbagi untuk grup node. Tetapkan keSPECIFIC_PROJECTS
untuk berbagi dengan project tertentu, atau tetapkan keORGANIZATION
untuk berbagi dengan seluruh organisasi.PROJECTS
: daftar project ID atau nomor project yang akan diajak berbagi grup node. Hanya diperlukan jika Anda menetapkanSHARE_TYPE
keSPECIFIC_PROJECTS
.
Menyediakan VM tenant tunggal di grup node bersama
Untuk menyediakan VM tenant tunggal dalam grup node bersama, gunakan Google Cloud Console, gcloud CLI, atau REST.
Konsol
Di konsol Google Cloud, beralihlah ke project yang telah Anda ajak berbagi grup node.
Buka halaman VM instances.
Klik Create instance.
Di Zone, pilih zona grup node bersama.
Di Machine configuration > Series, pilih jenis mesin yang sama dengan yang ditentukan oleh template grup sole-tenant node bersama.
Buka Advanced options > Sole-tenancy > Browse.
Pilih Select project dan tentukan project yang berisi grup node bersama.
Pilih grup sole-tenant node atau sole-tenant node tertentu dalam grup tersebut untuk menyediakan VM.
gcloud
Menyediakan VM di grup node bersama menggunakan nama grup node
Untuk menyediakan VM sole-tenant di grup node bersama menggunakan nama grup node, gunakan perintah gcloud compute instances create
berikut.
gcloud compute instances create VM_NAME \ --machine-type=MACHINE_TYPE \ --node-group=NODE_GROUP \ --node-project=NODE_PROJECT
Ganti kode berikut:
VM_NAME
: nama VM sole-tenant baru yang akan dibuat di grup node bersamaMACHINE_TYPE
: jenis mesin untuk VM sole-tenant baruNODE_GROUP
: nama grup node bersama untuk membuat VM sole-tenant diNODE_PROJECT
: project yang berisi grup node untuk menyediakan VM di
Menyediakan VM di grup node bersama menggunakan file afinitas node
Untuk menyediakan VM sole-tenant di grup node bersama dengan menggunakan file afinitas node, gunakan perintah gcloud compute instances create
berikut.
gcloud compute instances create VM_NAME \ --machine-type=MACHINE_TYPE \ --node-affinity-file=NODE_AFFINITY_FILE
Ganti kode berikut:
VM_NAME
: nama VM sole-tenant yang akan dibuat dalam grup node bersama menggunakan label afinitas.MACHINE_TYPE
: jenis mesin dari VM sole-tenant yang akan dibuat di grup node bersama.NODE_AFFINITY_FILE
: nama file.json
yang berisi informasi afinitas node. Dalam file afinitas node, tetapkan kunci label afinitas ke"compute.googleapis.com/project"
, operator sama dengan"IN"
, dan nilai yang sama dengan project yang berisi grup node. Untuk mengetahui informasi selengkapnya tentang cara mengonfigurasi afinitas node, lihat Mengonfigurasi label afinitas node.
REST
Untuk menyediakan VM sole-tenant di grup node bersama dengan menggunakan file afinitas node, gunakan metode nodeGroups.insert
berikut.
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 ] } ], ... }, ... }
Ganti kode berikut:
PROJECT
: nama project yang memiliki grup node.ZONE
: zona grup node.VM_NAME
: nama VM sole-tenant yang akan dibuat dalam grup node bersama menggunakan label afinitas.MACHINE_TYPE
: jenis mesin dari VM sole-tenant yang akan dibuat di grup node bersama.KEY
: label afinitas. Tetapkan ke"compute.googleapis.com/project"
.OPERATOR
: operator label afinitas. Tetapkan ke"IN"
.VALUE
: project yang berisi grup node untuk menyediakan VM. Tentukan satu project menggunakan nama project atau project ID.
Untuk mengetahui informasi selengkapnya tentang cara mengonfigurasi afinitas node, lihat Mengonfigurasi label afinitas node.
Melihat setelan berbagi grup node
Untuk melihat setelan berbagi grup node, gunakan Konsol Google Cloud, gcloud CLI, atau REST.
Konsol
Di konsol Google Cloud, buka halaman Sole-tenant nodes.
Untuk melihat properti grup node, di kolom Name, klik nama grup node.
gcloud
Untuk melihat setelan berbagi grup node, gunakan perintah gcloud
compute sole-tenancy node-groups describe
berikut.
gcloud compute sole-tenancy node-groups describe NODE_GROUP
Ganti NODE_GROUP
dengan nama grup node untuk melihat setelan berbagi.
REST
Untuk melihat setelan berbagi grup node, gunakan
metode
nodeGroups.get
berikut.
GET https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/nodeGroups
Ganti kode berikut:
PROJECT
: nama project dengan grup node untuk melihat setelan berbagiZONE
: zona yang berisi grup node untuk melihat setelan berbagi
Membagikan grup node yang ada
Untuk berbagi grup node yang ada dengan project lain atau seluruh organisasi, gunakan Konsol Google Cloud, gcloud CLI, atau REST.
Konsol
Di konsol Google Cloud, buka halaman Sole-tenant nodes.
Di kolom Nama, klik nama grup node.
Untuk membagikan grup node dengan semua project dalam organisasi, atau dengan project yang dipilih dalam organisasi, di bagian Overview > Shared with, klik Edit .
gcloud
Untuk memperbarui setelan berbagi grup node, gunakan perintah gcloud
compute sole-tenancy node-groups update
berikut.
gcloud compute sole-tenancy node-groups update NODE_GROUP \ --zone=ZONE \ --share-setting=SHARE_SETTING \ --share-with=PROJECTS
Ganti kode berikut:
NODE_GROUP
: nama grup node untuk memperbarui setelan berbagi.SHARE_SETTING
: setelan berbagi untuk grup node. Tetapkan keprojects
untuk berbagi dengan project tertentu, atau tetapkan keorganization
untuk berbagi dengan seluruh organisasi.PROJECTS
: daftar project ID atau nomor project yang akan diajak berbagi grup node. Hanya diperlukan jika Anda menetapkanSHARE_SETTING
keprojects
.
REST
Untuk memperbarui setelan berbagi grup node, gunakan
metode
nodeGroups.patch
berikut.
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/nodeGroups/NODE_GROUP { "shareSettings": { "shareType": SHARE_TYPE, "projectMap": { string: { "projectId": PROJECTS }, } } }
Ganti kode berikut:
PROJECT
: nama project dengan grup node yang setelan berbaginya akan diperbarui.ZONE
: zona yang berisi grup node yang setelan berbaginya akan diperbarui.NODE_GROUP
: nama grup node untuk memperbarui setelan berbagi.SHARE_TYPE
: setelan berbagi untuk grup node. Tetapkan keprojects
untuk berbagi dengan project tertentu, atau tetapkan keorganization
untuk berbagi dengan seluruh organisasi.PROJECTS
: daftar project ID atau nomor project yang akan diajak berbagi grup node. Hanya diperlukan jika Anda menetapkanSHARE_SETTING
keSPECIFIC_PROJECTS
.
Berhenti membagikan grup node
Untuk berhenti membagikan grup node kepada project lain atau seluruh organisasi, gunakan gcloud CLI atau REST.
Konsol
Di konsol Google Cloud, buka halaman Sole-tenant nodes.
Klik Nama grup node.
Di Overview > Shared with, klik Edit .
Untuk berhenti berbagi, pilih Do not share this node group with other projects.
gcloud
Untuk berhenti berbagi grup node dengan project lain atau seluruh organisasi,
gunakan perintah
gcloud compute sole-tenancy node-groups update
berikut.
gcloud compute sole-tenancy node-groups update NODE_GROUP \ --zone=ZONE \ --share-setting=local
Ganti NODE_GROUP
dengan nama grup
node untuk berhenti berbagi.
REST
Untuk berhenti berbagi grup node dengan project lain atau seluruh organisasi,
gunakan metode
nodeGroups.patch
berikut.
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/nodeGroups/NODE_GROUP { "shareSettings": { "shareType": LOCAL } }
Ganti kode berikut:
PROJECT
: nama project dengan grup node yang akan berhenti dibagikanZONE
: zona yang berisi grup node yang akan berhenti dibagikanNODE_GROUP
: nama grup node yang akan berhenti dibagikan
Menghapus grup node bersama dari project pemilik
Untuk menghapus grup node bersama dari project yang memiliki, gunakan Google Cloud Console, gcloud CLI, atau REST. Sebelum menghapus grup node, hentikan semua VM yang berjalan di grup node.
Konsol
Di konsol Google Cloud, buka halaman Sole-tenant nodes.
Di kolom Nama, klik nama grup node.
Klik Delete.
gcloud
Untuk menghapus grup node bersama dari project pemilik, gunakan perintah gcloud compute sole-tenancy node-groups delete
berikut.
gcloud compute sole-tenancy node-groups delete NODE_GROUP
Ganti NODE_GROUP
dengan nama grup
node yang akan dihapus.
REST
Untuk menghapus grup node bersama dari project pemilik, gunakan
metode
nodeGroups.delete
berikut.
DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/nodeGroups/NODE_GROUP
Ganti kode berikut:
PROJECT
: nama project dengan grup node yang akan dihapusZONE
: zona yang berisi grup node yang akan dihapusNODE_GROUP
: nama grup node yang akan dihapus