Membuat plugin

Halaman ini menjelaskan cara membuat plugin Service Extensions yang dapat Anda gunakan untuk menerapkan ekstensibilitas dengan Google Cloud layanan.

Fitur ini berada dalam Pratinjau untuk Media CDN.

Untuk ringkasan produk, lihat Ringkasan Service Extensions.

Sebelum memulai

  1. Siapkan dan upload file yang diperlukan untuk membuat plugin.

  2. Dapatkan peran dan izin Identity and Access Management (IAM) yang diperlukan.

  3. Aktifkan Network Services API, jika belum diaktifkan.

    gcloud services enable networkservices.googleapis.com
    
  4. Untuk plugin Media CDN, jika Anda ingin mengaktifkan logging, aktifkan Network Actions API.

    gcloud services enable networkactions.googleapis.com
    

Membuat resource plugin

Membuat resource plugin memerlukan penentuan gambar yang berisi kode plugin dan penentuan label serta opsi logging untuk plugin.

Konsol

Untuk membuat plugin, ikuti langkah-langkah berikut:

  1. Di konsol Google Cloud , buka halaman Service Extensions.

    Buka Ekstensi Layanan

  2. Klik tab Plugin.

  3. Klik Create plugin.

  4. Di bagian Dasar-Dasar, lakukan hal berikut:

    1. Untuk Cakupan, pilih Global atau Regional.

      Jika Anda menetapkan cakupan sebagai Regional, pilih region juga.

    2. Masukkan nama plugin yang unik.

      Nama harus dimulai dengan huruf kecil, diikuti dengan maksimal 62 huruf kecil, angka, atau tanda hubung, dan tidak boleh diakhiri dengan tanda hubung.

    3. Opsional: Masukkan deskripsi singkat tentang plugin menggunakan hingga 1.024 karakter.

  5. Di bagian Wasm image, lakukan hal berikut:

    1. Untuk Nama versi plugin, tentukan nama untuk versi plugin.

      Nama harus dimulai dengan huruf kecil, diikuti dengan maksimal 62 huruf kecil, angka, atau tanda hubung, dan tidak boleh diakhiri dengan tanda hubung.

    2. Opsional: Untuk Deskripsi versi plugin, masukkan deskripsi singkat tentang versi plugin menggunakan hingga 1.024 karakter.

    3. Untuk Image URL, masukkan URL untuk artefak atau image container generik yang memiliki modul Wasm dari panel Artifact Registry. Opsi untuk menggunakan repositori generik tersedia di Pratinjau.

      Jika ingin menentukan image container di repositori Docker, Anda dapat mengklik Select untuk menjelajahi dan memilihnya. Panel Artifact Registry menampilkan folder di repositori yang terhubung ke project saat ini.

      Untuk memilih gambar dari project lain, pastikan Ekstensi Layanan memiliki akses ke gambar tersebut, lalu klik Ubah, di samping nama project.

  6. Opsional: Di bagian Konfigurasi plugin, untuk mengaitkan data konfigurasi dengan plugin, centang kotak Tambahkan konfigurasi plugin, lalu pilih salah satu opsi berikut:

    • Upload file konfigurasi plugin. Jika ukuran file Anda kurang dari 900 KiB dan berada di drive lokal, klik Telusuri untuk menemukan dan memilihnya.

    • Pilih image atau artefak konfigurasi plugin dari Artifact Registry. Masukkan URL untuk artefak atau image container generik yang memiliki modul Wasm dari panel Artifact Registry. Opsi untuk menggunakan repositori generik tersedia di Pratinjau.

      Untuk menentukan image container di repositori Docker, Anda juga dapat mengklik Pilih untuk menjelajahi dan memilihnya. Panel Artifact Registry menampilkan folder di repositori yang terhubung ke project saat ini.

  7. Opsional: Di bagian Labels, klik Add label. Kemudian, di baris yang muncul, lakukan hal berikut:

    1. Untuk Key, masukkan nama kunci.
    2. Untuk Nilai, masukkan nilai untuk kunci.

    Anda dapat menambahkan maksimal 64 pasangan nilai kunci. Untuk menambahkan pasangan nilai kunci lainnya, klik Tambahkan label.

    Untuk mengetahui informasi selengkapnya tentang label, lihat Membuat dan memperbarui label untuk project.

  8. Opsional: Di bagian Logging, pilih Enable logging dan lakukan hal berikut:

    • Untuk Frekuensi pengambilan sampel, tentukan nilai antara 0 dan 1. Nilai 0 menunjukkan bahwa pesan log tidak disimpan. Nilai default 1 menunjukkan bahwa semua pesan log disimpan. Nilai floating point antara 0.0 dan 1.0 menunjukkan bahwa persentase pesan log disimpan.

    • Untuk Minimum log level, pilih tingkat keparahan pesan log plugin minimum yang akan diekspor ke Cloud Logging. Nilai defaultnya adalah Info and higher.

  9. Klik Create.

