Questa pagina descrive come creare plug-in Service Extensions che puoi utilizzare per implementare l'estensibilità con i servizi Google Cloud .
Questa funzionalità è in anteprima per Media CDN.
Per una panoramica del prodotto, consulta la panoramica di Service Extensions.
Prima di iniziare
Prepara e carica i file necessari per creare un plug-in.
Ottieni i ruoli e le autorizzazioni Identity and Access Management (IAM) richiesti.
Abilita l'API Network Services, se non è già abilitata.
gcloud services enable networkservices.googleapis.com
Per i plug-in Media CDN, se intendi abilitare la registrazione, abilita l'API Network Actions.
gcloud services enable networkactions.googleapis.com
Crea una risorsa plug-in
La creazione di una risorsa plug-in implica la specifica di un'immagine che contiene il codice plug-in e la specifica di etichette e opzioni di logging per il plug-in.
Console
Per creare un plug-in:
Nella console Google Cloud , vai alla pagina Estensioni di servizio.
Fai clic sulla scheda Plug-in.
Fai clic su Crea plug-in.
Nella sezione Nozioni di base, segui questi passaggi:
Per Ambito, seleziona Globale o A livello di regione.
Se imposti l'ambito su Regionale, seleziona anche la regione.
Inserisci un nome univoco per il plug-in.
Il nome deve iniziare con una lettera minuscola seguita da un massimo di 62 lettere minuscole, numeri o trattini e non deve terminare con un trattino.
(Facoltativo) Inserisci una breve descrizione del plug-in utilizzando fino a 1024 caratteri.
Nella sezione Immagine Wasm, segui questi passaggi:
In Nome versione plug-in, specifica un nome per la versione del plug-in.
Il nome deve iniziare con una lettera minuscola seguita da un massimo di 62 lettere minuscole, numeri o trattini e non deve terminare con un trattino.
(Facoltativo) In Descrizione versione del plug-in, inserisci una breve descrizione della versione del plug-in utilizzando fino a 1024 caratteri.
Per URL immagine, inserisci l'URL dell'artefatto generico o dell'immagine container che contiene il modulo Wasm dal riquadro Artifact Registry. L'opzione per utilizzare un repository generico è in anteprima.
Se vuoi specificare un'immagine container in un repository Docker, puoi in alternativa fare clic su Seleziona per sfogliarla e selezionarla. Il riquadro Artifact Registry mostra le cartelle nel repository collegato al progetto corrente.
Per selezionare un'immagine da un altro progetto, assicurati che Service Extensions abbia accesso, quindi fai clic su Cambia accanto al nome del progetto.
(Facoltativo) Nella sezione Configurazione plug-in, per associare i dati di configurazione al plug-in, seleziona la casella di controllo Aggiungi configurazione plug-in e poi seleziona una delle seguenti opzioni:
Carica file di configurazione plug-in. Se la dimensione del file è inferiore a 900 KiB e si trova in un'unità locale, fai clic su Sfoglia per individuarlo e selezionarlo.
Seleziona l'artefatto o l'immagine di configurazione del plug-in da Artifact Registry. Inserisci l'URL dell'immagine generica dell'artefatto o del container che contiene il modulo Wasm dal riquadro Artifact Registry. L'opzione per utilizzare un repository generico è in anteprima.
Per specificare un'immagine container in un repository Docker, puoi in alternativa, fare clic su Seleziona per sfogliarla e selezionarla. Il riquadro Artifact Registry mostra le cartelle nel repository collegato al progetto corrente.
(Facoltativo) Nella sezione Etichette, fai clic su Aggiungi etichetta. Quindi, nella riga visualizzata, procedi nel seguente modo:
- In Chiave, inserisci un nome per la chiave.
- In Valore, inserisci un valore per la chiave.
Puoi aggiungere un massimo di 64 coppie chiave-valore. Per aggiungere altre coppie chiave-valore, fai clic su Aggiungi etichetta.
Per saperne di più sulle etichette, consulta Creare e aggiornare le etichette per i progetti.
(Facoltativo) Nella sezione Logging, seleziona Abilita il logging e segui questi passaggi:
Per Frequenza di campionamento, specifica un valore compreso tra
0e1. Il valore0indica che i messaggi di log non vengono archiviati. Il valore predefinito1indica che vengono archiviati tutti i messaggi di log. Un valore con virgola mobile compreso tra0.0e1.0indica che viene memorizzata una percentuale dei messaggi di log.Per Livello di log minimo, seleziona il livello di gravità minimo dei messaggi di log dei plug-in da esportare in Cloud Logging. Il valore predefinito è
Info and higher.
Fai clic su Crea.
gcloud
Crea un plug-in eseguendo il comando
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_URISostituisci quanto segue:
WASM_PLUGIN: l'ID o il nome completo del plug-inPLUGIN_DESCRIPTION: una descrizione del plug-inLOCATION: la posizione del plug-in comeglobalo una regioneLABELS: etichette sotto forma di coppie chiave-valore separate da virgoleLOG_CONFIG: opzioni di logging per il plug-in. Quando l'opzioneenableè impostata sufalse, i log non vengono acquisiti per il plug-in. Per attivare la registrazione, imposta l'opzioneenablesutrue. Quindi, specifica i seguenti dettagli:sample-rate: la frequenza di campionamento dei log attività come valore compreso tra0e1. Il valore0indica che i messaggi di log non vengono archiviati. Il valore predefinito1indica che vengono archiviati tutti i messaggi di log. Un valore in virgola mobile compreso tra0.0e1.0indica che viene memorizzata una percentuale di messaggi di log.min-log-level: il livello di gravità minimo dei messaggi di log del plug-in da esportare in Cloud Logging. Il valore predefinito èINFO.
IMAGE: l'URI dell'artefatto che contiene il modulo Wasm archiviato nel repository Artifact Registry. Prima di specificare un'immagine container di un altro progetto, assicurati che Service Extensions abbia accesso.MAIN_VERSION: l'ID della versione del plug-in da creare e impostare come versione principale (attiva)PLUGIN_CONFIG,PLUGIN_CONFIG_FILEoPLUGIN_CONFIG_URI: i dati di configurazione facoltativi, che possono essere specificati rispettivamente come testo, file locale o immagine container in Artifact Registry
Ad esempio:
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.txtPer eseguire il deployment di una nuova versione, utilizza il comando
gcloud service-extensions wasm-plugins update. Specifica un nuovo nome per l'immagine e la versione:gcloud service-extensions wasm-plugins update my-plugin \ --image=...-docker.pkg.dev/my-project/repository/container:tag \ --main-version=v2
Per eseguire questi plug-in, puoi configurare le estensioni Cloud Load Balancing e le estensioni Media CDN.
Accedere alle immagini in un altro progetto
Prima di poter selezionare le immagini di un altro progetto, l'agente di servizio Service Extensions deve avere accesso al repository del progetto e, a seconda di come viene pacchettizzato il modulo Wasm, una delle seguenti autorizzazioni per il progetto:
- Per gli artefatti generici:
artifactregistry.files.download - Per le immagini container:
artifactregistry.repositories.downloadArtifacts
Il service agent del servizio Service Extensions ha il seguente nome:
service-PROJECT_NUMBER@gcp-sa-networkactions.iam.gserviceaccount.com
Sostituisci PROJECT_NUMBER con il tuo numero di progetto.
Passaggi successivi
- Consulta i bilanciatori del carico delle applicazioni supportati per i plug-in Cloud Load Balancing.
- Scopri come configurare le estensioni edge, le estensioni di route e le estensioni di traffico di Cloud Load Balancing utilizzando i plug-in.
- Scopri come collegare i plug-in Media CDN alle route.
- Scopri come gestire i plug-in.
- Consulta la panoramica di Service Extensions.