Crea y administra etiquetas en GKE en Azure
En esta página, se muestra cómo crear y administrar etiquetas en tus clústeres de GKE en Azure.
Descripción general
Una etiqueta es un par clave-valor que se puede adjuntar a un recurso dentro de Google Cloud. Puedes usar etiquetas para permitir o denegar políticas de forma condicional en función de si un recurso tiene una etiqueta específica.
Como administrador de la plataforma, un caso de uso de las etiquetas podría ser otorgar de forma condicional roles de Identity and Access Management (IAM) en función de si un clúster tiene una etiqueta específica. Por ejemplo, puedes configurar GKE para que otorgue de forma automática roles de Identity and Access Management a los usuarios que son contratistas a fin de que puedan acceder a clústeres específicos que, por lo general, están disponibles solo para empleados de tiempo completo.
Después de crear una etiqueta, puedes adjuntarla a un recurso Google Cloud como un par clave-valor con una vinculación de etiquetas. Para cada clave, puedes adjuntar un valor a un recurso. Por ejemplo, si adjuntaste env:dev a un clúster de GKE en Azure, no puedes adjuntar también env:prod o env:test. Puedes adjuntar hasta 50 etiquetas a cada recurso.
En GKE en Azure, existen varios métodos para anotar tus recursos, como se describe en la siguiente tabla:
| Tipo de anotación | Nivel | Descripción | Ejemplo |
|---|---|---|---|
| Etiquetas | Clúster de GKE |
Permitir o denegar de forma condicional las políticas según la etiqueta. Para obtener más información, consulta la Descripción general de las etiquetas en la documentación de Resource Manager. |
Otorgar automáticamente a los usuarios que son contratistas acceso a clústeres específicos que suelen estar disponibles solo para empleados de tiempo completo. |
| Etiquetas de clúster de GKE | Clúster de GKE |
Organizar los recursos de GKE para realizar un seguimiento del uso y la facturación. Para obtener más información, consulta Etiquetas de clúster. |
Diferenciar entre clústeres que pertenecen a equipos o centros de costos específicos de tu organización. |
| Etiquetas de Kubernetes | Clúster de GKE |
Asociar los componentes y los recursos de los clústeres entre sí y administrar los ciclos de vida de los recursos. Para obtener más información, consulta Etiquetas y selectores de Kubernetes. |
Requerir que las cargas de trabajo estén programadas en nodos con etiquetas específicas. |
Antes de comenzar
Antes de comenzar, asegúrate de haber realizado las siguientes tareas:
- Habilita la API de Google Kubernetes Engine. Habilitar la API de Google Kubernetes Engine
- Si deseas usar Google Cloud CLI para esta tarea, instala y, luego, inicializa gcloud CLI. Si ya instalaste gcloud CLI, ejecuta el comando
gcloud components updatepara obtener la versión más reciente. Es posible que las versiones anteriores de gcloud CLI no admitan la ejecución de los comandos que se describen en este documento.
Asegúrate de tener los siguientes roles de IAM para trabajar con etiquetas:
roles/resourcemanager.tagAdminroles/resourcemanager.tagUser
Para obtener información sobre los permisos otorgados por estos roles, consulta Permisos obligatorios en la documentación de Resource Manager.
- Asegúrate de tener un clúster de GKE en Azure en ejecución.
Crea claves y valores de etiqueta
Antes de poder adjuntar una etiqueta a tus recursos de GKE, debes crear la etiqueta y configurar sus valores. Para crear valores y claves de etiqueta, consulta Crea una etiqueta y Agrega valores de etiqueta en la documentación de Resource Manager.
Adjunta etiquetas a un clúster
Puedes adjuntar etiquetas a un clúster existente si tienes los permisos correctos a través de Google Cloud CLI, la Google Cloud consola o la API de etiquetas.
gcloud
Para crear una vinculación de etiqueta a fin de adjuntar una etiqueta a un clúster, ejecuta el siguiente comando:
gcloud resource-manager tags bindings create \
--tag-value=TAG_VALUE_ID \
--parent=RESOURCE_ID \
--location=CLUSTER_LOCATION
Reemplaza lo siguiente:
TAG_VALUE_ID: el ID permanente o el nombre con espacio de nombres del valor de la etiqueta que se adjuntará. Por ejemplo,tagValues/4567890123Para obtener más detalles sobre los identificadores de etiquetas, consulta Identificadores y definiciones de etiquetas.
RESOURCE_ID: el nombre completo del recurso de tu clúster, como//container.googleapis.com/projects/PROJECT_ID/locations/CLUSTER_LOCATION/azureClusters/CLUSTER_NAME.En el ID de recurso:
PROJECT_ID: Es el ID del proyecto de Google Cloud .CLUSTER_NAME: Es el nombre del clúster.
CLUSTER_LOCATION: Es el nombre de la ubicación de Google Cloud desde la que se administra tu clúster.
Console
Ve a la página de Google Kubernetes Engine en la consola de Google Cloud .
En la lista de clústeres, haz clic en el nombre del clúster que deseas modificar.
En la sección Metadatos, junto a Etiquetas, haz clic en Editar etiquetas.
Si tu organización no aparece en el panel Etiquetas, haz clic en Seleccionar alcance. Selecciona tu organización y haz clic en Abrir.
En el panel Etiquetas, selecciona Agregar etiqueta.
Selecciona la clave para la etiqueta que deseas adjuntar de la lista. Para filtrar la lista, escribe palabras clave.
Selecciona el valor de la etiqueta que deseas adjuntar de la lista. Para filtrar la lista, escribe palabras clave.
Haz clic en Guardar.
En el cuadro de diálogo Confirmar, haz clic en Confirmar para adjuntar la etiqueta.
Una notificación confirma que se actualizaron tus etiquetas.
API
Para adjuntar una etiqueta a un recurso, primero debes crear una representación JSON de una vinculación de etiqueta que incluya los ID permanentes del valor de la etiqueta y el recurso. Para obtener más información sobre el formato de una vinculación de etiqueta, consulta la Referencia de TagBinding.
Usa el método tagBindings.create con el extremo en el que se encuentra tu clúster.
POST https://LOCATION-cloudresourcemanager.googleapis.com/v3/tagBindings
Reemplaza LOCATION por la ubicación Google Cloud
en la que se encuentra el clúster, como us-central1.
Cuerpo de la solicitud JSON:
{
"parent": "RESOURCE_ID",
"tagValue": "TAG_VALUE_ID"
}
Reemplaza lo siguiente:
RESOURCE_ID: el nombre completo del recurso de tu clúster, como//container.googleapis.com/projects/PROJECT_ID/locations/CLUSTER_LOCATION/azureClusters/CLUSTER_NAME.En el ID de recurso:
PROJECT_ID: Es el ID del proyecto de Google Cloud .CLUSTER_NAME: Es el nombre del clúster.
TAG_VALUE_ID: el ID permanente o el nombre con espacio de nombres del valor de la etiqueta que se adjuntará. Por ejemplo,tagValues/4567890123Para obtener más detalles sobre los identificadores de etiquetas, consulta Identificadores y definiciones de etiquetas.
El resultado es similar a este:
{
"done": true,
"response": {
"@type": "type.googleapis.com/google.cloud.resourcemanager.v3.TagBinding",
"name": "tagBindings///container.googleapis.com/projects/PROJECT_ID/locations/LOCATION/azureClusters/CLUSTER_NAME/tagValues/TAG_VALUE_ID",
"parent": "//container.googleapis.com/projects/PROJECT_ID/locations/LOCATION/azureClusters/CLUSTER_NAME",
"tagValue": "TAG_VALUE_ID"
}
}
Enumerar las etiquetas adjuntas a un clúster
Puedes enumerar las etiquetas adjuntas a un clúster con gcloud CLI, la consola de Google Cloud o la API de Tags.
gcloud
Para obtener una lista de vinculaciones de etiquetas adjuntas a un clúster, ejecuta el siguiente comando:
gcloud resource-manager tags bindings list \
--parent=RESOURCE_ID \
--location=CLUSTER_LOCATION
Reemplaza lo siguiente:
RESOURCE_ID: el nombre completo del recurso de tu clúster, como//container.googleapis.com/projects/PROJECT_ID/locations/CLUSTER_LOCATION/azureClusters/CLUSTER_NAME.En el ID de recurso:
PROJECT_ID: Es el ID del proyecto de Google Cloud .CLUSTER_NAME: Es el nombre del clúster.
CLUSTER_LOCATION: Es la ubicación Google Clouden la que se encuentra el clúster.
Console
Ve a la página de Google Kubernetes Engine en la consola de Google Cloud .
En la lista de clústeres, haz clic en el nombre del clúster que deseas ver.
En la sección Metadatos, junto a Etiquetas, busca los valores de etiqueta adjuntos actualmente.
API
Si deseas obtener una lista de vinculaciones de etiquetas de un clúster, usa el método tagBindings.list con el extremo en el que se encuentra tu clúster.
GET https://LOCATION-cloudresourcemanager.googleapis.com/v3/tagBindings
Cuerpo de la solicitud JSON:
{
"parent": RESOURCE_ID,
}
Reemplaza lo siguiente:
RESOURCE_ID: el nombre completo del recurso de tu clúster, como//container.googleapis.com/projects/PROJECT_ID/locations/CLUSTER_LOCATION/azureClusters/CLUSTER_NAME.En el ID de recurso:
PROJECT_ID: Es el ID del proyecto de Google Cloud .CLUSTER_NAME: Es el nombre del clúster.
El resultado es similar a lo siguiente:
"tagBindings": [
{
"name": "tagBindings/%2F%2Fcontainer.googleapis.com%2Fprojects%2Ftags-bugbash-project%2Flocations%2Fus-central1%2Fclusters%2Ftestcluster/tagValues/758072120217",
"parent": "//container.googleapis.com/projects/PROJECT_ID/locations/LOCATION/azureClusters/CLUSTER_NAME",
"tagValue": "TAG_VALUE_ID"
}
]
Desconecta etiquetas de un clúster
Puedes desconectar una etiqueta de un clúster si borras el recurso de vinculación de etiqueta adjunto al clúster con gcloud CLI, la consola deGoogle Cloud o la API de Tags. Si necesitas borrar una etiqueta, primero debes desconectarte de todos los recursos adjuntos.
gcloud
Para desconectar una vinculación de etiqueta adjunta a un clúster, ejecuta el siguiente comando:
gcloud resource-manager tags bindings delete \
--tag-value=TAG_VALUE_ID \
--parent=RESOURCE_ID \
--location=CLUSTER_LOCATION
Reemplaza lo siguiente:
TAG_VALUE_ID: el ID permanente o el nombre con espacio de nombres del valor de la etiqueta que se desconectará. Por ejemplo,tagValues/4567890123Para obtener más detalles sobre los identificadores de etiquetas, consulta Identificadores y definiciones de etiquetas.RESOURCE_ID: el nombre completo del recurso de tu clúster, como//container.googleapis.com/projects/PROJECT_ID/locations/CLUSTER_LOCATION/azureClusters/CLUSTER_NAME.En el ID de recurso:
PROJECT_ID: Es el ID del proyecto de Google Cloud .CLUSTER_NAME: Es el nombre del clúster.
CLUSTER_LOCATION: Es la Google Cloud ubicación en la que se encuentra el clúster.
Console
Ve a la página de Google Kubernetes Engine en la consola de Google Cloud .
En la lista de clústeres, haz clic en el nombre del clúster que deseas modificar.
En la sección Metadatos, junto a Etiquetas, haz clic en Editar etiquetas.
En el panel Etiquetas, junto a la etiqueta que deseas desconectar, haz clic en Borrar elemento.
Haz clic en Guardar.
En el cuadro de diálogo Confirmar, haz clic en Confirmar para desconectar la etiqueta.
Una notificación confirma que se actualizaron tus etiquetas.
API
Para borrar las vinculaciones de etiquetas de un clúster, usa el método tagBindings.delete con el extremo en el que se encuentra tu clúster.
DELETE https://LOCATION-cloudresourcemanager.googleapis.com/v3/TAG_BINDING_NAME
Reemplaza TAG_BINDING_NAME por el nombre completo de recurso del objeto tagBinding que deseas desconectar. Por ejemplo, tagBindings/container.googleapis.com/projects/PROJECT_ID/locations/LOCATION/tagValues/TAG_VALUE_ID
Borra claves de etiquetas y valores de etiquetas
Antes de borrar las claves y los valores de las etiquetas, asegúrate de que estén desconectadas de todos los recursos. Luego, consulta Borra etiquetas para borrar las claves y los valores.
Etiquetas y condiciones de Identity and Access Management
Puedes usar etiquetas y condiciones de IAM para otorgar de forma condicional vinculaciones de roles a los usuarios en la jerarquía de tu proyecto. Cuando cambias o borras la etiqueta adjunta a un clúster que tiene una política de IAM con vinculaciones de roles condicionales, GKE vuelve a evaluar los permisos de acceso según las condiciones actualizadas.
La autorización para enumerar y crear clústeres de GKE se verifica a nivel de proyecto, no a nivel de clúster individual. Si usas vinculaciones de roles de IAM condicionales con etiquetas a nivel de clúster para restringir el acceso a clústeres específicos, esos usuarios pueden experimentar errores cuando intentan enumerar o crear clústeres en el proyecto. Para evitar estos errores, adjunta una etiqueta al proyecto superior y usa una vinculación de rol condicional para otorgar la lista o crear acceso. Para obtener información sobre los roles y los permisos, consulta la referencia de roles de IAM.
Para obtener más información sobre las concesiones de acceso condicional en IAM, consulta Etiquetas y condiciones de Identity and Access Management.
¿Qué sigue?
- Obtén información sobre cómo establecer una política de la organización con etiquetas.
- Obtén más información sobre cómo administrar etiquetas y adjuntar etiquetas a los recursos.
- Consulta los demás servicios que admiten etiquetas.
- Obtén más información sobre cómo usar etiquetas con IAM.