Crear y administrar etiquetas

Puedes aplicar etiquetas de usuario a los clústeres y trabajos de Managed Service para Apache Spark con el objetivo de agrupar estos recursos para filtrarlos y enumerarlos más adelante. Debes asociar las etiquetas con los recursos cuando se crea el recurso, o el clúster o en cuando se envían los trabajos. Una vez que un recurso se asocia con una etiqueta, la etiqueta se propaga a las operaciones realizadas en el recurso (creación, actualización, actualización para parches o eliminación de clústeres; envío, actualización, cancelación o eliminación de trabajos), lo que te permite filtrar y crear listas de clústeres, trabajos y operaciones por etiqueta.

También puedes agregar etiquetas a los recursos de Compute Engine asociados con los recursos del clúster, como los discos y las instancias de máquina virtual.

¿Qué son las etiquetas de recurso?

Una etiqueta es un par clave-valor que puedes asignar a los clústeres y trabajos de Managed Service para Apache Spark. Te ayudan a organizar estos recursos y administrar los costos a gran escala, con el nivel de detalle que necesitas. Puedes adjuntar una etiqueta a cada recurso y, luego, usarlas para filtrarlos. La información sobre las etiquetas se envía al sistema de facturación que te permite desglosar los cargos facturados por etiqueta. Con los informes de facturación integrados, puedes filtrar y agrupar costos por etiquetas de recurso. También puedes usar etiquetas para consultar las exportaciones de datos de facturación.

Requisitos para las etiquetas

Las etiquetas que se aplican a un recurso deben cumplir los siguientes requisitos:

  • Cada clúster o trabajo puede tener hasta 32 etiquetas.
  • Cada etiqueta debe ser un par clave-valor.
  • La longitud de las claves debe ser de entre 1 y 63 caracteres, y no pueden estar vacías. Los valores pueden estar vacíos y su longitud máxima es de 63 caracteres.
  • Las claves y los valores pueden contener solo letras en minúscula, caracteres numéricos, guiones bajos y guiones. Todos los caracteres deben usar la codificación UTF-8, además, se permiten los caracteres internacionales. Las claves deben comenzar con una letra en minúscula o un carácter internacional.
  • La porción de clave de una etiqueta debe ser única para un solo recurso. Sin embargo, puedes usar la misma clave en varios recursos.

Estos límites se aplican a la clave y al valor de cada etiqueta, y al clúster o trabajo individual de Managed Service para Apache Spark que tiene etiquetas. No hay límite para la cantidad de etiquetas de clúster que puedes aplicar en todos los recursos de un proyecto.

Usos comunes de las etiquetas

Estos son algunos casos prácticos comunes de las etiquetas:

  • Etiquetas de equipo o del centro de costos: Agrega etiquetas por equipo o centro de costos para distinguir los clústeres y trabajos de Managed Service para Apache Spark que pertenecen a distintos equipos (por ejemplo, team:research y team:analytics). Puedes usar este tipo de etiquetas para la contabilización de costos o la creación de presupuestos.

  • Etiquetas de componentes: por ejemplo, component:redis, component:frontend, component:ingest y component:dashboard.

  • Etiquetas de entorno o etapa: por ejemplo, environment:production y environment:test.

  • Etiquetas de estado: por ejemplo, state:active, state:readytodelete y state:archive.

  • Etiquetas de propiedad: Se usan para identificar a los equipos responsables de las operaciones, por ejemplo: team:shopping-cart.

No recomendamos crear grandes cantidades de etiquetas únicas, como marcas de tiempo o valores individuales para cada llamada a la API. El problema con este enfoque es que, cuando los valores cambian con frecuencia o con claves que sobrecargan el catálogo, esto dificulta el filtrado y la generación de informes eficaces para los recursos.

Etiquetas

Las etiquetas se pueden usar como anotaciones que se pueden consultar en los recursos, pero no se pueden usar para establecer condiciones en las políticas. Las etiquetas proporcionan una forma de permitir o rechazar políticas de manera condicional en función de si un recurso tiene una etiqueta específica, ya que proporciona un control detallado sobre las políticas. Para obtener más información, consulta la Descripción general de etiquetas.

Crea y usa etiquetas de Managed Service para Apache Spark

Console

Puedes especificar un conjunto de etiquetas para agregar a un clúster o trabajo en el momento de su creación o envío con la consola de Google Cloud .

  • Agrega etiquetas a un clúster desde la página Crear clúster. Haz clic en Configuración adicional para expandir esa sección, luego edita Personalización y otros y agrega etiquetas en la sección Etiquetas.
  • Agrega etiquetas a un trabajo desde la página Enviar un trabajo, en la sección Ejecución y propiedades del trabajo > Etiquetas.

