Também é possível adicionar rótulos aos recursos do Compute Engine associados aos recursos do cluster, como instâncias de máquina virtual e discos.
O que são rótulos?
Um rótulo é um par de chave-valor que pode ser atribuído a clusters e jobs do Google Cloud Dataproc. 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 custos para distinguir clusters do Dataproc e jobs de equipes diferentes (por exemplo,
team:research
eteam:analytics
). É possível usar esse tipo de rótulo para contabilidade de custos ou elaboração de orçamentos.Rótulos de componentes: por exemplo,
component:redis
,component:frontend
,component:ingest
ecomponent:dashboard
.Rótulos de ambientes ou de estágios: por exemplo,
environment:production
eenvironment:test
.Rótulos de estado: por exemplo,
state:active
,state:readytodelete
estate:archive
.Rótulos de propriedade: usados para identificar as equipes responsáveis pelas operações, por exemplo:
team:shopping-cart
.
Não recomendamos a criação de um grande número de rótulos exclusivos, como os relacionados a 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 e usar rótulos do Dataproc
Comando gcloud
É possível especificar um ou mais rótulos a serem aplicados a um cluster ou job do Dataproc no momento da criação ou do envio usando a Google Cloud CLI.
gcloud dataproc clusters create args --labels environment=production,customer=acme
gcloud dataproc jobs submit args --labels environment=production,customer=acme
Depois de criar um cluster ou job do Dataproc, é possível atualizar os rótulos associados a esse recurso usando a Google Cloud CLI.
gcloud dataproc clusters update args --update-labels environment=production,customer=acme
gcloud dataproc jobs update args --update-labels environment=production,customer=acme
Da mesma forma, é possível usar a Google Cloud CLI para filtrar recursos do Dataproc por rótulo usando
uma expressão de filtro no seguinte formato: labels.<key=value>
.
gcloud dataproc clusters list \ --region=region \ --filter="status.state=ACTIVE AND labels.environment=production"
gcloud dataproc jobs list \ --region=region \ --filter="status.state=ACTIVE AND labels.customer=acme"
Consulte a documentação da API Dataproc clusters.list e jobs.list para mais informações sobre como gravar uma expressão de filtro.
API REST
Os rótulos podem ser anexados a recursos do Dataproc por meio da API REST do Dataproc. As APIs clusters.create
e jobs.submit
podem ser usadas para anexar rótulos a um cluster ou job no momento da criação ou do envio.
As APIs clusters.patch
e jobs.patch
poderão ser usadas para editar rótulos depois da criação do recurso. Este é o corpo JSON de uma solicitação cluster.create que inclui um
rótulo key1:value
ao cluster.
{ "clusterName":"cluster-1", "projectId":"my-project", "config":{ "configBucket":"", "gceClusterConfig":{ "networkUri":".../networks/default", "zoneUri":".../zones/us-central1-f" }, "masterConfig":{ "numInstances":1, "machineTypeUri":"..../machineTypes/n1-standard-4", "diskConfig":{ "bootDiskSizeGb":500, "numLocalSsds":0 } }, "workerConfig":{ "numInstances":2, "machineTypeUri":"...machineTypes/n1-standard-4", "diskConfig":{ "bootDiskSizeGb":500, "numLocalSsds":0 } } }, "labels":{ "key1":"value1" } }
As APIs clusters.list e jobs.list
podem ser usadas para listar recursos que correspondem a um filtro especificado, usando
o seguinte formato: labels.<key=value>
.
Veja um exemplo de solicitação HTTPS GET
clusters.list
da API Dataproc que especifica um filtro de rótulo key=value
. O autor da chamada insere
project
, region
, um filtro label-key
e label-value
e um api-key
. Essa solicitação de exemplo é dividida em duas linhas para facilitar a leitura.
GET https://dataproc.googleapis.com/v1/projects/project/regions/region/clusters? filter=labels.label-key=label-value&key=api-key
Consulte a documentação da API Dataproc clusters.list e jobs.list para mais informações sobre como gravar uma expressão de filtro.
Console
Você pode especificar um conjunto de rótulos para adicionar a um recurso do Dataproc no momento da criação ou do envio usando o console do Google Cloud.
- Adicione rótulos a um cluster na seção "Rótulos" do painel "Personalizar cluster" da página Criar um cluster do Dataproc.
- Adicione rótulos a um job na página Enviar um job do Dataproc.
Depois de criar um recurso do Dataproc, você pode atualizar os rótulos
associados a esse recurso. Para atualizar os rótulos, primeiro você precisa clicar em SHOW INFO PANEL
no canto superior
esquerdo da página. Este é um exemplo da página Dataproc→Listar clusters.
Uma vez que o painel de informação é exibido, você pode atualizar os rótulos dos recursos do Dataproc. Veja abaixo um exemplo de como atualizar os rótulos de um cluster do Dataproc.
Também é possível atualizar os rótulos de vários itens em uma única operação. Neste exemplo, os rótulos de vários jobs do Dataproc estão sendo atualizados ao mesmo tempo.
Os rótulos permitem filtrar os recursos do Dataproc mostrados nas páginas Dataproc → Listar clusters e Dataproc → Listar jobs. Na parte superior da página, use o padrão de pesquisa labels.<labelname>=<value>
para filtrar recursos por um rótulo.
Rótulos aplicados automaticamente
Ao criar ou atualizar um cluster, o Dataproc aplica automaticamente
vários rótulos ao cluster e aos recursos do cluster. Por exemplo,
o Dataproc aplica rótulos a máquinas virtuais, discos permanentes
e aceleradores quando um cluster é criado. Os rótulos aplicados automaticamente têm um
prefixo goog-dataproc
especial.
Os rótulos goog-dataproc
a seguir são aplicados automaticamente aos
recursos do Dataproc. Todos os valores fornecidos para os rótulos
goog-dataproc
reservados na criação do cluster modificarão
os valores fornecidos automaticamente. Por esse motivo, não é recomendável fornecer os próprios valores para esses rótulos.
Rótulo | Descrição |
---|---|
goog-dataproc-cluster-name |
Nome do cluster especificado pelo usuário. |
goog-dataproc-cluster-uuid |
ID do cluster exclusivo. |
goog-dataproc-location |
Endpoint do cluster regional do Dataproc |
Você pode usar esses rótulos aplicados automaticamente de várias maneiras, incluindo:
- Como pesquisar e filtrar recursos do Dataproc
- Como filtrar dados de faturamento para calcular os custos do Dataproc