Nesta página, descrevemos como criar plug-ins do Service Extensions que você pode usar para implementar a extensibilidade com serviços Google Cloud .
Esse recurso está em pré-lançamento para a Media CDN.
Para uma visão geral do produto, consulte Visão geral das extensões de serviço.
Antes de começar
Prepare e faça upload dos arquivos necessários para criar um plug-in.
Receba as permissões e os papéis 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 da 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 contenha o código do plug-in e especificar rótulos e opções de geração de registros para ele.
Console
Para criar um plug-in, siga estas etapas:
No console do Google Cloud , 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 hífens 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 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 hífens 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 do 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 procurar e selecionar. O painel do Artifact Registry mostra as pastas no repositório conectado ao projeto atual.
Para selecionar uma imagem de outro projeto, verifique se as extensões de serviço têm acesso a ela e clique em Mudar 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 destas 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 um drive local, clique em Procurar para localizar e selecionar.
Selecione a imagem ou o artefato de configuração do plug-in no Artifact Registry. Insira o URL do artefato genérico ou da imagem do 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 procurar e selecionar. 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 até 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.
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 de mensagens de registro é armazenada.Em Nível mínimo de registro, selecione o nível de gravidade mínimo 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 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_URISubstitua:
WASM_PLUGIN: o ID ou o nome totalmente qualificado do plug-in.PLUGIN_DESCRIPTION: uma descrição do plug-inLOCATION: o local do plug-in comoglobalou uma regiãoLABELS: rótulos na forma de pares de chave-valor separados por vírgulasLOG_CONFIG: opções de geração de registros para o plug-in. Quando a opçãoenableé 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 atividade 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 de 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 de contêiner de outro projeto, verifique se as extensões de serviço têm 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_FILEouPLUGIN_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.
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 comando
gcloud service-extensions wasm-plugins update. 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, configure as extensões do Cloud Load Balancing e as extensões do Media CDN.
Acessar imagens em outro projeto
Antes de selecionar imagens de outro projeto, o agente de serviço das extensões de serviço 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 das extensões de serviço tem o seguinte nome:
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 aplicativo compatíveis para 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 da Media CDN a rotas.
- Saiba como gerenciar plug-ins.
- Consulte a Visão geral das extensões de serviço.