Membagikan grup sole-tenant node

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.

Diagram grup node yang digunakan bersama di seluruh project. Departemen
            yang mengelola VM di project yang berbeda 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

    1. Instal Google Cloud CLI, lalu initialize dengan menjalankan perintah berikut:

      gcloud init
    2. 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

  1. Buat grup sole-tenant node. Untuk mengetahui informasi selengkapnya, lihat Membuat grup sole-tenant node.

  2. 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 ke projects untuk berbagi dengan project tertentu, atau tetapkan ke organization untuk berbagi dengan seluruh organisasi.

  • PROJECTS: daftar project ID atau nomor project yang akan diajak berbagi grup node. Hanya diperlukan jika Anda menetapkan SHARE_SETTING ke projects.

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 ke SPECIFIC_PROJECTS untuk berbagi dengan project tertentu, atau tetapkan ke ORGANIZATION untuk berbagi dengan seluruh organisasi.

  • PROJECTS: daftar project ID atau nomor project yang akan diajak berbagi grup node. Hanya diperlukan jika Anda menetapkan SHARE_TYPE ke SPECIFIC_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

  1. Di konsol Google Cloud, beralihlah ke project yang telah Anda ajak berbagi grup node.

  2. Buka halaman VM instances.

    Buka VM instances

  3. Klik Create instance.

  4. Di Zone, pilih zona grup node bersama.

  5. Di Machine configuration > Series, pilih jenis mesin yang sama dengan yang ditentukan oleh template grup sole-tenant node bersama.

  6. Buka Advanced options > Sole-tenancy > Browse.

  7. Pilih Select project dan tentukan project yang berisi grup node bersama.

  8. 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 bersama

  • MACHINE_TYPE: jenis mesin untuk VM sole-tenant baru

  • NODE_GROUP: nama grup node bersama untuk membuat VM sole-tenant di

  • NODE_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

  1. Di konsol Google Cloud, buka halaman Sole-tenant nodes.

    Buka Sole-tenant nodes

  2. 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 berbagi

  • ZONE: 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

  1. Di konsol Google Cloud, buka halaman Sole-tenant nodes.

    Buka Sole-tenant nodes

  2. Di kolom Nama, klik nama grup node.

  3. 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 ke projects untuk berbagi dengan project tertentu, atau tetapkan ke organization untuk berbagi dengan seluruh organisasi.

  • PROJECTS: daftar project ID atau nomor project yang akan diajak berbagi grup node. Hanya diperlukan jika Anda menetapkan SHARE_SETTING ke projects.

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 ke projects untuk berbagi dengan project tertentu, atau tetapkan ke organization untuk berbagi dengan seluruh organisasi.

  • PROJECTS: daftar project ID atau nomor project yang akan diajak berbagi grup node. Hanya diperlukan jika Anda menetapkan SHARE_SETTING ke SPECIFIC_PROJECTS.

Berhenti membagikan grup node

Untuk berhenti membagikan grup node kepada project lain atau seluruh organisasi, gunakan gcloud CLI atau REST.

Konsol

  1. Di konsol Google Cloud, buka halaman Sole-tenant nodes.

    Buka Sole-tenant nodes

  2. Klik Nama grup node.

  3. Di Overview > Shared with, klik Edit .

  4. 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 dibagikan

  • ZONE: zona yang berisi grup node yang akan berhenti dibagikan

  • NODE_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

  1. Di konsol Google Cloud, buka halaman Sole-tenant nodes.

    Buka Sole-tenant nodes

  2. Di kolom Nama, klik nama grup node.

  3. 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 dihapus

  • ZONE: zona yang berisi grup node yang akan dihapus

  • NODE_GROUP: nama grup node yang akan dihapus