Usar marcadores

Nesta página, mostramos como definir, modificar e excluir rótulos nos serviços, revisões e jobs do Cloud Run. No Cloud Run, os rótulos são pares de chave-valor aplicados ao serviço, revisão ou job. Quando você define um rótulo em um serviço do Cloud Run, uma nova revisão de serviço ou com esse rótulo é criada para esse serviço. o marcador não é aplicado a revisões mais antigas.

Os possíveis usos incluem:

  • Usar para alocação de custos e detalhamentos de faturamento
  • Identificar recursos usados por equipes ou centros de custo individuais
  • Diferenciar ambientes de implantação (produção, preparo, controle de qualidade ou teste)
  • Identificar os proprietários e os rótulos de estado
  • Filtrar registros no Logging

Regras de uso de rótulos

A regra a seguir se aplica ao uso de rótulos definidos em um serviço ou job do Cloud Run:

Somente rótulos válidos do Google Cloud podem ser usados no Cloud Run.

Definir ou modificar marcadores

É possível definir rótulos nos serviços e jobs do Cloud Run.

Para serviços do Cloud Run

Qualquer mudança na configuração leva à criação de uma nova revisão. As próximas revisões também recebem automaticamente essa configuração, a menos que você faça atualizações explícitas para alterá-la.

É possível definir ou modificar identificadores usando o console do Google Cloud, a linha de comando gcloud ou um arquivo YAML ao implantar uma nova revisão.

Console

  1. Acessar o Cloud Run

  2. Marque a caixa de seleção à esquerda do serviço em que você está definindo o rótulo.

  3. Verifique se o Painel de informações no canto direito está ativado (Mostrar painel de informações).

  4. Clique em Rótulos para exibir o painel de rótulos.

    Definir rótulo

  5. Para editar um valor-chave de rótulo atual, localize o rótulo e mude o Valor como quiser.

  6. Para definir um novo rótulo no serviço, clique em Adicionar rótulo e forneça a chave e o valor.

  7. Clique em Salvar.

Linha de comando

Atualize os rótulos de um serviço usando o comando:

gcloud run services update SERVICE --update-labels KEY=VALUE

Para atualizar mais de um rótulo, forneça uma lista delimitada por vírgulas de pares de chave-valor. O comando update-labels define um novo valor para a chave de rótulo, se ele já existir. Caso contrário, ele criará um novo rótulo.

Substitua:

  • SERVICE pelo nome do serviço do Cloud Run;
  • KEY pelo nome da chave do rótulo;
  • VALUE pelo valor da chave.

Também é possível definir rótulos durante a implantação:

gcloud run deploy SERVICE --image IMAGE --labels KEY=VALUE

Para criar mais de um rótulo durante a implantação, forneça uma lista de pares chave-valor delimitada por vírgulas.

YAML

É possível fazer o download e conferir as configurações de serviço usando o comando gcloud run services describe --format export, que produz resultados limpos no formato YAML. Em seguida, modifique os campos descritos abaixo e faça upload do YAML modificado usando o comando gcloud run services replace. Modifique os campos somente conforme documentado.

  1. Para ver e fazer o download da configuração:

    gcloud run services describe SERVICE --format export > service.yaml
  2. Atualize os atributos labels em dois lugares:

    apiVersion: serving.knative.dev/v1
    kind: Service
    metadata:
      name: SERVICE
      labels:
        LABEL: VALUE
    spec:
      template:
        metadata:
          labels:
            LABEL: VALUE
          name: REVISION

    Substituir

    • SERVICE pelo nome do serviço do Cloud Run;
    • LABEL pelo nome do rótulo;
    • VALUE pelo valor desejado.
    • REVISION por um novo nome de revisão ou excluí-lo (se houver). Se você fornecer um novo nome de revisão, ele precisará atender aos seguintes critérios:
      • Começa com SERVICE-
      • Contém apenas letras minúsculas, números e -
      • Não termina com um -
      • Não excede 63 caracteres

    metadata.labels define os identificadores no objeto de serviço, enquanto spec.template.metadata.label define os identificadores na revisão criada. Somente os identificadores definidos na revisão são passados para os registros e o faturamento.

  3. Substitua o serviço pela nova configuração usando o seguinte comando:

    gcloud run services replace service.yaml

