Questa pagina descrive come creare plug-in di 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 Panoramica di Service Extensions.
Prima di iniziare
Prepara e carica i file necessari per creare un plug-in.
Ottenere i ruoli e le autorizzazioni di 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 attivare il logging, attiva 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, segui questi passaggi:
Nella console Google Cloud , vai alla pagina Estensioni dei servizi.
Fai clic sulla scheda Plugin.
Fai clic su Crea plug-in.
Nella sezione Nozioni di base, segui questi passaggi:
In 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 un massimo di 1024 caratteri.
In URL immagine, inserisci l'URL dell'artefatto generico o dell'immagine container con 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 sfogliare 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 all'immagine, quindi fai clic su Cambia accanto al nome del progetto.
(Facoltativo) Nella sezione Configurazione del plug-in, per associare i dati di configurazione al plug-in, seleziona la casella di controllo Aggiungi configurazione del plug-in, quindi seleziona una delle seguenti opzioni:
Carica file di configurazione plug-in. Se le dimensioni del file sono inferiori a 900 KiB e il file 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'artefatto generico o dell'immagine container con 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, in alternativa puoi fare clic su Seleziona per sfogliare e selezionarla. Il riquadro Artifact Registry mostra le cartelle nel repository collegato al progetto corrente.
(Facoltativo) Nella sezione Etichette, fai clic su Aggiungi etichetta. Poi, nella riga visualizzata, segui questi passaggi:
- 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 Crea e aggiorna le etichette per i progetti.
Nella sezione Crittografia, scegli il meccanismo di crittografia per il plug-in. Questa opzione è disponibile solo per i plug-in regionali.
- Chiave di crittografia gestita da Google. Cripta i contenuti del plug-in con il meccanismo di crittografia predefinito di Google.
- Chiave Cloud KMS. Cripta i contenuti del plug-in con una chiave di crittografia gestita dal cliente creata utilizzando Cloud Key Management Service. In questo caso, per Tipo di gestione delle chiavi, seleziona Cloud KMS. Quindi, seleziona una chiave Cloud KMS.
(Facoltativo) Nella sezione Logging, seleziona Abilita il logging e segui questi passaggi:
In 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 in virgola mobile compreso tra0.0e1.0indica che viene archiviata una percentuale di messaggi di log.In Livello di log minimo, seleziona il livello di gravità minimo dei messaggi di log del 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_URI \ --kms-key-name=KEY_NAMESostituisci quanto segue:
WASM_PLUGIN: l'ID o il nome completo del plug-inPLUGIN_DESCRIPTION: una descrizione del plug-inLOCATION: la posizione del plug-in,globalo 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 abilitare il logging, imposta l'opzioneenablesutrue. Quindi, specifica i seguenti dettagli:sample-rate: la frequenza di campionamento dei log delle 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 archiviata 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 all'immagine.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.KEY_NAME: per i plug-in regionali, il nome completo della chiave di crittografia gestita dal cliente nel seguente formato:projects/PROJECT/locations/LOCATION/keyRings/KEYRING_NAME/cryptoKeys/KEY_NAME.Sostituisci quanto segue:
PROJECT: l'ID del progetto che contiene la chiaveLOCATION: la posizione della chiaveKEYRING_NAME: il nome delle chiavi automatizzateKEY_NAME: il nome della chiave
Se questa opzione non è specificata, viene utilizzato il meccanismo di crittografia predefinito di Google.
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 di Cloud Load Balancing e le estensioni di Media CDN.
Accedi alle immagini in un altro progetto
Prima di poter selezionare immagini da un altro progetto, l'agente di servizio Service Extensions deve avere accesso al repository del progetto e, a seconda di come è pacchettizzato il modulo Wasm, una delle seguenti autorizzazioni sul progetto:
- Per gli artefatti generici:
artifactregistry.files.download - Per le immagini container:
artifactregistry.repositories.downloadArtifacts
Il nome dell'agente di servizio di Service Extensions è il seguente:
service-PROJECT_NUMBER@gcp-sa-networkactions.
Sostituisci PROJECT_NUMBER con il numero del progetto.
Passaggi successivi
- Consulta la sezione Bilanciatori del carico delle applicazioni supportati per i plug-in di 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 configurare le estensioni perimetrali di Media CDN.
- Scopri come gestire i plug-in.
- Consulta la panoramica di Service Extensions.