Auf dieser Seite wird beschrieben, wie Sie Service Extensions-Plug-ins erstellen, mit denen Sie die Erweiterbarkeit mit Google Cloud -Diensten implementieren können.
Dieses Feature befindet sich im Vorschaumodus für Media CDN.
Eine Produktübersicht finden Sie unter Übersicht über Diensterweiterungen.
Hinweise
Vorbereiten und Hochladen der erforderlichen Dateien zum Erstellen eines Plug‑ins
Erforderliche IAM-Rollen und -Berechtigungen (Identity and Access Management) abrufen
Aktivieren Sie die Network Services API, falls sie noch nicht aktiviert ist.
gcloud services enable networkservices.googleapis.com
Wenn Sie für Media CDN-Plug-ins das Logging aktivieren möchten, müssen Sie die Network Actions API aktivieren.
gcloud services enable networkactions.googleapis.com
Plug‑in-Ressource erstellen
Zum Erstellen einer Plug‑in-Ressource müssen Sie ein Image mit dem Plug‑in-Code angeben sowie Labels und Logging-Optionen für das Plug‑in.
Console
So erstellen Sie ein Plug-in:
Rufen Sie in der Google Cloud Console die Seite Diensterweiterungen auf.
Klicken Sie auf den Tab Plugins.
Klicken Sie auf Plug-in erstellen.
Führen Sie im Abschnitt Grundlagen folgende Schritte aus:
Wählen Sie unter Umfang entweder Global oder Regional aus.
Wenn Sie den Bereich auf Regional festlegen, wählen Sie auch die Region aus.
Geben Sie einen eindeutigen Plug-in-Namen ein.
Der Name muss mit einem Kleinbuchstaben beginnen, gefolgt von bis zu 62 Kleinbuchstaben, Ziffern oder Bindestrichen. Das letzte Zeichen darf kein Bindestrich sein.
Optional: Geben Sie eine kurze Beschreibung des Plugins mit bis zu 1.024 Zeichen ein.
Führen Sie im Abschnitt Wasm-Image folgende Schritte aus:
Geben Sie unter Name der Plug-in-Version einen Namen für die Plug-in-Version an.
Der Name muss mit einem Kleinbuchstaben beginnen, gefolgt von bis zu 62 Kleinbuchstaben, Ziffern oder Bindestrichen. Das letzte Zeichen darf kein Bindestrich sein.
Optional: Geben Sie unter Beschreibung der Plug-in-Version eine kurze Beschreibung der Plug-in-Version mit bis zu 1.024 Zeichen ein.
Geben Sie für Image-URL die URL für das generische Artefakt oder Container-Image mit dem Wasm-Modul aus dem Bereich „Artifact Registry“ ein. Die Option, ein generisches Repository zu verwenden, befindet sich in der Vorschau.
Wenn Sie ein Container-Image in einem Docker-Repository angeben möchten, können Sie alternativ auf Auswählen klicken, um es zu suchen und auszuwählen. Im Bereich „Artifact Registry“ werden die Ordner im Repository angezeigt, das mit dem aktuellen Projekt verbunden ist.
Wenn Sie ein Bild aus einem anderen Projekt auswählen möchten, muss Service Extensions Zugriff darauf haben. Klicken Sie dann neben dem Projektnamen auf Ändern.
Optional: Wenn Sie im Abschnitt Plug‑in-Konfiguration die Konfigurationsdaten mit dem Plug‑in verknüpfen möchten, setzen Sie ein Häkchen bei Plug‑in-Konfiguration hinzufügen und wählen Sie eine der folgenden Optionen aus:
Datei für Plug-in-Konfiguration hochladen: Wenn die Dateigröße weniger als 900 KiB beträgt und die Datei auf einem lokalen Laufwerk gespeichert ist, klicken Sie auf Durchsuchen, um sie zu suchen und auszuwählen.
Image oder Artefakt für die Plug‑in-Konfiguration aus Artifact Registry auswählen Geben Sie im Bereich „Artifact Registry“ die URL für das generische Artefakt oder Container-Image mit dem Wasm-Modul ein. Die Option, ein generisches Repository zu verwenden, befindet sich in der Vorschau.
Wenn Sie ein Container-Image in einem Docker-Repository angeben möchten, können Sie alternativ auf Auswählen klicken, um es zu suchen und auszuwählen. Im Bereich „Artifact Registry“ werden die Ordner im Repository angezeigt, das mit dem aktuellen Projekt verbunden ist.
Optional: Klicken Sie im Bereich Labels auf Label hinzufügen. Führen Sie dann in der angezeigten Zeile die folgenden Schritte aus:
- Geben Sie für Schlüssel einen Schlüsselnamen ein.
- Geben Sie für Wert einen Wert für den Schlüssel ein.
Sie können maximal 64 Schlüssel/Wert-Paare hinzufügen. Wenn Sie weitere Schlüssel/Wert-Paare hinzufügen möchten, klicken Sie auf Label hinzufügen.
Weitere Informationen zu Labels finden Sie unter Labels für Projekte erstellen und aktualisieren.
Optional: Wählen Sie im Bereich Logging die Option Logging aktivieren aus und gehen Sie so vor:
Geben Sie für Abtastrate einen Wert zwischen
0und1an. Der Wert0gibt an, dass keine Log-Nachrichten gespeichert werden. Der Standardwert1gibt an, dass alle Log-Nachrichten gespeichert werden. Ein Gleitkommawert zwischen0.0und1.0gibt an, dass ein Prozentsatz der Log-Nachrichten gespeichert wird.Wählen Sie für Mindestlogebene den MindestSchweregrad von Plug-in-Lognachrichten aus, die nach Cloud Logging exportiert werden sollen. Der Standardwert ist
Info and higher.
Klicken Sie auf Erstellen.
gcloud
Erstellen Sie ein Plug-in mit dem
gcloud service-extensions wasm-plugins create-Befehl: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_URIErsetzen Sie Folgendes:
WASM_PLUGIN: die ID oder der voll qualifizierte Name des Plug-insPLUGIN_DESCRIPTION: eine Beschreibung des PluginsLOCATION: Der Standort des Plug-ins alsglobaloder eine RegionLABELS: Labels in Form von Schlüssel/Wert-Paaren, die durch Kommas getrennt sindLOG_CONFIG: Logging-Optionen für das Plug-in. Wenn die Optionenableauffalsegesetzt ist, werden keine Logs für das Plug-in erfasst. Wenn Sie das Logging aktivieren möchten, legen Sie die Optionenableauftruefest. Geben Sie dann die folgenden Details an:sample-rate: Die Samplingrate von Aktivitätsprotokollen als Wert zwischen0und1. Der Wert0gibt an, dass keine Log-Nachrichten gespeichert werden. Der Standardwert1gibt an, dass alle Log-Nachrichten gespeichert werden. Ein Gleitkommawert zwischen0.0und1.0gibt an, dass ein Prozentsatz der Log-Nachrichten gespeichert wird.min-log-level: die minimale Schweregradstufe von Plug-in-Log-Meldungen, die nach Cloud Logging exportiert werden sollen. Der Standardwert istINFO.
IMAGE: Der URI des Artefakts, das das Wasm-Modul enthält, das im Artifact Registry-Repository gespeichert ist. Bevor Sie ein Container-Image aus einem anderen Projekt angeben, müssen Sie dafür sorgen, dass Service Extensions darauf zugreifen kann.MAIN_VERSION: Die ID der Plugin-Version, die erstellt und als Hauptversion (aktiv) festgelegt werden soll.PLUGIN_CONFIG,PLUGIN_CONFIG_FILEoderPLUGIN_CONFIG_URI: die optionalen Konfigurationsdaten, die als Text, lokale Datei oder Container-Image in Artifact Registry angegeben werden können
Beispiel:
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.txtVerwenden Sie zum Bereitstellen einer neuen Version den
gcloud service-extensions wasm-plugins update-Befehl. Geben Sie einen neuen Namen für das Image und die Version an:gcloud service-extensions wasm-plugins update my-plugin \ --image=...-docker.pkg.dev/my-project/repository/container:tag \ --main-version=v2
Zum Ausführen dieser Plug-ins können Sie Cloud Load Balancing-Erweiterungen und Media CDN-Erweiterungen konfigurieren.
Auf Bilder in einem anderen Projekt zugreifen
Bevor Sie Bilder aus einem anderen Projekt auswählen können, muss der Dienst-Agent für Dienst-Erweiterungen Zugriff auf das Projekt-Repository haben und, je nachdem, wie Ihr Wasm-Modul verpackt ist, eine der folgenden Berechtigungen für das Projekt:
- Für generische Artefakte:
artifactregistry.files.download - Für Container-Images:
artifactregistry.repositories.downloadArtifacts
Der Dienst-Agent für Diensterweiterungen hat den folgenden Namen:
service-PROJECT_NUMBER@gcp-sa-networkactions.iam.gserviceaccount.com
Ersetzen Sie PROJECT_NUMBER durch Ihre Projektnummer.
Nächste Schritte
- Informationen zu Cloud Load Balancing-Plug-ins finden Sie unter Unterstützte Application Load Balancer.
- Informationen zum Konfigurieren von Edge-Erweiterungen, Routen-Erweiterungen und Traffic-Erweiterungen für Cloud Load Balancing mithilfe von Plug-ins
- Informationen zum Anhängen von Media CDN-Plug‑ins an Routen
- Informationen zum Verwalten von Plugins
- Weitere Informationen finden Sie unter Übersicht über Diensterweiterungen.