Configurar rótulos para serviços

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

Os possíveis usos incluem:

  • 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 proprietários e 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 do Cloud Run:

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

Rótulos para dados de faturamento e geração de registros

O Cloud Billing e o Cloud Logging só recebem rótulos especificados no atributo spec.template.metadata.labels em YAML ou em template no Terraform. Se você configurar rótulos usando o consoleGoogle Cloud ou a Google Cloud CLI, o Cloud Run vai adicionar os rótulos aos atributos metadata.labels e spec.template.metadata.labels.

Funções exigidas

Para receber as permissões necessárias para configurar e implantar os serviços do Cloud Run, peça ao administrador para conceder a você os seguintes papéis do IAM :

Se você estiver implantando um serviço ou uma função do código-fonte, também precisará ter outros papéis concedidos a você no projeto e na conta de serviço do Cloud Build.

Para uma lista de papéis e permissões do IAM associados ao Cloud Run, consulte Papéis do IAM do Cloud Run e Permissões do IAM do Cloud Run. Se o serviço do Cloud Run interage com APIsGoogle Cloud , como as bibliotecas de cliente do Cloud, consulte o guia de configuração de identidade de serviço. Para mais informações sobre como conceder papéis, consulte permissões de implantação e gerenciar acesso.

Definir ou modificar marcadores

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.

Os rótulos definidos anteriormente para as funções do Cloud Run usando comandos gcloud functions ou a API Cloud Functions v2 são propagados para o Cloud Run quando você implanta as funções no Cloud Run.

É possível definir ou modificar rótulos usando o console Google Cloud , a Google Cloud CLI ou um arquivo YAML ao implantar uma nova revisão.

Console

  1. No console do Google Cloud , acesse a página Serviços do Cloud Run:

    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 de chave do rótulo atual, localize o rótulo e mude o Valor.

  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.

gcloud

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: o nome do seu serviço do Cloud Run
  • KEY: o nome da chave do rótulo
  • VALUE: o 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

  1. Se você estiver criando um novo serviço, pule esta etapa. Se você estiver atualizando um serviço existente, faça o download da configuração YAML correspondente:

    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

    Substitua:

    • SERVICE: o nome do seu serviço do Cloud Run
    • LABEL: o nome do rótulo
    • VALUE: o valor necessário
    • 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.labels define os identificadores na revisão criada. O Cloud Run só propaga os rótulos definidos na revisão para o Cloud Logging e o Cloud Billing.

  3. Crie ou atualize o serviç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_v2_service na configuração do Terraform:

resource "google_cloud_run_v2_service" "default" {
  name     = "cloudrun-service-labels"
  location = "us-central1"

  deletion_protection = false # set to "true" in production

  template {
    containers {
      image = "us-docker.pkg.dev/cloudrun/container/hello"
    }
    # Labels
    labels = {
      foo : "bar"
      baz : "quux"
    }
  }
}

O snippet anterior adiciona dois rótulos, foo (com valor bar) e baz (com valor quux), à instância do Cloud Run.

Adicionar os rótulos em template define os rótulos da revisão: apenas os rótulos definidos para a revisão são transmitidos para o Cloud Logging e o Cloud Billing. Se você adicionar os rótulos a um local diferente de template, o rótulo será definido para o serviço, e não para a revisão.

Substitua:

  • name: o nome do serviço.
  • location: o local usado para o serviço.
  • image: a imagem do contêiner.
  • foo e baz: seus próprios nomes de rótulo.
  • bar e quux: seus próprios valores de rótulo.

Listar serviços por rótulo

É possível listar serviços por rótulo usando um filtro da CLI do Google Cloud:

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

Substitua:

  • LABEL: o nome do rótulo
  • VALUE: o 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. No console do Google Cloud , acesse a página Serviços do Cloud Run:

    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.

gcloud

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: o nome do seu serviço do Cloud Run
  • LABEL: o nome do seu rótulo