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 te ayuda a organizar tus implementaciones de Google Cloud. Puedes adjuntar una etiqueta a cada recurso y, luego, usarlas para filtrarlos. La información sobre las etiquetas se reenvía al sistema de facturación a fin de que puedas desglosar tus cargos de facturación según las etiquetas.

Usos comunes de las etiquetas

No recomendamos crear grandes cantidades de etiquetas únicas, como marcas de tiempo o valores individuales para cada llamada a la API. 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.

Requisitos para las etiquetas

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

  • Cada recurso puede tener varias etiquetas, hasta 64.
  • Cada etiqueta debe ser un par clave-valor.
  • Las claves deben tener una longitud mínima de 1 carácter y un máximo de 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 y, también, se permiten los caracteres internacionales.
  • La porción de clave de una etiqueta debe ser única. Sin embargo, puedes usar la misma clave en varios recursos.
  • Las claves deben comenzar con una letra en minúscula o un carácter internacional.

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 la herramienta de gcloud o la API para crear una implementación con etiquetas.

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, devserver=backend y storage=media:

gcloud deployment-manager deployments create example-deployment --config example-config.yaml \
        --labels devserver=backend,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: devserver
      value: backend
    - 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": "devserver",
        "value": "backend"
      },
      {
        "key": "storage",
        "value": "media"
      }
     ]
    }
    

Instrucciones para quitar las etiquetas

Console

  1. Ve a la página Implementacionesen Google Cloud Console.

    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 devserver:

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

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 Implementacionesen Google Cloud Console.

    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 devserver:

gcloud deployment-manager deployments update example-deployment --update-labels devserver=frontend
    

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 ella. 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 devserver=backend --preview
    

Para cambiar las etiquetas durante la vista previa, debes actualizar la vista previa con las etiquetas nuevas. 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 Implementacionesen Google Cloud Console.

    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 las etiquetas, usa la sintaxis labels.[KEY]=[VALUE]. Por ejemplo, si deseas usar una etiqueta con env como clave y dev como valor para el filtrado, puedes ejecutar este comando:

gcloud deployment-manager deployments list --filter labels.env=dev
    

Para obtener la documentación completa sobre la sintaxis de filtros en la herramienta 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 según una clave de etiqueta env que sea igual al valor dev, realiza la siguiente solicitud GET:

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

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

Qué sigue