Adição de marcadores a uma implantação

Os rótulos são uma maneira leve de organizar implantações relacionadas ou associadas entre si. Por exemplo, uma prática comum é usá-los para separar implantações destinadas a produção, testes ou desenvolvimento. Isso facilita a pesquisa de implantações pertencentes a cada estágio, quando necessário.

O que são rótulos?

Um rótulo é um par de chave-valor que pode ser atribuído às implantações do Google Cloud. Eles ajudam a organizar esses recursos e gerenciar seus custos em escala, com a granularidade necessária. É possível anexar um rótulo a cada recurso e filtrar os recursos com base nesses rótulos. As informações sobre rótulos são encaminhadas ao sistema de faturamento que permite detalhar as cobranças faturadas por rótulo. Com os relatórios de faturamento integrados, é possível filtrar e agrupar custos por rótulos de recursos. Também é possível usar rótulos para consultar as exportações de dados de faturamento.

Requisitos para rótulos

Os rótulos aplicados a um recurso precisam atender aos seguintes requisitos:

  • Cada recurso pode ter até 64 rótulos.
  • Cada rótulo precisa ser um par de chave-valor.
  • As chaves têm comprimento mínimo de 1 e máximo de 63 caracteres. Além disso, elas não podem estar vazias. Os valores podem estar vazios e ter um comprimento máximo de 63 caracteres.
  • As chaves e os valores contêm apenas letras minúsculas, caracteres numéricos, sublinhados e traços. Todos os caracteres precisam usar a codificação UTF-8, e os caracteres internacionais são permitidos. As chaves precisam começar com uma letra minúscula ou um caractere internacional.
  • A parte principal de um rótulo de cluster precisa ser exclusiva em um único recurso. No entanto, é possível usar a mesma chave com vários recursos.

Esses limites se aplicam à chave e ao valor de cada rótulo e aos recursos individuais do Google Cloud que têm rótulos. Não há limite para a quantidade de rótulos que podem ser aplicados a todos os recursos em um projeto.

Usos comuns dos rótulos

Veja alguns casos de uso comum para rótulos:

  • Rótulos de centro de custo ou de equipe: adicione rótulos com base na equipe ou no centro de custo para distinguir implantações pertencentes a equipes diferentes (por exemplo, team:research e team:analytics). É possível usar esse tipo de rótulo para contabilidade de custos ou orçamento.

  • Rótulos de componentes: por exemplo, component:redis, component:frontend, component:ingest e component:dashboard.

  • Rótulos de ambientes ou de estágios: por exemplo, environment:production e environment:test.

  • Rótulos de estado: por exemplo, state:active, state:readytodelete e state:archive.

  • Rótulos de propriedade: usados para identificar as equipes responsáveis pelas operações, por exemplo: team:shopping-cart.

Não recomendamos criar um grande número de rótulos exclusivos, como carimbos de data/hora ou valores individuais para todas as chamadas de API. O problema com essa abordagem é que, quando os valores mudam com frequência ou com chaves que desordenam o catálogo, isso dificulta a filtragem e a geração de relatórios sobre os recursos.

Rótulos e tags

Os rótulos podem ser usados como anotações de consulta para recursos, mas não podem ser usados para definir condições em políticas. Com as tags, é possível permitir ou negar políticas condicionalmente com base em um recurso ter ou não uma tag específica, fornecendo controle refinado sobre as políticas. Para mais informações, consulte a Visão geral das tags.

Como criar uma implantação com rótulos

Ao criar uma implantação, é possível adicionar rótulos fornecendo um ou mais pares de chave-valor. Se você já tiver uma implantação, será possível atualizá-la para adicionar novos rótulos ou alterar os atuais.

Use a CLI gcloud ou a API para criar uma implantação com rótulos.

gcloud

No gcloud, adicione rótulos à sua implantação, fornecendo a sinalização --labels, seguida por uma lista separada por vírgulas de pares de chave-valor. Por exemplo, a seguinte linha de comando adicionará dois rótulos à implantação, environment=production estorage=media:

gcloud deployment-manager deployments create example-deployment --config example-config.yaml \
    --labels environment=production,storage=media

Para ver os rótulos aplicados à implantação, consiga uma descrição da implantação:

gcloud deployment-manager deployments describe example-deployment
---
fingerprint: 0p03t0z31PQLOrGH8KdhWQ==
id: '2204841443843636456'
insertTime: '2017-04-18T09:42:47.323-07:00'
labels:
- key: environment
  value: production
- key: storage
  value: media
