Esta página descreve como criar plug-ins de extensões de serviço que você pode usar para implementar a capacidade de extensão com Google Cloud serviços.
Esse recurso está em pré-lançamento para o Media CDN.
Para uma visão geral do produto, consulte Visão geral das Service Extensions.
Antes de começar
Prepare e faça upload dos arquivos necessários para criar um plug-in.
Receba os papéis e as permissões necessários do Identity and Access Management (IAM).
Ative a API Network Services, se ela ainda não estiver ativada.
gcloud services enable networkservices.googleapis.com
Para plug-ins do Media CDN, se você pretende ativar a geração de registros, ative a API Network Actions.
gcloud services enable networkactions.googleapis.com
Criar um recurso de plug-in
A criação de um recurso de plug-in envolve especificar uma imagem que contém o código do plug-in e especificar rótulos e opções de geração de registros para o plug-in.
Console
Para criar um plug-in, siga estas etapas:
No Google Cloud console do, acesse a página Extensões de serviço.
Clique na guia Plug-ins.
Clique em Criar plug-in.
Na seção Noções básicas, faça o seguinte:
Em Escopo, selecione Global ou Regional.
Se você definir o escopo como Regional, selecione também a região.
Insira um nome exclusivo para o plug-in.
O nome precisa começar com uma letra minúscula seguida por até 62 letras minúsculas, números ou hifens e não pode terminar com um hífen.
Opcional: insira uma breve descrição sobre o plug-in usando até 1.024 caracteres.
Na seção Imagem do Wasm, faça o seguinte:
Em Nome da versão do plug-in, especifique um nome para a versão do plug-in.
O nome precisa começar com uma letra minúscula seguida por até 62 letras minúsculas, números ou hifens e não pode terminar com um hífen.
Opcional: em Descrição da versão do plug-in, insira uma breve descrição sobre a versão do plug-in usando até 1.024 caracteres.
Em URL da imagem, insira o URL do artefato genérico ou da imagem de contêiner que tem o módulo Wasm no painel do Artifact Registry. A opção de usar um repositório genérico está em pré-lançamento.
Se você quiser especificar uma imagem de contêiner em um repositório do Docker, clique em Selecionar para navegar e selecioná-la. O painel do Artifact Registry mostra as pastas no repositório conectado ao projeto atual.
Para selecionar uma imagem de outro projeto, verifique se o Service Extensions tem acesso a ela, e clique em Alterar ao lado do nome do projeto.
Opcional: na seção Configuração do plug-in , para associar os dados de configuração ao plug-in, marque a caixa de seleção Adicionar configuração do plug-in e selecione uma das seguintes opções:
Fazer upload do arquivo de configuração do plug-in. Se o tamanho do arquivo for menor que 900 KiB e estiver em uma unidade local, clique em Navegar para localizá-lo e selecioná-lo.
Selecionar imagem ou artefato de configuração do plug-in no Artifact Registry. Insira o URL do artefato genérico ou da imagem de contêiner que tem o módulo Wasm no painel do Artifact Registry. A opção de usar um repositório genérico está em pré-lançamento.
Para especificar uma imagem de contêiner em um repositório do Docker, clique em Selecionar para navegar e selecioná-la. O painel do Artifact Registry mostra as pastas no repositório conectado ao projeto atual.
Opcional: na seção Rótulos, clique em Adicionar rótulo. Em seguida, na linha que aparece, faça o seguinte:
- Em Chave, insira um nome de chave.
- Em Valor, insira um valor para a chave.
É possível adicionar no máximo 64 pares de chave-valor. Para adicionar mais pares de chave-valor, clique em Adicionar rótulo.
Para mais informações sobre rótulos, consulte Criar e atualizar rótulos para projetos.
Na seção Criptografia, escolha o mecanismo de criptografia do plug-in. Essa opção está disponível apenas para plug-ins regionais.
- Chave de criptografia gerenciada pelo Google. Criptografe o conteúdo do plug-in com o mecanismo de criptografia padrão do Google.
- Chave do Cloud KMS. Criptografe o conteúdo do plug-in com uma chave de criptografia gerenciada pelo cliente criada usando o Cloud Key Management Service. Nesse caso, em Tipo de gerenciamento de chaves, selecione Cloud KMS. Em seguida, selecione uma chave do Cloud KMS.
Opcional: na seção Geração de registros, selecione Ativar geração de registros e faça o seguinte:
Em Taxa de amostragem, especifique um valor entre
0e1. O valor0indica que as mensagens de registro não são armazenadas. O valor padrão1indica que todas as mensagens de registro são armazenadas. Um pontuação flutuante entre0.0e1.0indica que uma porcentagem das mensagens de registro é armazenada.Em Nível mínimo de registro, selecione o nível mínimo de gravidade das mensagens de registro do plug-in a serem exportadas para o Cloud Logging. O valor padrão é
Info and higher.
Clique em Criar.
gcloud
Crie um plug-in executando o
gcloud service-extensions wasm-plugins createcomando: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_NAMESubstitua:
WASM_PLUGIN: o ID ou o nome totalmente qualificado do plug-inPLUGIN_DESCRIPTION: uma descrição do plug-inLOCATION: o local do plug-in comoglobalou uma regiãoLABELS: rótulos no formato de pares de chave-valor separados por vírgulasLOG_CONFIG: opções de geração de registros para o plug-in. Quando a opçãoenableestá definida comofalse, os registros não são capturados para o plug-in. Para ativar a geração de registros, defina a opçãoenablecomotrue. Em seguida, especifique os seguintes detalhes:sample-rate: a taxa de amostragem dos registros de atividades como um valor entre0e1. O valor0indica que as mensagens de registro não são armazenadas. O valor padrão1indica que todas as mensagens de registro são armazenadas. Um pontuação flutuante entre0.0e1.0indica que uma porcentagem das mensagens de registro é armazenada.min-log-level: o nível mínimo de gravidade das mensagens de registro do plug-in a serem exportadas para o Cloud Logging. O valor padrão éINFO.
IMAGE: o URI do artefato que contém o módulo Wasm armazenado no repositório do Artifact Registry. Antes de especificar uma imagem do contêiner de outro projeto, verifique se o Service Extensions tem acesso a ela.MAIN_VERSION: o ID da versão do plug-in a ser criada e definida como a versão principal (ativa).PLUGIN_CONFIG,PLUGIN_CONFIG_FILE, ouPLUGIN_CONFIG_URI: os dados de configuração opcionais, que podem ser especificados como texto, um arquivo local ou uma imagem de contêiner no Artifact Registry, respectivamente.KEY_NAME: para plug-ins regionais, o nome totalmente qualificado da chave de criptografia gerenciada pelo cliente no seguinte formato:projects/PROJECT/locations/LOCATION/keyRings/KEYRING_NAME/cryptoKeys/KEY_NAME.Substitua:
PROJECT: o ID do projeto que contém a chaveLOCATION: a localização da chaveKEYRING_NAME: é o nome do keyringKEY_NAME: o nome da chave
Se essa opção não for especificada, o mecanismo de criptografia padrão do Google será usado.
Exemplo:
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.txtPara implantar uma nova versão, use o
gcloud service-extensions wasm-plugins updatecomando. Especifique um novo nome de imagem e versão:gcloud service-extensions wasm-plugins update my-plugin \ --image=...-docker.pkg.dev/my-project/repository/container:tag \ --main-version=v2
Para executar esses plug-ins, é possível configurar extensões do Cloud Load Balancing e extensões do Media CDN.
Acessar imagens em outro projeto
Antes de selecionar imagens de outro projeto, o agente de serviço do Service Extensions precisa ter acesso ao repositório do projeto e, dependendo de como o módulo Wasm é empacotado, uma das seguintes permissões no projeto:
- Para artefatos genéricos:
artifactregistry.files.download - Para imagens de contêiner:
artifactregistry.repositories.downloadArtifacts
O agente de serviço do Service Extensions é nomeado da seguinte maneira:
service-PROJECT_NUMBER@gcp-sa-networkactions.iam.gserviceaccount.com
Substitua PROJECT_NUMBER pelo número do projeto.
A seguir
- Consulte os balanceadores de carga de aplicativos compatíveis com plug-ins do Cloud Load Balancing.
- Saiba como configurar extensões de borda, extensões de rota, e extensões de tráfego do Cloud Load Balancing usando plug-ins.
- Saiba como anexar plug-ins do Media CDN a rotas.
- Saiba como gerenciar plug-ins.
- Consulte a visão geral das Service Extensions.