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 für Media CDN in der Vorschau.
Eine Produktübersicht finden Sie unter Übersicht über Diensterweiterungen.
Hinweis
Bereiten Sie die Dateien vor, die zum Erstellen eines Plug‑ins erforderlich sind , und laden Sie sie hoch.
Rufen Sie die erforderlichen IAM-Rollen und ‑Berechtigungen ab.
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, aktivieren Sie die Network Actions API.
gcloud services enable networkactions.googleapis.com
Plug‑in-Ressource erstellen
Zum Erstellen einer Plug‑in-Ressource müssen Sie ein Image angeben, das den Plug‑in-Code enthält, 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 Plug‑ins.
Klicken Sie auf Plug‑in erstellen.
Führen Sie im Abschnitt Grundlagen folgende Schritte aus:
Wählen Sie unter Bereich 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 Plug‑ins 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 unter 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 Image aus einem anderen Projekt auswählen möchten, prüfen Sie, ob Service Extensions Zugriff darauf hat, und 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, klicken Sie das Kästchen Plug‑in-Konfiguration hinzufügen an 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 sich die Datei auf einem lokalen Laufwerk befindet, klicken Sie auf Durchsuchen , um sie zu suchen und auszuwählen.
Image oder Artefakt für Plug‑in-Konfiguration aus Artifact Registry auswählen. Geben Sie 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.
Optional: Klicken Sie im Abschnitt Labels auf Label hinzufügen. Führen Sie dann in der angezeigten Zeile folgende Schritte aus:
- Geben Sie unter Schlüssel einen Schlüsselnamen ein.
- Geben Sie unter 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.
Wählen Sie im Abschnitt Verschlüsselung den Verschlüsselungsmechanismus für das Plug‑in aus. Diese Option ist nur für regionale Plug‑ins verfügbar.
- Von Google verwalteter Verschlüsselungsschlüssel. Verschlüsseln Sie Plug‑in-Inhalte mit dem standardmäßigen Verschlüsselungsmechanismus von Google.
- Cloud KMS-Schlüssel. Verschlüsseln Sie Plug‑in-Inhalte mit einem vom Kunden verwalteten Verschlüsselungsschlüssel , der mit dem Cloud Key Management Service erstellt wurde. Wählen Sie in diesem Fall unter Schlüsselverwaltungstyp die Option Cloud KMS aus. Wählen Sie dann einen Cloud KMS-Schlüssel aus.
Optional: Wählen Sie im Abschnitt Logging die Option Logging aktivieren aus und führen Sie folgende Schritte aus:
Geben Sie unter Stichprobenrate einen Wert zwischen
0und1an. Der Wert0gibt an, dass keine Logmeldungen gespeichert werden. Der Standardwert1gibt an, dass alle Logmeldungen gespeichert werden. Ein Gleitkommawert zwischen0.0und1.0gibt an, dass ein bestimmter Prozentsatz der Logmeldungen gespeichert wird.Wählen Sie unter Mindestlogebene die Mindest Schweregradstufe der Plug‑in-Logmeldungen aus, die nach Cloud Logging exportiert werden sollen. Der Standard wert ist
Info and higher.
Klicken Sie auf Erstellen.
gcloud
Erstellen Sie ein Plug‑in mit dem
gcloud service-extensions wasm-plugins createBefehl: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_NAMEErsetzen Sie Folgendes:
WASM_PLUGIN: die ID oder der voll qualifizierte Name des Plug‑insPLUGIN_DESCRIPTION: eine Beschreibung des Plug‑insLOCATION: der Standort des Plug‑ins alsglobaloder eine RegionLABELS: Labels in Form von durch Kommas getrennten Schlüssel/Wert-PaarenLOG_CONFIG: Logging-Optionen für das Plug‑in. Wenn die Optionenableauffalsegesetzt ist, werden keine Logs für das Plug‑in erfasst. Setzen Sie die Optionenableauftrue, um das Logging zu aktivieren. Geben Sie dann die folgenden Details an:sample-rate: die Stichprobenrate der Aktivitätslogs als Wert zwischen0und1. Der Wert0gibt an, dass keine Logmeldungen gespeichert werden. Der Standardwert1gibt an, dass alle Logmeldungen gespeichert werden. Ein Gleitkommawert zwischen0.0und1.0gibt an, dass ein bestimmter Prozentsatz der Logmeldungen gespeichert wird.min-log-level: die Mindestschweregradstufe der Plug‑in-Logmeldungen, die nach Cloud Logging exportiert werden sollen. Der Standardwert istINFO.
IMAGE: der URI des Artefakts mit dem Wasm-Modul, das im Artifact Registry-Repository gespeichert ist. Bevor Sie ein Container-Image aus einem anderen Projekt angeben, prüfen Sie, ob Service Extensions Zugriff darauf hat.MAIN_VERSION: die ID der Plug‑in-Version, die erstellt und als Hauptversion (aktive Version) festgelegt werden soll.PLUGIN_CONFIG,PLUGIN_CONFIG_FILE, oderPLUGIN_CONFIG_URI: die optionalen Konfigurationsdaten, die als Text, lokale Datei oder Container-Image in Artifact Registry angegeben werden können.KEY_NAME: für regionale Plug‑ins der voll qualifizierte Name des vom Kunden verwalteten Verschlüsselungsschlüssels im folgenden Format:projects/PROJECT/locations/LOCATION/keyRings/KEYRING_NAME/cryptoKeys/KEY_NAME.Ersetzen Sie Folgendes:
PROJECT: die ID des Projekts, das den Schlüssel enthältLOCATION: der Speicherort des SchlüsselsKEYRING_NAME: der Name des SchlüsselbundsKEY_NAME: der Schlüsselname
Wenn diese Option nicht angegeben ist, wird der standardmäßige Verschlüsselungsmechanismus von Google verwendet.
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 den
gcloud service-extensions wasm-plugins updateBefehl, um eine neue Version bereitzustellen. Geben Sie ein neues Image und einen neuen Versionsnamen an:gcloud service-extensions wasm-plugins update my-plugin \ --image=...-docker.pkg.dev/my-project/repository/container:tag \ --main-version=v2
Wenn Sie diese Plug‑ins ausführen möchten, können Sie Cloud Load Balancing-Erweiterungen und Media CDN-Erweiterungen konfigurieren.
Auf Images in einem anderen Projekt zugreifen
Bevor Sie Images aus einem anderen Projekt auswählen können, muss der Service-Agent von Service Extensions 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 Service-Agent von Service Extensions 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 unterstützten Application Load Balancern für Cloud Load Balancing-Plug‑ins
- Informationen zum Konfigurieren von Cloud Load Balancing Edge-Erweiterungen, Routenerweiterungen, und Traffic-Erweiterungen mit Plug‑ins
- Informationen zum Anhängen von Media CDN-Plug‑ins an Routen.
- Informationen zum Verwalten von Plug‑ins
- Siehe die Übersicht über Diensterweiterungen.