Una vez que se creó o envió un clúster o trabajo, puedes actualizar las etiquetas asociadas con el clúster o trabajo. Para actualizar las etiquetas, haz clic en el cuadro de selección de un clúster o trabajo de la lista y, luego, en SHOW INFO PANEL. Este es un ejemplo de la página Managed Service para Apache Spark > Lista de clústeres.

Comando de gcloud

Puedes especificar una o más etiquetas para aplicarlas a un clúster o trabajo de Managed Service para Apache Spark en el momento de la creación o el envío con Google Cloud CLI.

gcloud dataproc clusters create args --labels environment=production,customer=acme
gcloud dataproc jobs submit args --labels environment=production,customer=acme

Una vez que se haya creado un clúster o un trabajo de Managed Service para Apache Spark, puedes actualizar las etiquetas asociadas con ese recurso con 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

Del mismo modo, puedes usar Google Cloud CLI para filtrar los recursos de Managed Service para Apache Spark por etiqueta con una expresión de filtro con el siguiente 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"

Consulta la documentación de la API de Dataproc sobre clusters.list y jobs.list para obtener más información sobre cómo escribir una expresión de filtro.

API de REST

Las etiquetas se pueden adjuntar a clústeres o trabajos a través de la API de REST de Dataproc. Las API de clusters.create y jobs.submit pueden usarse para adjuntar etiquetas a un clúster o trabajo en el momento de la creación o el envío. Las APIs de clusters.patch y jobs.patch se pueden usar para editar etiquetas después de crear un clúster. A continuación, se muestra el cuerpo JSON de una solicitud cluster.create que adjunta la etiqueta key1:value al clúster.

{
  "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"
  }
}

Las APIs clusters.list y jobs.list se pueden usar para enumerar clústeres o trabajos que coincidan con un filtro especificado, con el siguiente formato: labels.<key=value>.

A continuación, se muestra un ejemplo de solicitud GET de HTTPS clusters.list de la API de Dataproc que especifica un filtro de etiqueta key=value. El emisor inserta project, region, un filtro label-key y label-value, y api-key. Ten en cuenta que esta solicitud de ejemplo se divide en dos líneas para facilitar la lectura.

GET https://dataproc.googleapis.com/v1/projects/project/regions/region/clusters?
filter=labels.label-key=label-value&key=api-key

Consulta la documentación de la API de Dataproc sobre clusters.list y jobs.list para obtener más información sobre cómo escribir una expresión de filtro.

Una vez que se muestre el panel de información, podrás actualizar las etiquetas de tu clúster o trabajo. A continuación, se muestra un ejemplo de actualización de etiquetas para un clúster de Managed Service para Apache Spark.

También es posible actualizar etiquetas para múltiples elementos en una operación. En este ejemplo, se actualizan las etiquetas de varios trabajos de Managed Service para Apache Spark al mismo tiempo.

Las etiquetas te permiten filtrar los recursos que se muestran en las páginas Lista de clústeres y Lista de trabajos. En la parte superior de la página, puedes usar el patrón de búsqueda labels.= para filtrar los recursos por una etiqueta.

Etiquetas aplicadas de manera automática

Cuando se crea o actualiza un clúster, Managed Service para Apache Spark aplica automáticamente varias etiquetas al clúster y a sus recursos. Por ejemplo, Managed Service para Apache Spark aplica etiquetas a las máquinas virtuales, los discos persistentes y los aceleradores cuando se crea un clúster. Las etiquetas aplicadas de forma automática tienen un prefijo goog-dataproc especial.

Las siguientes etiquetas de goog-dataproc se aplican automáticamente a los recursos de Managed Service para Apache Spark. Cualquier valor que proporciones para las etiquetas goog-dataproc reservadas durante la creación del clúster anulará los valores proporcionados de forma automática. Por esta razón, no se recomienda que proporciones tus propios valores para estas etiquetas.

Etiqueta Descripción
goog-dataproc-cluster-name Nombre del clúster especificado por el usuario.
goog-dataproc-cluster-uuid ID de clúster único.
goog-dataproc-location Extremo del clúster regional de Managed Service para Apache Spark

Puedes usar estas etiquetas aplicadas de forma automática de las siguientes maneras:

¿Qué sigue?