gcloud

  1. Buat plugin dengan menjalankan perintah gcloud service-extensions wasm-plugins create:

    gcloud service-extensions wasm-plugins create WASM_PLUGIN \
        --description=PLUGIN_DESCRIPTION \
        --location=LOCATION \
        --labels=[LABELS,...] \
        --log-config=[LOG_CONFIG,...] \
        --image=IMAGE \
        --main-version=MAIN_VERSION \
        --plugin-config=PLUGIN_CONFIG | --plugin-config-file=PLUGIN_CONFIG_FILE | --plugin-config-uri=PLUGIN_CONFIG_URI
    

    Ganti kode berikut:

    • WASM_PLUGIN: ID atau nama plugin yang memenuhi syarat sepenuhnya
    • PLUGIN_DESCRIPTION: deskripsi plugin
    • LOCATION: lokasi plugin sebagai global atau region
    • LABELS: label dalam bentuk pasangan nilai kunci yang dipisahkan dengan koma
    • LOG_CONFIG: opsi logging untuk plugin. Jika opsi enable disetel ke false, log tidak akan direkam untuk plugin. Untuk mengaktifkan logging, setel opsi enable ke true. Kemudian, tentukan detail berikut:

      • sample-rate: frekuensi sampling log aktivitas sebagai nilai antara 0 dan 1. Nilai 0 menunjukkan bahwa pesan log tidak disimpan. Nilai default 1 menunjukkan bahwa semua pesan log disimpan. Nilai floating point antara 0.0 dan 1.0 menunjukkan bahwa persentase pesan log disimpan.

      • min-log-level: tingkat keparahan minimum pesan log plugin yang akan diekspor ke Cloud Logging. Nilai defaultnya adalah INFO.

    • IMAGE: URI artefak yang berisi modul Wasm yang disimpan di repositori Artifact Registry. Sebelum Anda menentukan image container dari project lain, pastikan Ekstensi Layanan memiliki akses ke image tersebut.

    • MAIN_VERSION: ID versi plugin yang akan dibuat dan ditetapkan sebagai versi utama (aktif)

    • PLUGIN_CONFIG, PLUGIN_CONFIG_FILE, atau PLUGIN_CONFIG_URI: data konfigurasi opsional, yang dapat ditentukan sebagai teks, file lokal, atau image container di Artifact Registry

    Contoh:

    gcloud service-extensions wasm-plugins create my-plugin \
        --description="This is my plugin." \
        --log-config=enable=true,sample-rate=0.5,min-log-level=INFO \
        --labels=key1=value1,key2=value2 \
        --image=...-docker.pkg.dev/my-project/repository/container:tag \
        --main-version=v1 \
        --plugin-config-file=config.txt
    

    Untuk men-deploy versi baru, gunakan perintah gcloud service-extensions wasm-plugins update. Tentukan nama image dan versi baru:

    gcloud service-extensions wasm-plugins update my-plugin \
        --image=...-docker.pkg.dev/my-project/repository/container:tag \
        --main-version=v2
    

Untuk menjalankan plugin ini, Anda dapat mengonfigurasi ekstensi Cloud Load Balancing dan ekstensi Media CDN.

Mengakses gambar di project lain

Sebelum Anda dapat memilih gambar dari project lain, agen layanan Ekstensi Layanan harus memiliki akses ke repositori project dan, bergantung pada cara paket modul Wasm Anda, salah satu izin berikut di project:

  • Untuk artefak umum: artifactregistry.files.download
  • Untuk image container: artifactregistry.repositories.downloadArtifacts

Agen layanan Ekstensi Layanan diberi nama sebagai berikut:

service-PROJECT_NUMBER@gcp-sa-networkactions.iam.gserviceaccount.com

Ganti PROJECT_NUMBER dengan nomor project Anda.

Langkah berikutnya