Plug‑in erstellen

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

  1. Bereiten Sie die Dateien vor, die zum Erstellen eines Plug‑ins erforderlich sind , und laden Sie sie hoch.

  2. Rufen Sie die erforderlichen IAM-Rollen und ‑Berechtigungen ab.

  3. Aktivieren Sie die Network Services API, falls sie noch nicht aktiviert ist.

    gcloud services enable networkservices.googleapis.com
    
  4. 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:

  1. Rufen Sie in der Google Cloud Console die Seite Diensterweiterungen auf.

    Zu den Diensterweiterungen

  2. Klicken Sie auf den Tab Plug‑ins.

  3. Klicken Sie auf Plug‑in erstellen.

  4. Führen Sie im Abschnitt Grundlagen folgende Schritte aus:

    1. Wählen Sie unter Bereich entweder Global oder Regional aus.

      Wenn Sie den Bereich auf Regional festlegen, wählen Sie auch die Region aus.

    2. 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.

    3. Optional: Geben Sie eine kurze Beschreibung des Plug‑ins mit bis zu 1.024 Zeichen ein.

  5. Führen Sie im Abschnitt Wasm-Image folgende Schritte aus:

    1. 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.

    2. Optional: Geben Sie unter Beschreibung der Plug‑in-Version eine kurze Beschreibung der Plug‑in-Version mit bis zu 1.024 Zeichen ein.

    3. 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.

  6. 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.

  7. Optional: Klicken Sie im Abschnitt Labels auf Label hinzufügen. Führen Sie dann in der angezeigten Zeile folgende Schritte aus:

    1. Geben Sie unter Schlüssel einen Schlüsselnamen ein.
    2. 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.

  8. 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.

  9. 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 0 und 1 an. Der Wert 0 gibt an, dass keine Logmeldungen gespeichert werden. Der Standardwert 1 gibt an, dass alle Logmeldungen gespeichert werden. Ein Gleitkommawert zwischen 0.0 und 1.0 gibt 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.

  10. Klicken Sie auf Erstellen.

gcloud

  1. 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_URI \
        --kms-key-name=KEY_NAME
    

    Ersetzen Sie Folgendes:

    • WASM_PLUGIN: die ID oder der voll qualifizierte Name des Plug‑ins
    • PLUGIN_DESCRIPTION: eine Beschreibung des Plug‑ins
    • LOCATION: der Standort des Plug‑ins als global oder eine Region
    • LABELS: Labels in Form von durch Kommas getrennten Schlüssel/Wert-Paaren
    • LOG_CONFIG: Logging-Optionen für das Plug‑in. Wenn die Option enable auf false gesetzt ist, werden keine Logs für das Plug‑in erfasst. Setzen Sie die Option enable auf true, um das Logging zu aktivieren. Geben Sie dann die folgenden Details an:

      • sample-rate: die Stichprobenrate der Aktivitätslogs als Wert zwischen 0 und 1. Der Wert 0 gibt an, dass keine Logmeldungen gespeichert werden. Der Standardwert 1 gibt an, dass alle Logmeldungen gespeichert werden. Ein Gleitkommawert zwischen 0.0 und 1.0 gibt 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 ist INFO.

    • 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, oder PLUGIN_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ält
      • LOCATION: der Speicherort des Schlüssels
      • KEYRING_NAME: der Name des Schlüsselbunds
      • KEY_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.txt
    

    Verwenden Sie den gcloud service-extensions wasm-plugins update Befehl, 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