Como criar e gerenciar rótulos

Nesta página, fornecemos uma visão geral dos rótulos de cluster no GKE.

O que são rótulos de cluster?

Um rótulo de cluster é um par de chave-valor que ajuda você a organizar os clusters do Google Cloud Platform. É possível anexar um rótulo a cada recurso e filtrar os recursos com base nesses rótulos. As informações sobre marcadores são encaminhadas ao sistema de faturamento para que você possa desmembrar as cobranças de faturamento por marcador.

Usos comuns de rótulos de cluster

Não recomendamos a criação de um grande número de rótulos exclusivos, como para carimbos de data/hora ou valores individuais para todas as chamadas de API. Veja a seguir alguns casos de uso comuns de rótulos de cluster:

  • Rótulos de cluster de equipe ou centro de custo: adicione rótulos com base em equipe ou centro de custo para distinguir os clusters pertencentes a equipes diferentes. Por exemplo, team:research e team:analytics. É possível usar esse tipo de rótulo para contabilidade de custos ou elaboração de orçamentos.

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

  • Rótulos de cluster de ambiente ou cenário: por exemplo, environment:production e environment:test.

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

Requisitos para marcadores de cluster

Os marcadores de cluster aplicados a um recurso precisam atender aos seguintes requisitos:

  • Cada recurso pode ter vários marcadores de cluster, até um máximo de 64.
  • Cada marcador de cluster precisa ser um par de chave-valor.
  • As chaves têm comprimento mínimo de um caractere e comprimento máximo de 63 caracteres, e 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.
  • A parte de chave de um marcador de cluster precisa ser exclusiva. No entanto, é possível usar a mesma chave com vários recursos.
  • As chaves precisam começar com uma letra minúscula ou um caractere internacional.

Antes de começar

Prepare-se para a tarefa tomando as seguintes medidas:

  • Verifique se você ativou a API Google Kubernetes Engine.
  • Ativar a API Google Kubernetes Engine
  • Verifique se o SDK do Cloud está instalado.
  • Defina o ID do projeto padrão:
    gcloud config set project [PROJECT_ID]
  • Se você estiver trabalhando com clusters zonais, defina a zona de computação padrão:
    gcloud config set compute/zone [COMPUTE_ZONE]
  • Se você estiver trabalhando com clusters regionais, defina a região de computação padrão:
    gcloud config set compute/region [COMPUTE_REGION]
  • Atualize a gcloud para a versão mais recente:
    gcloud components update

Sobre a rotulação de clusters

No GKE, você aplica os rótulos no nível do cluster. Quando um cluster é rotulado, o rótulo escolhido é propagado em todos os recursos individuais do cluster, como nós e discos permanentes.

Para adicionar, atualizar e remover rótulos de cluster, use o Console do Google Cloud Platform, a ferramenta de linha de comando gcloud ou a API GKE.

Como conseguir uma impressão digital do rótulo para solicitações de API

Quando você atualiza ou adiciona rótulos de cluster com a API do GKE, é necessário fornecer a impressão digital mais recente do rótulo de cluster na solicitação. Isso evita conflitos com outras solicitações.

Para receber a impressão digital mais recente do rótulo de cluster, execute uma solicitação GET no cluster apropriado. Exemplo:

GET https://container.googleapis.com/v1/projects/myproject/zones/us-central1-f/clusters/example-cluster

Na resposta, procure a propriedade labelFingerprint:

200 OK

{

 "name": "mycluster",
 "description": "test-cluster",
 "initialNodeCount": 3,
 ...
 "resourceLabels": {
    "env": "test",
    ...
  },
  "labelFingerprint": "p1ty_9HoBk0="
}

Como criar um cluster com rótulos

gcloud

Para adicionar marcadores ao criar o cluster com a ferramenta gcloud, execute o comando a seguir:

gcloud container clusters create [CLUSTER_NAME] --labels [KEY]=[VALUE]

Exemplo:

