Usa etiquetas de red para aplicar reglas de firewall a los nodos


En esta página, se muestra cómo aplicar etiquetas de red de forma dinámica a los nodos de tus clústeres de Google Kubernetes Engine (GKE) Autopilot y Standard sin interrumpir las cargas de trabajo en ejecución.

Acerca de las etiquetas de red

Las etiquetas de red son metadatos en las máquinas virtuales (VMs) de Compute Engine que te permiten hacer que las reglas y rutas del firewall sean aplicables a instancias de VM específicas. En GKE, puedes usar etiquetas de red para que las reglas o rutas de firewall de VPC se puedan aplicar a los nodos de tu clúster.

Puedes usar la API de GKE para aplicar y actualizar etiquetas de red en tus clústeres de Autopilot y Standard sin interrumpir las cargas de trabajo en ejecución. Las etiquetas de red que especifiques también se aplicarán a los nodos nuevos que aprovisione Autopilot y a los grupos de nodos nuevos que aprovisione el aprovisionamiento automático de nodos en tus clústeres Standard.

Usa etiquetas en lugar de etiquetas de red

Las etiquetas de red son strings simples que no están sujetas a los controles de acceso de la administración de identidades y accesos. Cualquier persona con acceso a tus nodos en la API de GKE puede agregar etiquetas de red a esos nodos.

Si usas la versión 1.28 o posterior de GKE, te recomendamos que uses Etiquetas que tengan una designación de firewall para aplicar políticas de firewall de red regionales o globales, que mejoran las capacidades de las reglas de firewall de VPC.

Las etiquetas son pares clave-valor que conectas a las VMs de Compute Engine. Puedes usar IAM para controlar quién puede interactuar con etiquetas específicas.

Opciones de la línea de comandos para aplicar etiquetas de red

En la siguiente tabla, se describen las marcas que puedes especificar mediante Google Cloud CLI para aplicar etiquetas de red a tus clústeres, así como sus casos prácticos.

Marca Modo de operación Nivel Descripción
--autoprovisioning-network-tags

  • Autopilot
  • Standard
Clúster

Aplica las etiquetas de red especificadas a todos los nodos de Autopilot y a todos los grupos de nodos Standard aprovisionados de forma automática.

--tags
  • Standard
Grupo de nodos

Aplica etiquetas de red a grupos de nodos Standard específicos de forma manual.

Requisitos

Tus clústeres deben ejecutar la versión 1.23.2-gke.300 o posterior de GKE para aplicar etiquetas de red a los clústeres Autopilot o a los grupos de nodos Standard aprovisionados automáticamente con --autoprovisioning-network-tags.

Limitaciones

El uso de --autoprovisioning-network-tags evita que uses --tags a fin de actualizar las etiquetas de red para los grupos de nodos Standard aprovisionados de forma automática.

Te recomendamos usar --autoprovisioning-network-tags para los grupos de nodos aprovisionados de forma automática y que uses --tags solo en los grupos de nodos creados de forma manual.

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 gcloud components update para obtener la versión más reciente.

Agrega etiquetas de red a los clústeres nuevos

Puedes agregar etiquetas de red cuando creas un nuevo clúster de Autopilot o un clúster Standard nuevo. En Standard, también puedes especificar etiquetas de red específicamente para que las use el aprovisionamiento automático de nodos.

Autopilot

Ejecuta el siguiente comando:

gcloud container clusters create-auto CLUSTER_NAME \
    --region=COMPUTE_REGION \
    --autoprovisioning-network-tags=TAG1,TAG2,...

Reemplaza lo siguiente:

  • CLUSTER_NAME: Es el nombre del clúster nuevo de Autopilot.
  • COMPUTE_REGION: es la región de Compute Engine para el clúster nuevo.
  • TAG1,TAG2, ...: es una lista separada por comas de las etiquetas de red que deseas aplicar.

Standard

Aplica etiquetas de red al grupo de nodos predeterminado

Ejecuta el siguiente comando para crear un nuevo clúster Standard y aplica etiquetas de red al grupo de nodos predeterminado:

gcloud container clusters create CLUSTER_NAME \
    --region=COMPUTE_REGION \
    --tags=NETWORK_TAG1,NETWORK_TAG2,...

Reemplaza lo siguiente:

  • CLUSTER_NAME: es el nombre del clúster Standard nuevo.
  • COMPUTE_REGION: es la región de Compute Engine para el clúster nuevo.
  • NETWORK_TAG1,NETWORK_TAG2, ...: es una lista separada por comas de las etiquetas de red que deseas aplicar.

