Halaman ini menjelaskan cara membuat plugin Service Extensions yang dapat Anda gunakan untuk menerapkan ekstensibilitas dengan layanan Google Cloud .
Fitur ini berada dalam Pratinjau untuk Media CDN.
Untuk ringkasan produk, lihat Ringkasan Service Extensions.
Sebelum memulai
Siapkan dan upload file yang diperlukan untuk membuat plugin.
Dapatkan peran dan izin Identity and Access Management (IAM) yang diperlukan.
Aktifkan Network Services API, jika belum diaktifkan.
gcloud services enable networkservices.googleapis.com
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 image yang berisi kode plugin serta penentuan label dan opsi logging untuk plugin.
Konsol
Untuk membuat plugin, ikuti langkah-langkah berikut:
Di konsol Google Cloud , buka halaman Service Extensions.
Klik tab Plugins.
Klik Create plugin.
Di bagian Basics, lakukan hal berikut:
Untuk Scope, pilih Global atau Regional.
Jika Anda menetapkan cakupan sebagai Regional, pilih juga regionnya.
Masukkan nama plugin yang unik.
Nama harus diawali dengan huruf kecil yang diikuti dengan maksimal 62 huruf kecil, angka, atau tanda hubung, dan tidak boleh diakhiri dengan tanda hubung.
Opsional: Masukkan deskripsi singkat tentang plugin menggunakan maksimal 1.024 karakter.
Di bagian Wasm image, lakukan hal berikut:
Untuk Plugin version name, tentukan nama untuk versi plugin.
Nama harus diawali dengan huruf kecil yang diikuti dengan maksimal 62 huruf kecil, angka, atau tanda hubung, dan tidak boleh diakhiri dengan tanda hubung.
Opsional: Untuk Plugin version description, masukkan deskripsi singkat tentang versi plugin menggunakan maksimal 1.024 karakter.
Untuk Image URL, masukkan URL untuk artefak generik atau image container yang memiliki modul Wasm dari panel Artifact Registry. Opsi untuk menggunakan repositori generik tersedia dalam Pratinjau.
Jika ingin menentukan image container di repositori Docker, Anda juga dapat mengklik Select untuk menjelajahi dan memilihnya. Panel Artifact Registry menampilkan folder di repositori yang terhubung ke project saat ini.
Untuk memilih image dari project lain, pastikan Service Extensions memiliki akses ke image tersebut, lalu klik Change, di samping nama project.
Opsional: Di bagian Plugin configuration, untuk mengaitkan data konfigurasi dengan plugin, pilih kotak centang Add plugin configuration, lalu pilih salah satu opsi berikut:
Upload file konfigurasi plugin. Jika ukuran file Anda kurang dari 900 KiB dan berada di drive lokal, klik Browse untuk menemukan dan memilihnya.
Pilih image atau artefak konfigurasi plugin dari Artifact Registry. Masukkan URL untuk artefak generik atau image container yang memiliki modul Wasm dari panel Artifact Registry. Opsi untuk menggunakan repositori generik tersedia dalam Pratinjau.
Untuk menentukan image container di repositori Docker, Anda juga dapat mengklik Select untuk menjelajahi dan memilihnya. Panel Artifact Registry menampilkan folder di repositori yang terhubung ke project saat ini.
Opsional: Di bagian Labels, klik Add label. Kemudian, di baris yang muncul, lakukan tindakan berikut:
- Untuk Key, masukkan nama kunci.
- Untuk Value, masukkan nilai untuk kunci.
Anda dapat menambahkan maksimum 64 key-value pair. Untuk menambahkan lebih banyak pasangan nilai kunci, klik Tambahkan label.
Untuk mengetahui informasi selengkapnya tentang label, lihat Membuat dan memperbarui label untuk project.
Di bagian Encryption, pilih mekanisme enkripsi untuk plugin. Opsi ini hanya tersedia untuk plugin regional.
- Kunci enkripsi yang dikelola Google. Mengenkripsi konten plugin dengan mekanisme enkripsi default Google.
- Kunci Cloud KMS. Enkripsi konten plugin dengan kunci enkripsi yang dikelola pelanggan yang dibuat menggunakan Cloud Key Management Service. Dalam hal ini, untuk Key management type, pilih Cloud KMS. Kemudian, pilih kunci Cloud KMS.
Opsional: Di bagian Logging, pilih Enable logging dan lakukan hal berikut:
Untuk Frekuensi sampel, tentukan nilai antara
0dan1. Nilai0menunjukkan bahwa pesan log tidak disimpan. Nilai default1menunjukkan bahwa semua pesan log disimpan. Nilai floating point antara0.0dan1.0menunjukkan bahwa persentase pesan log disimpan.Untuk Minimum log level, pilih tingkat keparahan minimum pesan log plugin yang akan diekspor ke Cloud Logging. Nilai defaultnya adalah
Info and higher.
Klik Create.
gcloud
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 \ --kms-key-name=KEY_NAMEGanti kode berikut:
WASM_PLUGIN: ID atau nama plugin yang sepenuhnya memenuhi syaratPLUGIN_DESCRIPTION: deskripsi pluginLOCATION: lokasi plugin sebagaiglobalatau regionLABELS: label dalam bentuk pasangan nilai kunci yang dipisahkan dengan komaLOG_CONFIG: opsi logging untuk plugin. Jika opsienableditetapkan kefalse, log tidak akan diambil untuk plugin. Untuk mengaktifkan logging, tetapkan opsienableketrue. Kemudian, tentukan detail berikut:sample-rate: frekuensi sampling log aktivitas sebagai nilai antara0dan1. Nilai0menunjukkan bahwa pesan log tidak disimpan. Nilai default1menunjukkan bahwa semua pesan log disimpan. Nilai floating point antara0.0dan1.0menunjukkan bahwa persentase pesan log disimpan.min-log-level: tingkat keparahan minimum pesan log plugin yang akan diekspor ke Cloud Logging. Nilai defaultnya adalahINFO.
IMAGE: URI artefak yang berisi modul Wasm yang disimpan di repositori Artifact Registry. Sebelum Anda menentukan image container dari project lain, pastikan Service Extensions memiliki akses ke image tersebut.MAIN_VERSION: ID versi plugin yang akan dibuat dan ditetapkan sebagai versi utama (aktif).PLUGIN_CONFIG,PLUGIN_CONFIG_FILE, atauPLUGIN_CONFIG_URI: data konfigurasi opsional, yang dapat ditentukan sebagai teks, file lokal, atau image container di Artifact Registry.KEY_NAME: untuk plugin regional, nama yang sepenuhnya memenuhi syarat dari kunci enkripsi yang dikelola pelanggan dalam format berikut:projects/PROJECT/locations/LOCATION/keyRings/KEYRING_NAME/cryptoKeys/KEY_NAME.Ganti kode berikut:
PROJECT: ID project yang berisi kunciLOCATION: lokasi kunciKEYRING_NAME: nama key ringKEY_NAME: adalah nama kunci
Jika opsi ini tidak ditentukan, mekanisme enkripsi default Google akan digunakan.
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.txtUntuk 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 image di project lain
Sebelum Anda dapat memilih image dari project lain, agen layanan Service Extensions harus memiliki akses ke repositori project dan, bergantung pada cara modul Wasm Anda dipaketkan, salah satu izin berikut pada project:
- Untuk artefak generik:
artifactregistry.files.download - Untuk image container:
artifactregistry.repositories.downloadArtifacts
Agen layanan Service Extensions diberi nama sebagai berikut:
service-PROJECT_NUMBER@gcp-sa-networkactions.iam.gserviceaccount.com
Ganti PROJECT_NUMBER dengan nomor project Anda.
Langkah berikutnya
- Lihat Load Balancer Aplikasi yang didukung untuk plugin Cloud Load Balancing.
- Pelajari cara mengonfigurasi ekstensi edge, ekstensi rute, dan ekstensi traffic Cloud Load Balancing menggunakan plugin.
- Pelajari cara mengonfigurasi ekstensi edge Media CDN.
- Pelajari cara mengelola plugin.
- Lihat ringkasan Service Extensions.