gcloud container clusters create example-cluster --labels env=dev

Console

Para adicionar rótulos ao criar o cluster com o Console do GCP, siga as etapas a seguir:

  1. Acesse o menu do Google Kubernetes Engine no Console do GCP.

    Acessar o menu do Google Kubernetes Engine

  2. Clique em Criar cluster.

  3. Configure o cluster como quiser. Em seguida, clique em Opções avançadas.

  4. Clique em Adicionar rótulo.

  5. Adicione os marcadores desejados.

  6. Clique em Criar.

API

Para incluir um rótulo ao criar o cluster, especifique o objeto resourceLabels no objeto cluster que você fornecer a projects.zones.clusters.create.

Como adicionar ou atualizar rótulos em clusters existentes

gcloud

Para atualizar os rótulos com a ferramenta gcloud, execute o seguinte comando:

gcloud container clusters update [CLUSTER_NAME] --update-labels [KEY]=[VALUE]

Por exemplo:

gcloud container clusters update example-cluster --update-labels env=dev,release=stable

A atualização do rótulo substituirá todos os rótulos atuais. Inclua os rótulos que você quiser manter com os novos que quiser adicionar.

Console

Para adicionar ou atualizar rótulos com o Console do GCP, siga as etapas a seguir:

  1. Acesse o menu do Google Kubernetes Engine no Console do GCP.

    Ir para o menu do Google Kubernetes Engine

  2. Para adicionar rótulos a um único cluster, clique no botão "Editar", que se parece com um lápis.

    1. Clique em Adicionar rótulos e adicione um ou mais rótulos.
    2. Clique em Salvar.
  3. Para adicionar rótulos a vários clusters de uma só vez:

    1. Marque a caixa de seleção dos clusters que você quer rotular.
    2. Clique em Mostrar painel de informações para expandir a coluna de rótulos se ela não estiver visível.
    3. Atualize ou adicione os novos marcadores como quiser.
    4. Clique em Salvar.

API

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

Da mesma forma que os metadados e as tags, se o cluster tiver rótulos que você quer manter, inclua esses rótulos na solicitação junto com os novos que você quer adicionar.

Por exemplo, o snippet a seguir faz uma solicitação para o método resourceLabels:

POST https://container.googleapis.com/v1/projects/myproject/zones/us-central1-f/clusters/example-cluster/resourceLabels

{
 "resourceLabels": {
  "env": "test",
  "an-existing-tag": ""
 },
 "labelFingerprint": "42WmSpB8rSM="
}

Como remover rótulos de cluster

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. Exemplo:

gcloud container clusters update example-cluster --remove-labels env

Console

Para remover um rótulo usando o Console do GCP, siga estas etapas:

  1. Acesse o menu do Google Kubernetes Engine no Console do GCP.

    Acessar o menu do Google Kubernetes Engine

  2. Para remover rótulos de um único cluster, clique no botão de edição, que tem a aparência de um lápis.

    1. Clique no X ao lado de qualquer rótulo para removê-lo.
    2. Clique em Salvar.
  3. Para remover rótulos de vários clusters de uma só vez:

    1. Marque as caixas de seleção ao lado dos clusters referentes aos rótulos que você quer remover.
    2. Clique em Mostrar painel de informações para expandir a coluna de rótulos se ela não estiver visível.
    3. Clique no X ao lado dos rótulos que você quer remover.
    4. Clique em Salvar.

API

Na API, envie uma solicitação POST ao método resourceLabels para o cluster apropriado. Forneça o labelsFingerprint atual e uma lista de marcadores vazia para remover todos os marcadores. Outra opção é fornecer uma lista com os marcadores que você quer manter, omitindo aqueles que vai remover. Exemplo:

Request

POST https://container.googleapis.com/v1/projects/myproject/zones/us-central1-f/clusters/example-cluster/resourceLabels

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

A seguir

Leia a visão geral do GKE.

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

Enviar comentários sobre…

Documentação do Kubernetes Engine