Aplica etiquetas de red a grupos de nodos aprovisionados de forma automática.

Puedes aplicar etiquetas de red de forma automática a todos los grupos de nodos que crea el aprovisionamiento automático de nodos.

Ejecuta el siguiente comando:

gcloud container clusters create CLUSTER_NAME \
    --region=COMPUTE_REGION \
    --enable-autoprovisioning \
    --autoprovisioning-network-tags=TAG1,TAG2,...

Reemplaza TAG1,TAG2,... por una lista de etiquetas de red separadas por comas que deseas aplicar a todos los grupos de nodos aprovisionados de forma automática.

Actualiza las etiquetas de red en los clústeres existentes

Puedes actualizar las etiquetas de red en los clústeres existentes de Autopilot y Standard.

Autopilot

Ejecuta el siguiente comando:

gcloud container clusters update CLUSTER_NAME \
    --autoprovisioning-network-tags=TAG1,TAG2,...

Standard

Actualiza las etiquetas de red en los grupos de nodos específicos

Ejecuta el siguiente comando para actualizar las etiquetas de red en un grupo de nodos Standard específico. No puedes usar este comando para actualizar grupos de nodos aprovisionados de forma automática si usaste --autoprovisioning-network-tags.

gcloud container node-pools update NODE_POOL_NAME \
    --cluster=CLUSTER_NAME \
    --tags=NETWORK_TAG1,NETWORK_TAG2,...

Si --autoprovisioning-network-tags se configura para el clúster, este comando muestra un error.

Actualiza las etiquetas de red para los grupos de nodos aprovisionados de forma automática

Puedes actualizar las etiquetas de red que se aplican al aprovisionamiento automático de nodos a los grupos de nodos aprovisionados de forma automática nuevos y existentes.

Ejecuta el siguiente comando:

gcloud container clusters update CLUSTER_NAME \
    --autoprovisioning-network-tags=TAG1,TAG2,...

Agrega etiquetas de red a los grupos de nodos Standard nuevos

Para crear un grupo de nodos nuevo en un clúster Standard con etiquetas de red específicas, ejecuta el siguiente comando:

gcloud container node-pools create NODE_POOL_NAME \
    --cluster=CLUSTER_NAME \
    --tags=NETWORK_TAG1,NETWORK_TAG2,...

Reemplaza NODE_POOL_NAME por el nombre del grupo de nodos nuevo.

Visualiza etiquetas de red existentes en clústeres y grupos de nodos

Puedes ver las etiquetas de red existentes en clústeres de Autopilot y en grupos de nodos de Standard con o sin aprovisionamiento automático de nodos.

Grupos de nodos de Autopilot y Standard aprovisionados automáticamente

  • Ejecuta el siguiente comando:

    gcloud container clusters describe CLUSTER_NAME \
        --flatten=nodePoolAutoConfig.networkTags
    

    Si el clúster tiene etiquetas de red, el resultado es similar al siguiente:

    ---
    tags:
    - example-tag
    

Grupos de nodos de Standard sin aprovisionamiento automático de nodos

  • Para ver las etiquetas de red de un grupo de nodos de Standard específico en el que aplicaste las etiquetas con la marca --tags, ejecuta el siguiente comando:

    gcloud container node-pools describe NODE_POOL_NAME\
        --cluster=CLUSTER_NAME \
        --format='value(config.tags)'
    

    Reemplaza NODE_POOL_NAME por el nombre del grupo de nodos.

    Si el grupo de nodos tiene etiquetas, el resultado es similar al siguiente:

    example-tag
    

Quita etiquetas de red de los clústeres y los grupos de nodos

Puedes quitar las etiquetas de red de los clústeres de GKE Autopilot y Standard.

Autopilot

Ejecuta el siguiente comando:

gcloud container clusters update CLUSTER_NAME \
    --autoprovisioning-network-tags=""

Standard

Quita las etiquetas de red de los grupos de nodos aprovisionados de forma automática

Para quitar las etiquetas de red de todos los grupos de nodos aprovisionados de forma automática, ejecuta el siguiente comando:

gcloud container clusters update CLUSTER_NAME \
    --autoprovisioning-network-tags=""

Mediante este comando, también se restablece la capacidad de usar la opción --tags a fin de especificar manualmente etiquetas de red para grupos de nodos aprovisionados de forma automática.

Quita las etiquetas de red de grupos de nodos específicos

Para quitar las etiquetas de red de grupos de nodos específicos, ejecuta el siguiente comando:

gcloud container node-pools update NODE_POOL_NAME \
    --cluster=CLUSTER_NAME \
    --tags=""

¿Qué sigue?