manifest: manifest-1492533767362
name: example-deployment
operation:
  endTime: '2017-04-18T09:43:04.581-07:00'
  name: operation-1492533767010-54d7398ff76d1-7930b926-f64e72ae
  operationType: insert
  progress: 100
  startTime: '2017-04-18T09:42:48.034-07:00'
  status: DONE
  user:user@example.com

API

Na API, siga as instruções para criar sua implantação e inclua a nova propriedade labels no corpo da solicitação. Exemplo:

{
  "name": "example-deployment",
  "target": {
    "config": {
      "content": "..."
      },
   }
  "labels": [
  {
    "key": "environment",
    "value": "production"
  },
  {
    "key": "storage",
    "value": "media"
  }
 ]
}

Como remover marcadores

Console

  1. Acesse a página Implantações no Console do Google Cloud.

    Acessar a página "Implantações"

  2. Se solicitado, selecione o projeto e clique em Continuar.

  3. Marque a caixa ao lado da implantação dos rótulos que você quer remover. Um painel lateral aparecerá.

  4. Clique em X ao lado de cada rótulo que você quer remover.

  5. Salve as alterações.

gcloud

Em gcloud, remova os rótulos usando o comando deployments update e fornecendo a sinalização --remove-labels, seguida por uma lista separada por vírgulas de chaves de rótulos para remover.

Por exemplo, a seguinte expressão remove um rótulo com a tecla environment:

gcloud deployment-manager deployments update example-deployment --remove-labels environment

API

Na API, siga as instruções para atualizar sua implantação e inclua uma atualização para a implantação que não contenha a propriedade labels no corpo da solicitação, removendo efetivamente os rótulos.

Como adicionar ou atualizar rótulos

É possível adicionar marcadores novos ou atualizar os existentes nas implantações que você já tem.

Console

  1. Acesse a página Implantações no Console do Google Cloud.

    Acessar a página "Implantações"

  2. Se solicitado, selecione o projeto e clique em Continuar.

  3. Marque a caixa ao lado da implantação dos rótulos que você quer atualizar. Um painel lateral será exibido.

  4. Para alterar os valores dos rótulos, atualize as entradas apropriadas. Se quiser alterar a chave do rótulo, será necessário excluir o rótulo e adicioná-lo novamente com a nova chave.

  5. Salve as alterações.

gcloud

No gcloud, atualize ou adicione novos rótulos usando o comando deployments update e fornecendo a sinalização --update-labels, seguida por uma lista separada por vírgulas dos rótulos atualizados:

Por exemplo, o seguinte código atualiza o rótulo environment:

gcloud deployment-manager deployments update example-deployment --update-labels environment=production

API

Na API, siga as instruções para atualizar sua implantação e, no corpo da solicitação, omita a propriedade labels, que remove os rótulos da implantação.

Como adicionar rótulos durante as visualizações de implantações

Antes de criar uma implantação, você pode visualizá-la. Como parte da visualização, é possível atribuir rótulos à implantação. Exemplo:

gcloud deployment-manager deployments create example-deployment --config example-config.yaml \
    --labels environment=production --preview

Para alterar os marcadores durante a visualização, é necessário atualizá-la com os novos marcadores. Para saber mais sobre visualizações, consulte a documentação Como visualizar uma configuração.

Como filtrar pesquisas usando rótulos

Você pode pesquisar recursos e filtrar os resultados usando marcadores.

Console

  1. Acesse a página Implantações no Console do Google Cloud.

    Acessar a página "Implantações"

  2. Se solicitado, selecione o projeto e clique em Continuar.

  3. Na barra de pesquisa, comece a digitar labels. e a barra de pesquisa listará automaticamente os rótulos com que é possível filtrar.

gcloud

Na gcloud, crie uma solicitação list e use a sinalização --filter. Para filtrar rótulos, use a sintaxe labels.[KEY]=[VALUE]. Por exemplo, se você quiser filtrar um rótulo com environment como a chave e production como o valor, execute este comando:

gcloud deployment-manager deployments list --filter labels.environment=production

Para conseguir a documentação completa sobre a sintaxe do filtro na gcloud CLI, consulte a documentação do gcloud topic filters.

API

Na API, faça uma solicitação de lista com um parâmetro de consulta filter codificado por URL. Por exemplo, para filtrar com base em uma chave de rótulo environment que é igual ao valor production, crie a seguinte solicitação GET:

GET https://www.googleapis.com/deploymentmanager/v2/deployments/list?filter=labels.environment+eq+production

Para conseguir mais informações, consulte a documentação filter na referência da API.

A seguir