Halaman ini menjelaskan cara menyediakan VM di sole-tenant node, yang merupakan server fisik yang menjalankan VM hanya dari satu project. Sebelum menyediakan VM di sole-tenant node, baca ringkasan sole-tenant node.
Sebelum memulai
- Sebelum menyediakan VM di sole-tenant node, periksa kuota Anda. Tergantung pada jumlah dan ukuran node yang dipesan, Anda mungkin perlu meminta kuota tambahan.
- Buat template sole-tenant node.
- Buat grup sole-tenant node.
-
Siapkan autentikasi jika Anda belum melakukannya.
Autentikasi memverifikasi identitas Anda untuk mengakses layanan Google Cloud dan API. Untuk menjalankan
kode atau contoh dari lingkungan pengembangan lokal, Anda dapat melakukan autentikasi ke
Compute Engine dengan memilih salah satu opsi berikut:
Pilih tab untuk melihat bagaimana Anda berencana menggunakan contoh di halaman ini:
Konsol
Saat menggunakan konsol Google Cloud untuk mengakses layanan dan API Google Cloud , Anda tidak perlu menyiapkan autentikasi.
gcloud
-
Instal Google Cloud CLI. Setelah penginstalan, lakukan inisialisasi Google Cloud CLI dengan menjalankan perintah berikut:
gcloud initJika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.
-
- Tetapkan 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.
Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.
Untuk mengetahui informasi selengkapnya, lihat Melakukan autentikasi untuk menggunakan REST dalam dokumentasi autentikasi Google Cloud .
Membuat template sole-tenant node
Sebelum membuat grup node dan menyediakan VM sole-tenant, Anda harus membuat template sole-tenant node. Template node adalah resource regional yang menentukan properti (seperti jenis node, label afinitas, SSD lokal, akselerator, dan overcommit CPU) untuk setiap node dalam grup node.
Untuk mengonfigurasi dan membuat template node menggunakan konsol Google Cloud , Google Cloud CLI, atau Compute Engine REST API, lihat Membuat template sole-tenant node.
Membuat grup sole-tenant node
Setelah membuat template node, Anda harus membuat grup sole-tenant node. Grup node adalah cluster homogen dari sole-tenant node di zona tertentu yang mewarisi properti dari templatenya. Anda dapat mengonfigurasi kebijakan pemeliharaan host, penskalaan otomatis, dan setelan berbagi lintas project di grup node.
Untuk mengonfigurasi dan membuat grup node menggunakan konsol Google Cloud , Google Cloud CLI, atau Compute Engine REST API, lihat Membuat grup sole-tenant node.
Menyediakan sole-tenant VM
Setelah membuat grup node berdasarkan template node yang dibuat sebelumnya, Anda dapat menyediakan setiap VM pada grup sole-tenant node.
Untuk menyediakan VM pada node atau grup node tertentu yang memiliki label afinitas yang cocok dengan label yang sebelumnya Anda tetapkan ke template node, ikuti prosedur standar untuk membuat instance VM, dan tetapkan label afinitas ke VM.
Atau, Anda dapat menggunakan prosedur berikut untuk menyediakan VM pada sole-tenant node dari halaman detail grup node. Berdasarkan grup node tempat Anda menyediakan VM, Compute Engine menetapkan label afinitas.
Konsol
Di konsol Google Cloud , buka halaman Sole-tenant nodes.
Klik Node groups.
Klik Name grup node untuk menyediakan instance VM, lalu secara opsional, untuk menyediakan VM pada sole-tenant node tertentu, klik nama satu-satunya -tenant untuk menyediakan VM.
Klik Membuat instance untuk menyediakan instance VM di grup node ini, perhatikan nilai yang otomatis diterapkan untuk Name, Region, dan Zone, lalu ubah nilai tersebut sesuai kebutuhan.
Pilih Machine configuration dengan menentukan kelompok mesin, Series, dan jenis mesin. Pilih Seri yang sesuai dengan jenis sole-tenant node.
Ubah Boot disk, Firewall, dan setelan lainnya jika diperlukan.
Klik Sole Tenancy, catat label afinitas node yang ditetapkan secara otomatis, lalu gunakan Browse untuk menyesuaikan sesuai kebutuhan.
Klik Management, dan untuk On host maintenance, pilih salah satu opsi berikut:
Migrate VM instance (direkomendasikan): VM yang dimigrasikan ke node lain dalam grup node selama pemeliharaan.
Terminate: VM dihentikan selama pemeliharaan.
Pilih salah satu opsi berikut untuk Mulai ulang otomatis:
On (direkomendasikan): Memulai ulang VM secara otomatis jika dihentikan untuk pemeliharaan.
Off: Tidak otomatis memulai ulang VM setelah pemeliharaan.
Klik Create untuk menyelesaikan pembuatan sole-tenant VM Anda.
gcloud
Gunakan perintah perintah gcloud compute instances
create untuk menyediakan VM pada grup sole-tenant node:
gcloud compute instances create VM_NAME \ [--zone=ZONE \] --image-family=IMAGE_FAMILY \ --image-project=IMAGE_PROJECT \ --node-group=GROUP_NAME \ --machine-type=MACHINE_TYPE \ [--maintenance-policy=MAINTENANCE_POLICY \] [--accelerator type=GPU_TYPE,count=GPU_COUNT \] [--local-ssd interface=SSD_INTERFACE \] [--restart-on-failure]
Tanda --restart-on-failure menunjukkan apakah sole-tenant VM dimulai ulang setelah berhenti. Flag ini diaktifkan secara default. Gunakan --no-restart-on-failure untuk menonaktifkan.
Ganti kode berikut:
VM_NAME: nama sole-tenant VM baru.ZONE: zona untuk menyediakan sole-tenant VM.IMAGE_FAMILY: kelompok image dari image yang akan digunakan untuk membuat VM.IMAGE_PROJECT: project image dari kelompok image.GROUP_NAME: nama grup node tempat VM akan disediakan.MACHINE_TYPE: jenis mesin dari sole-tenant VM. Gunakan perintahgcloud compute machine-types listuntuk mendapatkan daftar jenis mesin yang tersedia untuk project.MAINTENANCE_POLICY: menentukan perilaku mulai ulang sole-tenant VM selama pemeliharaan. Tetapkan ke salah satu opsi berikut:MIGRATE: VM yang dimigrasikan ke node lain dalam grup node selama pemeliharaan.TERMINATE: VM dihentikan selama pemeliharaan.
GPU_TYPE: jenis GPU. Tetapkan ke salah satu jenis akselerator yang ditentukan saat template node dibuat.GPU_COUNT: jumlah GPU dari total yang ditentukan oleh template node yang akan dilampirkan ke VM ini. Nilai defaultnya adalah1.SSD_INTERFACE: jenis antarmuka SSD lokal. Anda hanya dapat menetapkannya untuk instance yang dibuat dari template node dengan dukungan SSD lokal. Jika Anda menentukan ini saat membuat instance, dan template node tidak mendukung SSD lokal, pembuatan instance akan gagal. Tetapkan kenvmejika driver image boot disk dioptimalkan untuk NVMe, jika tidak, tetapkan kescsi. Tentukan flag ini dan nilai yang sesuai satu kali untuk setiap partisi SSD lokal.
REST
Gunakan metode instances.insert untuk menyediakan VM pada grup sole-tenant node:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/VM_ZONE/instances
{ "machineType": "zones/MACHINE_TYPE_ZONE/machineTypes/MACHINE_TYPE", "name": "VM_NAME", "scheduling": { "onHostMaintenance": MAINTENANCE_POLICY, "automaticRestart": RESTART_ON_FAILURE, "nodeAffinities": [ { "key": "compute.googleapis.com/node-group-name", "operator": "IN", "values": [ "GROUP_NAME" ] } ] }, "networkInterfaces": [ { "network": "global/networks/NETWORK", "subnetwork": "regions/REGION/subnetworks/SUBNETWORK" } ], "guestAccelerators": [ { "acceleratorType": GPU_TYPE, "acceleratorCount": GPU_COUNT } ], "disks": [ { "boot": true, "initializeParams": { "sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY" } }, { "type":"SCRATCH", "initializeParams":{ "diskType":"zones/LOCAL_SSD_ZONE/diskTypes/local-ssd" }, "autoDelete":true, "interface":"SSD_INTERFACE" } ] }
Ganti kode berikut:
PROJECT_ID: project ID.VM_ZONE: zona untuk menyediakan sole-tenant VM.MACHINE_TYPE_ZONE: zona jenis mesin.MACHINE_TYPE: jenis mesin dari sole-tenant VM. Gunakan metodemachineTypes.listuntuk mendapatkan daftar jenis mesin yang tersedia untuk project.VM_NAME: nama sole-tenant VM baru.MAINTENANCE_POLICY: menentukan perilaku mulai ulang sole-tenant VM selama pemeliharaan. Tetapkan ke salah satu opsi berikut:MIGRATE: VM yang dimigrasikan ke node lain dalam grup node selama pemeliharaan.TERMINATE: VM dihentikan selama pemeliharaan.
RESTART_ON_FAILURE: menunjukkan apakah sole-tenant VM dimulai ulang setelah berhenti. Defaultnya adalahtrue.GROUP_NAME: nama grup node tempat VM akan disediakan.NETWORK: URL resource jaringan untuk VM ini.REGION: region yang berisi subnetwork untuk VM ini.SUBNETWORK: URL resource subnetwork untuk VM ini.GPU_TYPE: jenis GPU. Tetapkan ke salah satu jenis akselerator yang ditentukan saat template node dibuat.GPU_COUNT: jumlah GPU dari total yang ditentukan oleh template node yang akan ditambahkan ke VM ini. Nilai defaultnya adalah1.IMAGE_PROJECT: project image dari kelompok image.IMAGE_FAMILY: kelompok image dari image yang akan digunakan untuk membuat VM.LOCAL_SSD_ZONE: zona SSD lokal.SSD_INTERFACE: jenis antarmuka SSD lokal. Setel keNVMEjika driver image boot disk dioptimalkan untuk NVMe, atau disetel keSCSI.
Menyediakan grup VM sole-tenant
Grup instance terkelola (MIG) memungkinkan Anda menyediakan grup sole-tenant VM yang identik. Label afinitas memungkinkan Anda menentukan sole-tenant node atau grup node yang akan digunakan untuk menyediakan grup sole-tenant VM.
Untuk MIG regional, Anda harus membuat grup node di setiap zona MIG regional dan Anda harus menentukan afinitas node untuk grup node tersebut di template instance MIG regional.
gcloud
Gunakan perintah
gcloud compute instance-templates createuntuk membuat template grup instance terkelola bagi grup VM yang akan dibuat di grup sole-tenant node:gcloud compute instance-templates create INSTANCE_TEMPLATE \ --machine-type=MACHINE_TYPE \ --image-project=IMAGE_PROJECT \ --image-family=IMAGE_FAMILY \ --node-group=GROUP_NAME \ [--accelerator type=GPU_TYPE,count=GPU_COUNT \] [--local-ssd interface=SSD_INTERFACE]
Ganti kode berikut:
INSTANCE_TEMPLATE: nama untuk template instance baru.MACHINE_TYPE: jenis mesin sole-tenant VM. Gunakan perintahgcloud compute machine-types listuntuk mendapatkan daftar jenis mesin yang tersedia untuk project.IMAGE_PROJECT: project image dari kelompok image.IMAGE_FAMILY: kelompok gambar gambar yang akan digunakan untuk membuat VM.GROUP_NAME: nama grup node tempat VM akan disediakan. Atau, jika Anda ingin menggunakan template instance ini untuk membuat MIG regional yang ada di lebih dari satu zona, gunakan flag--node-affinity-fileuntuk menentukan daftar nilai untuk grup node MIG regional.GPU_TYPE: jenis GPU. Tetapkan ke salah satu jenis akselerator yang ditentukan saat template node dibuat.GPU_COUNT: jumlah GPU dari total yang ditentukan oleh template node yang akan ditambahkan ke VM ini. Nilai defaultnya adalah1.SSD_INTERFACE: jenis antarmuka SSD lokal. Setel kenvmejika driver image boot disk dioptimalkan untuk NVMe, atau disetel kescsi. Tentukan flag ini dan nilai yang sesuai satu kali untuk setiap partisi SSD lokal.
Gunakan perintah perintah
gcloud compute instance-groups managed createuntuk membuat grup instance terkelola dalam grup sole-tenant node Anda:gcloud compute instance-groups managed create INSTANCE_GROUP_NAME \ --size=SIZE \ --template=INSTANCE_TEMPLATE \ --zone=ZONE
Ganti kode berikut:
INSTANCE_GROUP_NAME: nama untuk grup instance ini.SIZE: jumlah VM yang akan disertakan dalam grup instance ini. Grup node Anda harus memiliki resource yang cukup untuk mengakomodasi instance dalam grup instance terkelola ini. Gunakan autoscaler grup instance terkelola untuk mengelola ukuran grup instance terkelola secara otomatis.INSTANCE_TEMPLATE: nama template instance yang akan digunakan untuk membuat MIG ini. Template harus memiliki satu atau beberapa label afinitas node yang mengarah ke grup node yang sesuai.ZONE: zona untuk membuat grup instance terkelola. Untuk MIG regional, ganti tanda--zonedengan tanda--regiondan tentukan wilayah; tambahkan juga flag--zonesuntuk menentukan semua zona tempat grup node berada.
REST
Gunakan metode
instanceTemplates.insertuntuk membuat template grup instance terkelola dalam grup sole-tenant node Anda:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/TEMPLATE_ZONE/instance-templates { "name": "INSTANCE_TEMPLATE", "properties": { "machineType": "zones/MACHINE_TYPE_ZONE/machineTypes/MACHINE_TYPE", "scheduling": { "nodeAffinities": [ { "key": "compute.googleapis.com/node-group-name", "operator": "IN", "values": [ "GROUP_NAME" ] } ] }, "networkInterfaces": [ { "network": "global/networks/NETWORK", "subnetwork": "regions/REGION/subnetworks/SUBNETWORK" } ], "guestAccelerators": [ { "acceleratorType": GPU_TYPE, "acceleratorCount": GPU_COUNT } ], "disks": [ { "boot": true, "initializeParams": { "sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY" } }, { "type":"SCRATCH", "initializeParams":{ "diskType":"zones/LOCAL_SSD_ZONE/diskTypes/local-ssd" }, "autoDelete":true, "interface":"SSD_INTERFACE" } ] } }Ganti kode berikut:
PROJECT_ID: project ID.TEMPLATE_ZONE: zona untuk membuat template instance.INSTANCE_TEMPLATE: nama template instance baru.MACHINE_TYPE_ZONE: zona jenis mesin.MACHINE_TYPE: jenis mesin dari sole-tenant VM. Gunakan metodemachineTypes.listuntuk mendapatkan daftar jenis mesin yang tersedia untuk project tersebut.GROUP_NAME: nama grup node tempat VM akan disediakan. Jika Anda ingin menggunakan template instance ini untuk membuat MIG regional yang ada di lebih dari satu zona, tentukan daftar grup node yang ada di zona yang sama dengan zona MIG regional.NETWORK: URL resource jaringan untuk template instance ini.REGION: region yang berisi subnetwork untuk template instance ini.SUBNETWORK: URL resource subnetwork untuk template instance ini.GPU_TYPE: jenis GPU. Tetapkan ke salah satu jenis akselerator yang ditentukan saat template node dibuat.GPU_COUNT: jumlah GPU dari total yang ditentukan oleh template node yang akan ditambahkan ke VM ini. Nilai defaultnya adalah1.IMAGE_PROJECT: project image dari kelompok image.IMAGE_FAMILY: kelompok image dari image yang akan digunakan untuk membuat VM.LOCAL_SSD_ZONE: zona SSD lokal.SSD_INTERFACE: jenis antarmuka SSD lokal. Setel keNVMEjika driver image boot disk dioptimalkan untuk NVMe, atau disetel keSCSI.
Gunakan metode
instanceGroupManagers.insertuntuk membuat MIG dalam grup sole-tenant node berdasarkan template instance yang dibuat sebelumnya. Atau, jika Anda ingin membuat MIG regional, gunakan metoderegionInstanceGroupManagers.insertdan tentukan region dan zona semua grup node seperti yang ditentukan dalam template instance.Misalnya, untuk membuat MIG zona, gunakan permintaan berikut:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers { "baseInstanceName": "NAME_PREFIX", "name": "INSTANCE_GROUP_NAME", "targetSize": SIZE, "instanceTemplate": "global/instanceTemplates/INSTANCE_TEMPLATE" }Ganti kode berikut:
PROJECT_ID: project ID.ZONE: zona untuk membuat grup instance terkelola.NAME_PREFIX: nama awalan untuk setiap instance dalam grup instance terkelola.INSTANCE_GROUP_NAME: nama untuk grup instance.SIZE: jumlah VM yang akan disertakan dalam grup instance ini. Grup node Anda harus memiliki resource yang cukup untuk mengakomodasi instance dalam grup instance terkelola ini. Gunakan autoscaler grup instance terkelola untuk mengelola ukuran grup instance terkelola secara otomatis.INSTANCE_TEMPLATE: URL template instance yang akan digunakan untuk membuat grup ini. Template harus memiliki label afinitas node yang mengarah ke grup node yang sesuai.
Mengonfigurasi label afinitas node
Dengan label afinitas node, Anda dapat mengelompokkan grup node secara logis dan menjadwalkan VM pada sekumpulan grup node tertentu. Anda juga dapat menggunakan label afinitas node untuk menjadwalkan VM pada grup node di berbagai zona, dan tetap mempertahankan grup node dalam grup logis. Prosedur berikut adalah contoh penggunaan label afinitas untuk mengaitkan VM dengan grup node tertentu yang digunakan untuk beban kerja produksi. Contoh ini menunjukkan cara menjadwalkan satu VM, tetapi Anda juga dapat menggunakan grup instance terkelola untuk menjadwalkan grup VM.
gcloud
Gunakan perintah
gcloud compute sole-tenancy node-templates createuntuk membuat template node dengan serangkaian label afinitas untuk workload produksi:gcloud compute sole-tenancy node-templates create prod-template \ --node-type=n1-node-96-624 \ --node-affinity-labels workload=frontend,environment=prod
Gunakan perintah
gcloud compute sole-tenancy node-templates describeuntuk melihat label afinitas node yang ditetapkan ke template node.Gunakan perintah
gcloud compute sole-tenancy node-groups createuntuk membuat grup node yang menggunakan template produksi:gcloud compute sole-tenancy node-groups create prod-group \ --node-template=prod-template \ --target-size=1
Untuk VM produksi, buat file
node-affinity-prod.jsonuntuk menentukan afinitas VM produksi Anda. Misalnya, Anda dapat membuat file yang menentukan bahwa VM hanya berjalan pada node dengan afinitasworkload=frontenddanenvironment=prod. Buat file afinitas node menggunakan Cloud Shell atau buat di lokasi pilihan Anda.[ { "key" : "workload", "operator" : "IN", "values" : ["frontend"] }, { "key" : "environment", "operator" : "IN", "values" : ["prod"] } ]Gunakan file
node-affinity-prod.jsondengan perintahgcloud compute instances createuntuk menjadwalkan VM di grup node dengan label afinitas yang cocok.gcloud compute instances create prod-vm \ --node-affinity-file node-affinity-prod.json \ --machine-type=n1-standard-2
Gunakan perintah
gcloud compute instances describedan centang kolomschedulinguntuk melihat afinitas node yang ditetapkan ke VM.
Mengonfigurasi label anti-afinitas node
Label afinitas node dapat dikonfigurasi sebagai label anti-afinitas untuk mencegah VM berjalan pada node tertentu. Misalnya, Anda dapat menggunakan label anti-afinitas untuk mencegah VM yang Anda gunakan untuk tujuan pengembangan dijadwalkan di node yang sama dengan VM produksi Anda. Contoh berikut menunjukkan cara menggunakan label minat untuk mencegah VM berjalan pada grup node tertentu. Contoh ini menunjukkan cara menjadwalkan satu VM, tetapi Anda juga dapat menggunakan grup instance terkelola untuk menjadwalkan grup VM.
gcloud
Untuk VM pengembangan, tentukan afinitas VM pengembangan Anda dengan membuat
node-affinity-dev.jsondi Cloud Shell, atau dengan membuatnya di lokasi pilihan Anda. Misalnya, buat file yang mengonfigurasi VM untuk berjalan di grup node mana pun dengan afinitasworkload=frontendselama VM tersebut bukanenvironment=prod:[ { "key" : "workload", "operator" : "IN", "values" : ["frontend"] }, { "key" : "environment", "operator" : "NOT_IN", "values" : ["prod"] } ]Gunakan file
node-affinity-dev.jsondengan perintahgcloud compute instances createuntuk membuat VM pengembangan:gcloud compute instances create dev-vm \ --node-affinity-file=node-affinity-dev.json \ --machine-type=n1-standard-2
Gunakan perintah
gcloud compute instances describedan centang kolomschedulinguntuk melihat anti-afinitas node yang ditetapkan ke VM.
Langkah berikutnya
- Untuk mengetahui informasi tentang harga sole-tenant node, lihat Harga sole-tenant node.
Untuk mendapatkan informasi tentang cara mengaktifkan penskalaan otomatis pada grup sole-tenant node, lihat Autoscaler grup node.
Untuk informasi selengkapnya tentang cara membawa lisensi yang sudah ada ke Google Cloud, lihat Membawa lisensi yang sudah ada.
Untuk mengetahui informasi selengkapnya tentang sole-tenant node, lihat sole-tenant node.