Terraform

Para saber como aplicar ou remover uma configuração do Terraform, consulte Comandos básicos do Terraform.

Adicione o seguinte a um recurso google_cloud_run_service na configuração do Terraform, no atributo template. Isso aplica dois rótulos, foo (com valor bar) e baz (com valor quux), à instância do Cloud Run.

metadata {
  # Labels
  # https://cloud.google.com/run/docs/configuring/labels
  labels = {
    foo : "bar"
    baz : "quux"
  }
}

Para jobs do Cloud Run

É possível usar a Google Cloud CLI ou o YAML para definir um identificador em um job do Cloud Run.

Linha de comando

  1. Para definir um identificador em um novo job:

    gcloud run jobs create JOB_NAME --image IMAGE_URL --labels KEY=VALUE

    Substituir

    • JOB_NAME pelo nome do job;
    • KEY pelo nome da chave do rótulo;
    • VALUE pelo valor da chave.
    • IMAGE_URL por uma referência à imagem de contêiner, por exemplo, us-docker.pkg.dev/cloudrun/container/job:latest;
  2. Para definir um rótulo em um job atual:

    gcloud run jobs update JOB_NAME --labels KEY=VALUE
  3. Para atualizar mais de um rótulo, forneça uma lista delimitada por vírgulas de pares de chave-valor.

    gcloud run jobs update JOB_NAME --labels KEY1=VALUE1,KEY2=VALUE2 

YAML

Faça o download e veja a configuração do job que já existe usando o comando gcloud run jobs describe --format export, que gera resultados limpos no formato YAML. Em seguida, modifique os campos descritos abaixo e faça upload do YAML modificado usando o comando gcloud run jobs replace. Modifique os campos somente conforme documentado.

  1. Para ver e fazer o download da configuração:

    gcloud run jobs describe JOB_NAME --format export > job.yaml
  2. Atualize os atributos labels em dois lugares:

    apiVersion: run.googleapis.com/v1
    kind: Job
    metadata:
      labels:
        LABEL: VALUE
    spec:
      template:
        metadata:
          labels:
            LABEL: VALUE

    Substituir

    • LABEL pelo nome do rótulo;
    • VALUE pelo valor desejado.

    Também é possível especificar mais configurações, como variáveis de ambiente ou limites de memória.

  3. Atualize a configuração do job que já existe:

    gcloud run jobs replace job.yaml

Listar serviços ou jobs por identificador

É possível listar serviços ou jobs por identificador usando um filtro da Google Cloud CLI:

Para serviços:

  gcloud run services list --filter metadata.labels.LABEL=VALUE
  

Para jobs:

  gcloud run jobs list --filter metadata.labels.LABEL=VALUE
  

Substituir

  • LABEL pelo nome do rótulo;
  • VALUE pelo valor a ser incluído na lista filtrada

Excluir um rótulo em um serviço

É possível usar o console ou a linha de comando para excluir rótulos em um serviço.

Console

  1. Acessar o Cloud Run

  2. Marque a caixa de seleção à esquerda do serviço do qual você está excluindo o rótulo.

  3. Verifique se o Painel de informações no canto direito está ativado (Mostrar painel de informações).

  4. Clique em Rótulos para exibir o painel de rótulos.

  5. Localize o rótulo que você quer excluir.

  6. Passe o cursor à direita da caixa de texto Valor do rótulo para exibir o ícone de lixeira e clique nele.

  7. Clique em Salvar.

Linha de comando

Para limpar todos os rótulos de um serviço:

gcloud run services update SERVICE --clear-labels

Para excluir rótulos específicos de um serviço, forneça uma lista de chaves delimitada por vírgulas:

gcloud run services update SERVICE --remove-labels LABEL

Substitua:

  • SERVICE pelo nome do serviço do Cloud Run;
  • LABEL pelo nome do rótulo

Excluir um identificador de um job

Para limpar todos os identificadores de um serviço:

gcloud run jobs update JOB --clear-labels

Para excluir identificador específicos de um serviço, forneça uma lista de chaves delimitada por vírgulas:

gcloud run jobs update JOB --remove-labels LABEL

Replace

  * <var>JOB</var> with name of your Cloud Run service
  * <var>LABEL</var> with the name of your label