Como rotular recursos

Com os marcadores, é possível agrupar recursos relacionados ou associados uns aos outros com facilidade. Por exemplo, uma prática comum é usá-lo para separar os recursos destinados a produção, testes ou desenvolvimento. Isso facilita a busca por recursos pertencentes a cada estágio de desenvolvimento. Os rótulos podem ser do tipo vmrole:webserver, environment:production, location:west e assim por diante. Adicione rótulos sempre como pares de chave/valor:

{
 "labels": {
    "vmrole": "webserver",
    "environment": "production",
    "location": "west",...
    }
 }

Aplique marcadores a estes recursos:

  • instâncias de máquina virtual
  • regras de encaminhamento (alfa)
  • imagens
  • discos permanentes
  • instantâneos de disco permanente
  • endereços IP externos estáticos (alfa)
  • túneis de VPN (alfa)

Depois de adicionar marcadores aos recursos, você poderá aproveitar recursos como filtragem aninhada para realizar pesquisas mais precisas em busca dos recursos usando marcadores.

Antes de começar

Restrições

  • Atribua até 64 marcadores a cada recurso.
  • Os recursos listados como Alfa ainda não são compatíveis com gcloud ou o Console do Google Cloud Platform. Em vez disso, use a API Alpha a fim de definir rótulos para esses recursos.
  • As chaves e os valores dos rótulos precisam obedecer as seguintes restrições:

    • Chaves e valores não podem ter mais de 63 caracteres.
    • Chaves e valores podem conter apenas letras minúsculas, caracteres numéricos, sublinhados e travessões. Caracteres internacionais são permitidos.
    • As chaves dos rótulos precisam começar com uma letra minúscula. É permitido usar caracteres internacionais.
    • As chaves do rótulo não podem estar vazias.

Como criar recursos com marcadores

Ao criar um novo recurso, você pode aplicar marcadores a ele.

Console

  1. Acesse a página "Criar uma instância".

    Acessar a página "Criar uma instância"

  2. Expanda a seção Gerenciamento, segurança, discos, rede, locatário único.
  3. Em Gerenciamento, especifique os Rótulos que você quer adicionar a esse recurso.
  4. Continue o processo de criação.

gcloud

Ao criar o recurso, inclua a sinalização --labels, seguido de uma lista separada por vírgulas de pares de valor/chave de marcadores. Por exemplo:

gcloud compute instances create ... --labels webserver=backend,media=images

A mesma sinalização também se aplica durante a criação imagens e discos.

API

Na API, durante a solicitação POST para incluir um novo recurso, adicione a propriedade labels no corpo da solicitação a fim de aplicar marcadores ao novo recurso. Por exemplo, o corpo da solicitação para criar uma instância de VM tem os seguintes rótulos:

body = {
  "name": "[INSTANCE_NAME]",
  "machineType": "zones/[ZONE]/machineTypes/[MACHINE_TYPE]",
   ...,
  "labels": [{
    "key": "webserver",
    "value": "backend"
    },
    {
    "key": "media",
    "value": "images"
   }]
 }

A mesma propriedade também pode ser aplicada durante a criação de imagens e discos.

Como adicionar ou atualizar marcadores a recursos existentes

Você pode adicionar marcadores ou atualizar os existentes em recursos.

Console

  1. Acesse a página do recurso no qual quer adicionar marcadores.
  2. Marque as caixas de seleção referentes aos recursos que terão marcadores adicionados.
  3. Clique em Mostrar painel de informações para expandir a coluna de marcadores.
  4. Atualize ou adicione os novos marcadores desejados.
  5. Salve as alterações.

gcloud

Usando a ferramenta de linha de comando gcloud, utilize o subcomando update com o marcador --update-labels para adicionar ou alterar um marcador. Por exemplo, para adicionar um marcador a um disco, use o subcomando gcloud compute disks update [DISK] --update-labels:

gcloud compute disks update example-disk --update-labels backend=webserver,media=images

Se você fornecer uma chave de marcador já existente, a ferramenta atualizará a chave existente com o novo valor do marcador. Se você fornecer uma nova chave, a ferramenta adicionará a nova chave à lista de marcadores.

Para instâncias, instantâneos e imagens, use os comandos gcloud compute instances, gcloud compute snapshots ou gcloud compute images.

API

Para adicionar ou atualizar rótulos, faça uma solicitação POST para o método setLabels do recurso apropriado com a impressão digital mais recente e uma lista completa de rótulos para aplicar.

Da mesma maneira que os metadados e as tags, se o recurso tiver rótulos que você queira manter, inclua esses rótulos na solicitação, junto dos novos que queira adicionar.

