Nesta página, descrevemos como criar plug-ins de extensões de serviço que podem ser usados para implementar a extensibilidade com os serviços do Google Cloud .
Esse recurso está em pré-lançamento para o 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 os papéis e as permissões necessários do Identity and Access Management (IAM).
Ative a API Network Services, se ainda não estiver ativada.
gcloud services enable networkservices.googleapis.com
Para plug-ins do Media CDN, se você quiser 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 registro para o plug-in.
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 Plugins.
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, mas 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, mas 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 exibe 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 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 Procurar para localizá-lo e selecioná-lo.
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 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 do contêiner em um repositório do Docker, clique em Selecionar para navegar e selecioná-la. O painel do Artifact Registry exibe 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 para o 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 de 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 que serão 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_URI \ --kms-key-name=KEY_NAMESubstitua:
WASM_PLUGIN: o ID ou o nome totalmente qualificado do plug-in.PLUGIN_DESCRIPTION: uma descrição do plug-in.LOCATION: 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 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 as Service Extensions 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.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 chave.LOCATION: a localização da chave;KEYRING_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 comando
gcloud service-extensions wasm-plugins update. Especifique uma nova imagem e um novo nome de 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 é nomeado da seguinte maneira:
service-PROJECT_NUMBER@gcp-sa-networkactions.
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 as extensões de borda, extensões de rota e extensões de tráfego do Cloud Load Balancing usando plug-ins.
- Saiba como configurar extensões de borda do Media CDN.
- Saiba como gerenciar plug-ins.
- Consulte a visão geral das extensões de serviço.