Agregar etiquetas a una implementación

Las etiquetas son una forma rápida de organizar implementaciones relacionadas o asociadas entre sí. Por ejemplo, una práctica común es etiquetar las implementaciones destinadas a la producción, etapa de pruebas o desarrollo por separado, para que puedas buscar fácilmente las implementaciones que pertenecen a cada etapa cuando lo necesites.

¿Qué son las etiquetas?

Una etiqueta es un par clave-valor que puedes asignar a las implementaciones de Google Cloud. 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 recurso puede tener hasta 64 etiquetas de clúster.
  • 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 de clúster, y a los recursos individuales de Google Cloud que tienen etiquetas de clúster. 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 por equipo o centro de costos: agrega etiquetas por equipo o centro de costos para distinguir las implementaciones pertenecientes a diferentes equipos (por ejemplo, team:research y team:analytics). Puedes usar este tipo de etiqueta para la contabilidad de costos o el presupuesto.

  • 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.

Instrucciones para crear una implementación con etiquetas

Cuando creas una implementación, para agregar etiquetas puedes proporcionar uno o más pares clave-valor como etiquetas. Si tienes una implementación existente, puedes actualizar la implementación a fin de agregar etiquetas nuevas o cambiar las existentes.

Debes usar gcloud CLI o la API para crear una implementación con con etiquetas de recursos.

gcloud

En gcloud, para agregar etiquetas a tu implementación, proporciona la marca --labels, seguida de una lista de pares clave-valor separados por comas. Por ejemplo, el siguiente comando agrega dos etiquetas a la implementación, environment=production y storage=media:

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

Para ver las etiquetas que se aplicaron a una implementación, solicita una descripción de ella:

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

En la API, sigue las instrucciones para crear tu implementación y, además, incluye la propiedad nueva labels en el cuerpo de la solicitud. Por ejemplo:

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

Instrucciones para quitar las etiquetas

Console

  1. Ve a la página Implementaciones en la consola de Google Cloud.

    Ir a la página Implementaciones

  2. Si se te solicita, selecciona el proyecto y haz clic en Continuar.

  3. Marca la casilla junto a la implementación de la cual desea quitar etiquetas. Aparecerá un panel lateral.

  4. Haz clic en la X al lado de cada etiqueta que deseas quitar.

  5. Guarda los cambios.

gcloud

En gcloud, quita las etiquetas con el comando deployments update y la marca --remove-labels, seguida de una lista separada por comas de las claves de etiquetas que deseas quitar.

Por ejemplo, lo siguiente quita una etiqueta con la clave environment:

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

API

En la API, sigue las instrucciones para actualizar la implementación y, además, incluya una actualización de la implementación que no contenga la propiedad labels en el cuerpo de la solicitud. Esto quita las etiquetas de manera efectiva.

Agregar o actualizar etiquetas

Puedes agregar nuevas etiquetas o actualizarlas en implementaciones existentes.

Console

  1. Ve a la página Implementaciones en la consola de Google Cloud.

    Ir a la página Implementaciones

  2. Si se te solicita, selecciona el proyecto y haz clic en Continuar.

  3. Marca la casilla que aparece junto a la implementación de la que deseas actualizar etiquetas. Se abrirá un panel lateral.

  4. Para cambiar los valores de las etiquetas, actualiza las entradas correspondientes de la etiqueta. Si deseas cambiar la clave de la etiqueta, deberás quitarla y agregarla nuevamente con la nueva clave.

  5. Guarda los cambios.

gcloud

En gcloud, para actualizar o agregar etiquetas nuevas, usa el comando deployments update y proporciona la marca --update-labels, seguida de una lista separada por comas de las etiquetas actualizadas:

Por ejemplo, lo siguiente actualiza la etiqueta environment:

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

API

En la API, sigue las instrucciones para actualizar la implementación y, en el cuerpo de la solicitud, omite la propiedad labels, que quita las etiquetas de la implementación.

Agregar etiquetas durante vistas previas de la implementación

Antes de crear una implementación, puedes obtener una vista previa de la implementación. Como parte de la vista previa, puedes asignar etiquetas a esa implementación. Por ejemplo:

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

Para cambiar las etiquetas durante la vista previa, debes actualizar la vista previa con las nuevas etiquetas. A fin de obtener más información sobre las vistas previas, consulta la documentación Obtener vista previa de una configuración.

Filtrar búsquedas con etiquetas

Puedes buscar tus recursos y filtrar resultados por etiquetas.

Console

  1. Ve a la página Implementaciones en la consola de Google Cloud.

    Ir a la página Implementaciones

  2. Si se te solicita, selecciona el proyecto y haz clic en Continuar.

  3. En la barra de búsqueda, comienza a escribir labels. y se mostrarán de forma automática las etiquetas que puedes usar para filtrar.

gcloud

En gcloud, haz una solicitud list y usa la marca --filter. Para filtrar por las etiquetas, usa la sintaxis labels.[KEY]=[VALUE]. Por ejemplo, si deseas filtrar en una etiqueta con environment como clave y production como valor, puedes ejecutar este comando:

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

Para obtener la documentación completa sobre la sintaxis de filtros en la CLI de gcloud, consulta la documentación de gcloud topic filters.

API

En la API, haz una solicitud de lista con un parámetro de consulta filter codificado en URL. Por ejemplo, para filtrar en función de una clave de etiqueta environment igual al valor production, realiza la siguiente solicitud GET:

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

Para obtener más información, lee la documentación de filter en la referencia de la API.

¿Qué sigue?