Por exemplo, no snippet a seguir, uma solicitação foi enviada para o método setLabels de uma instância. Também é possível fazer uma solicitação ao método setLabels de um disco, instantâneo ou imagem:

Request

POST https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-f/instances/example-instance/setLabels

{
 "labels": {
  "environment": "test",
  "an-existing-tag": ""
 },
 "labelFingerprint": "42WmSpB8rSM="
}

Da mesma maneira, é possível adicionar rótulos a recursos ao criar o recurso especificando o objeto labels.

Como conseguir uma impressão digital de marcador para solicitações da API

Ao atualizar ou adicionar marcadores na API, forneça a impressão digital mais recente deles com a solicitação para evitar conflitos com outras solicitações. Isso só é necessário para solicitações da API. O Console do GCP e a ferramenta gcloud não requerem uma impressão digital.

Para receber a impressão digital de marcador mais atualizada e enviar uma solicitação com essa impressão, execute uma solicitação GET para o recurso correspondente. Por exemplo, no snippet a seguir, você recebe o labelsFingerprint de uma instância. Faça uma solicitação semelhante a um disco, um instantâneo ou uma imagem.

Veja a propriedade labelFingerprint:

Request

GET https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-f/instances/example-instance
200 OK

{

 "kind": "compute#instance",
 "id": "4392196237934605253",
 "creationTimestamp": "2015-09-15T14:05:16.475-07:00",
 "zone": "https://content.googleapis.com/compute/v1/projects/myproject/zones/us-central1-f",
 "status": "RUNNING",
 ...
 "labels": {
  "environment": "test"
 },
 "labelFingerprint": "p1ty_9HoBk0="
}

Como remover um marcador

Console

  1. Acesse a página do recurso no qual quer adicionar marcadores.
  2. Marque as caixas de seleção ao lado dos recursos com os rótulos que serão removidos.
  3. Clique em Mostrar painel de informações para expandir a coluna de rótulos.
  4. Clique no X ao lado dos marcadores que você quer remover.
  5. Salve as alterações.

gcloud

Com a ferramenta de linha de comando gcloud, execute o comando update com a sinalização --remove-labels. Forneça um conjunto de chaves dos marcadores a serem removidos. Por exemplo:

gcloud compute disks update example-disk --remove-labels backend,media

Para instantâneos e imagens, use as coleções gcloud compute snapshots ou gcloud compute images.

API

Na API, faça uma solicitação POST ao método setLabels do recurso de API apropriado: instâncias, discos e instantâneos.

Forneça o labelsFingerprint atual e uma lista vazia de marcadores para remover todos os marcadores ou uma lista de marcadores que você queira manter (omitindo os que quer remover). Por exemplo:

Request

POST https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-f/instances/example-instance/setLabels

{
 "labels": { },
 "labelFingerprint": "42WmSpB8rSM="
}

Como filtrar pesquisas usando marcadores

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

Console

  1. Acesse a página do recurso no qual quer adicionar marcadores.
    • Para instâncias, acesse a página Instâncias de VMs.
    • Para discos, acesse a página Discos.
    • Para instantâneos, acesse a página Instantâneos.
    • Para imagens, acesse a página Imagens.
    • Se solicitado, selecione o projeto e clique em Continuar.
    • Na barra de pesquisa, digite labels.. Serão listados automaticamente os rótulos que podem ser filtrados.

gcloud

No gcloud, faça uma solicitação de list e use a sinalização --filter. Para filtrar os marcadores, use a sintaxe labels.key=[VALUE]. Por exemplo, se quiser filtrar um marcador com env como a chave e dev como valor, você poderá executar este comando:

gcloud compute instances list --filter labels.env=dev

Para ver a documentação completa sobre a sintaxe de filtro na ferramenta gcloud, consulte a documentação 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 marcador env sendo igual ao valor dev, faça a seguinte solicitação GET:

GET https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instances/list?filter=labels.env+eq+dev

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

Relação entre rótulos de instância e tags de rede

Antes, os rótulos e as tags eram relacionados. Por exemplo, se você adicionou um rótulo webserver:test a uma instância de VM, o Compute Engine adicionou automaticamente uma tag webserver à instância.

Agora, os rótulos e as tags são separados. Se você criar um rótulo em uma instância, o Compute Engine não criará uma tag para ela. Se você precisar criar uma tag em uma instância, deverá fazer isso manualmente.

Para aprender como criar tags, leia a Tags de rede.

Próximas etapas

Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…

Documentação do Compute Engine