Créer un plug-in

Cette page explique comment créer des plug-ins d'extensions de service que vous pouvez utiliser pour implémenter l'extensibilité avec des Google Cloud services.

Cette fonctionnalité est disponible en version preview pour Media CDN.

Pour obtenir une présentation du produit, consultez la page Présentation des extensions de service.

Avant de commencer

  1. Préparez et importez les fichiers requis pour créer un plug-in.

  2. Obtenez les rôles et autorisations IAM (Identity and Access Management) requis.

  3. Si ce n'est pas déjà fait, activez l'API Network Services.

    gcloud services enable networkservices.googleapis.com
    
  4. Pour les plug-ins Media CDN, si vous prévoyez d'activer la journalisation, activez l'API Network Actions.

    gcloud services enable networkactions.googleapis.com
    

Créer une ressource de plug-in

Pour créer une ressource de plug-in, vous devez spécifier une image contenant le code du plug-in, ainsi que des étiquettes et des options de journalisation pour le plug-in.

Console

Pour créer un plug-in, procédez comme suit :

  1. Dans la Google Cloud console, accédez à la page Extensions de service.

    Accéder aux extensions de service

  2. Cliquez sur l'onglet Plug-ins.

  3. Cliquez sur Créer un plug-in.

  4. Dans la section Informations de base, procédez comme suit :

    1. Pour Champ d'application, sélectionnez Global ou Régional.

      Si vous définissez le champ d'application sur Régional, sélectionnez également la région.

    2. Saisissez un nom de plug-in unique.

      Le nom doit commencer par une lettre minuscule suivie de 1 à 62 caractères (lettres minuscules, chiffres ou traits d'union). Il ne peut pas se terminer par un trait d'union.

    3. Facultatif : Saisissez une brève description du plug-in (1 024 caractères maximum).

  5. Dans la section Image Wasm, procédez comme suit :

    1. Dans le champ Nom de la version du plug-in, spécifiez un nom pour la version du plug-in.

      Le nom doit commencer par une lettre minuscule suivie de 1 à 62 caractères (lettres minuscules, chiffres ou traits d'union). Il ne peut pas se terminer par un trait d'union.

    2. Facultatif : Dans le champ Description de la version du plug-in, saisissez une brève description de la version du plug-in (1 024 caractères maximum).

    3. Dans le champ URL de l'image, saisissez l'URL de l' artefact générique ou de l'image de conteneur contenant le module Wasm dans le volet Artifact Registry. L'option permettant d'utiliser un dépôt générique est disponible en version preview.

      Si vous souhaitez spécifier une image de conteneur dans un dépôt Docker, vous pouvez également cliquer sur Sélectionner pour la parcourir et la sélectionner. Le volet Artifact Registry affiche les dossiers du dépôt connecté au projet actuel.

      Pour sélectionner une image d'un autre projet, assurez-vous que Service Extensions y a accès, puis cliquez sur Modifier à côté du nom du projet.

  6. Facultatif : Dans la section Configuration du plug-in, pour associer les données de configuration au plug-in, cochez la case Ajouter une configuration de plug-in, et puis sélectionnez l'une des options suivantes :

    • Importer le fichier de configuration du plug-in. Si la taille de votre fichier est inférieure à 900 Kio et qu'il se trouve sur un lecteur local, cliquez sur Parcourir pour le localiser et le sélectionner.

    • Sélectionner l'image ou l'artefact de configuration du plug-in dans Artifact Registry. Saisissez l'URL de l' artefact générique ou de l'image de conteneur contenant le module Wasm dans le volet Artifact Registry. L'option permettant d'utiliser un dépôt générique est disponible en version preview.

      Pour spécifier une image de conteneur dans un dépôt Docker, vous pouvez également cliquer sur Sélectionner pour la parcourir et la sélectionner. Le volet Artifact Registry affiche les dossiers du dépôt connecté au projet actuel.

  7. Facultatif : Dans la section Libellés, cliquez sur Ajouter un libellé. Ensuite, dans la ligne qui s'affiche, procédez comme suit :

    1. Dans le champ Clé, saisissez un nom de clé.
    2. Dans le champ Valeur, saisissez une valeur pour la clé.

    Vous pouvez ajouter jusqu'à 64 paires clé/valeur. Pour ajouter d'autres paires clé/valeur, cliquez sur Ajouter un libellé.

    Pour en savoir plus sur les libellés, consultez Créer et mettre à jour des libellés pour les projets.

  8. Dans la section Chiffrement, choisissez le mécanisme de chiffrement du plug-in. Cette option n'est disponible que pour les plug-ins régionaux.

  9. Facultatif : Dans la section Journalisation , sélectionnez Activer la journalisation , puis procédez comme suit :

  10. Cliquez sur Créer.

gcloud

  1. Créez un plug-in en exécutant la gcloud service-extensions wasm-plugins create commande :

    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
    

    Remplacez les éléments suivants :

    Exemple :

    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
    

    Pour déployer une nouvelle version, utilisez la gcloud service-extensions wasm-plugins update commande. Spécifiez une nouvelle image et un nouveau nom de version :

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

Pour exécuter ces plug-ins, vous pouvez configurer des extensions Cloud Load Balancing et des extensions Media CDN.

Accéder aux images d'un autre projet

Avant de pouvoir sélectionner des images d'un autre projet, l' agent de service Service Extensions doit avoir accès au dépôt du projet et, selon la façon dont votre module Wasm est empaqueté, l'une des autorisations suivantes sur le projet :

  • Pour les artefacts génériques : artifactregistry.files.download
  • Pour les images de conteneurs : artifactregistry.repositories.downloadArtifacts

L'agent de service Service Extensions est nommé comme suit :

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

Remplacez PROJECT_NUMBER par votre numéro de projet.

Étape suivante