Menginstal ekstensi VM dengan membuat kebijakan ekstensi

Dokumen ini menjelaskan cara membuat kebijakan ekstensi VM, yang memungkinkan Anda menginstal dan mengelola ekstensi secara otomatis di sejumlah mesin virtual (VM) Compute Engine. Dengan menentukan kebijakan, Anda dapat memastikan bahwa ekstensi tertentu diinstal dan dikelola di VM mana pun yang cocok dengan kriteria yang Anda tentukan, seperti label VM.

Sebelum memulai

Peran IAM yang diperlukan

Untuk mendapatkan izin yang diperlukan untuk membuat kebijakan ekstensi, minta administrator untuk memberi Anda peran IAM VM Extension Policy Admin (roles/compute.vmExtensionPolicyAdmin). Untuk mengetahui informasi selengkapnya tentang pemberian peran, lihat Mengelola akses ke project, folder, dan organisasi.

Peran bawaan ini berisi izin compute.vmExtensionPolicies.create, yang diperlukan untuk membuat kebijakan ekstensi.

Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.

Untuk mengetahui informasi selengkapnya tentang peran dan izin IAM di Compute Engine, lihat Peran dan izin Compute Engine.

Membuat kebijakan ekstensi VM

Gunakan salah satu metode berikut untuk membuat kebijakan ekstensi VM. Kebijakan ini menentukan ekstensi mana yang akan diinstal dan di VM mana.

Konsol

  1. Di konsol Google Cloud , buka halaman VM extension policies.

    Buka kebijakan ekstensi VM

  2. Klik Create extension policy.
  3. Di kolom Name, masukkan nama untuk kebijakan.
  4. Opsional: Di kolom Description, masukkan deskripsi untuk kebijakan.
  5. Di kolom Priority, tentukan nomor prioritas untuk menyelesaikan konflik antar-kebijakan. Angka yang lebih rendah menunjukkan prioritas yang lebih tinggi. Nilai defaultnya adalah 1.000.
  6. Dalam daftar Zone, pilih zona tempat Anda ingin menerapkan kebijakan ini.
  7. Di bagian Ekstensi, klik Tambahkan ekstensi dan lakukan hal berikut untuk setiap ekstensi yang ingin Anda instal di VM target:
    1. Dari daftar Ekstensi, pilih ekstensi. Lihat Ekstensi yang didukung.
    2. Dari daftar Versi, tentukan nomor versi ekstensi. Kosongkan untuk memilih versi terbaru.
      • Untuk Ops Agent, Anda dapat menentukan versi 2.58.0 atau yang lebih baru.
      • Untuk workload Extension for SAP dan Extension for Compute, kosongkan kolom ini untuk memilih versi terbaru.
    3. Opsional: Di kolom Config file content, masukkan parameter konfigurasi untuk ekstensi.
  8. Di bagian Target VM instances, pilih VM untuk kebijakan. Untuk memilih VM dengan label tertentu, klik Tambahkan label dan tambahkan pasangan nilai kunci.
  9. Klik Create.

gcloud

Untuk membuat kebijakan ekstensi VM dan meluncurkan kebijakan ke VM di zona tertentu, gunakan perintah gcloud beta compute zone-vm-extension-policies create:

gcloud beta compute zone-vm-extension-policies create POLICY_NAME \
    --zone=ZONE \
    --description="DESCRIPTION" \
    --extensions=EXTENSION_NAME_1,EXTENSION_NAME_2 \
    --version=EXTENSION_NAME_1=VERSION_1,EXTENSION_NAME_2=VERSION_2 \
    --config-from-file=EXTENSION_NAME_1=CONFIG_FILE_PATH_1,EXTENSION_NAME_2=CONFIG_FILE_PATH_2 \
    --inclusion-labels=KEY_1=VALUE_1 \
    --priority=PRIORITY

Ganti kode berikut:

  • POLICY_NAME: nama untuk kebijakan ekstensi VM.
  • ZONE: zona tempat kebijakan ini berlaku.
  • DESCRIPTION: deskripsi opsional untuk kebijakan.
  • EXTENSION_NAME_1,EXTENSION_NAME_2: daftar ekstensi yang dipisahkan koma untuk ditambahkan ke kebijakan. Anda harus menentukan setidaknya satu ekstensi. Nilai yang valid untuk ekstensi adalah:
    • ops-agent
    • google-cloud-sap-extension
    • google-cloud-workload-extension
  • EXTENSION_NAME_1=VERSION_1,EXTENSION_NAME_2=VERSION_2: daftar pasangan nilai kunci yang dipisahkan koma, dengan kunci adalah nama ekstensi dan nilai adalah versi ekstensi. Jika Anda tidak menentukan versi untuk ekstensi, VM Extension Manager akan menggunakan versi terbaru yang tersedia dan mengupgradenya secara otomatis saat versi baru tersedia.

  • EXTENSION_NAME_1=CONFIG_FILE_PATH_1,EXTENSION_NAME_2=CONFIG_FILE_PATH_2: daftar pasangan nilai kunci yang dipisahkan koma, dengan kunci adalah nama ekstensi dan nilai adalah jalur ke file konfigurasi untuk ekstensi tersebut. Jalur ini ada di VM tempat Anda menjalankan perintah gcloud, bukan di VM tempat Anda menginstal ekstensi.

    Atau, untuk memberikan konfigurasi sebagai string inline, gunakan flag --config, bukan --config-from-file—misalnya, EXTENSION_NAME_1="CONFIG_1". Anda dapat menggunakan --config-from-file atau --config, tetapi tidak keduanya dalam perintah yang sama.

  • KEY_1=VALUE_1: daftar pasangan nilai kunci yang dipisahkan koma yang menentukan label penyertaan untuk pemilih. VM harus memiliki semua label yang ditentukan dalam pemilih agar dapat ditargetkan. Jika Anda menentukan --inclusion-labels beberapa kali, kebijakan menargetkan VM yang cocok dengan salah satu pemilih yang diberikan (OR logis). Jika Anda menghapus tanda ini, kebijakan akan menargetkan semua VM di zona yang ditentukan.

  • PRIORITY: bilangan bulat dari 0 hingga 65535 yang menentukan prioritas kebijakan. Angka yang lebih rendah menunjukkan prioritas yang lebih tinggi. Nilai defaultnya adalah 1.000.

    Perintah akan gagal jika kebijakan dengan nama yang ditentukan sudah ada di zona.

Contoh 1

Perintah berikut akan membuat kebijakan bernama test-extension-policy yang menginstal ekstensi ops-agent di zona us-central1-f untuk project test-project. Flag --config-from-file menentukan jalur ke file lokal yang berisi konfigurasi YAML untuk Ops Agent.

gcloud beta compute zone-vm-extension-policies create test-extension-policy  \
    --project=test-project \
    --zone=us-central1-f \
    --extensions=ops-agent \
    --config-from-file=ops-agent="/usr/ops-agent-config.yaml"

Contoh 2

Perintah berikut akan membuat kebijakan bernama test-extension-policy-2 yang menginstal ekstensi ops-agent di zona us-central1-f untuk project test-project di VM dengan label env=prod. Prioritas kebijakan ditetapkan ke 500, dan flag --config-from-file menentukan jalur ke file lokal yang berisi konfigurasi YAML untuk Agen Operasi.

 gcloud beta compute zone-vm-extension-policies create test-extension-policy-2  \
    --project=test-project \
    --zone=us-central1-f \
    --extensions=ops-agent \
    --config-from-file=ops-agent="/usr/ops-agent-config.yaml" \
    --priority=500 \
    --inclusion-labels=env=prod

Langkah berikutnya