Agrega rangos de direcciones IPv4 de Pod


En esta página, se muestra cómo configurar rangos de direcciones IPv4 de Pod adicionales para un clúster nativo de la VPC y cómo especificar rangos de direcciones IPv4 de Pod personalizados para grupos de nodos de un clúster nativo de la VPC.

Los rangos de direcciones IPv4 de Pod en los clústeres nativos de la VPC siempre provienen de rangos de direcciones IPv4 secundarios de la subred. Cuando creas un clúster nuevo, le asignas un rango de direcciones IPv4 de Pod predeterminado.

  • Para los clústeres Autopilot y Standard, puedes configurar un clúster para usar rangos de direcciones IPv4 de Pod adicionales. GKE usa estos rangos de direcciones IPv4 de Pod adicionales para las direcciones IPv4 de Pod en los nodos creados en grupos de nodos futuros.
  • Para los clústeres de Standard, puedes crear grupos de nodos que usen un rango de direcciones IPv4 secundario de la subred personalizado para sus direcciones IPv4 de Pod.

Antes de comenzar

Antes de comenzar, asegúrate de haber realizado las siguientes tareas:

  • Habilita la API de Kubernetes Engine de Google.
  • Habilitar la API de Kubernetes Engine de Google
  • 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.
  • Asegúrate de tener el rol de Identity and Access Management (IAM) de administrador de la red de Compute para el proyecto que contiene la subred del clúster. Esto es necesario para crear rangos de direcciones IPv4 secundarios de la subred nuevos. Cuando uses una VPC compartida, deberás coordinar con el administrador de red para el proyecto host de la VPC compartida.
  • Asegúrate de que tu clúster de GKE sea un clúster nativo de la VPC. Los clústeres basados en rutas no admiten rangos de direcciones IPv4 de Pod adicionales ni rangos de direcciones IPv4 de Pod personalizados del grupo de nodos.
  • Revisa la sección Pasos de seguimiento.

Crea un nuevo rango de direcciones IPv4 secundario de la subred

Para crear un nuevo rango de direcciones IPv4 secundario de la subred, usa la consola de Google Cloud o Google Cloud CLI. Cada subred admite hasta 30 rangos de direcciones IPv4 secundarios. Para obtener más información, consulta Edita rangos de IPv4 secundarios en la documentación de VPC.

Console

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

    Ir a las redes de VPC

  2. En la lista Redes de VPC, selecciona la red que deseas expandir.

  3. En la lista Subredes, selecciona la subred que desees.

  4. Haga clic en Editar.

  5. Haz clic en Agregar rango de IP.

  6. En Nombre de rango de subred, ingresa el nombre del nuevo rango de direcciones IPv4 secundario de la subred. Por ejemplo, pod-range-2

  7. En Secondary IP range, ingresa el rango de direcciones IPv4 en formato CIDR. Por ejemplo, 10.2.204.0/22

  8. Haz clic en Guardar.

gcloud

gcloud compute networks subnets update SUBNET_NAME \
    --region=REGION \
    --add-secondary-ranges=SECONDARY_RANGE_NAME=SECONDARY_RANGE_CIDR

Reemplaza lo siguiente:

  • SUBNET_NAME: el nombre de la subred del clúster (la misma subred que se asignó al clúster cuando se creó).
  • REGION: la región de la subred del clúster. La región de la subred del clúster es la región que contiene el clúster de GKE.
  • SECONDARY_RANGE_NAME: el nombre del nuevo rango de direcciones IPv4 secundario de la subred que funcionará como rango de direcciones IPv4 de Pod adicional para el clúster. Por ejemplo, pod-range-2
  • SECONDARY_RANGE_CIDR: el CIDR que usará el nuevo rango de direcciones IPv4 secundario de la subred. Por ejemplo, 10.2.204.0/22

Puedes agregar dos o más rangos de direcciones IPv4 secundarios nuevos de la subred si especificas pares SECONDARY_RANGE_NAME=SECONDARY_RANGE_CIDR adicionales, separados por comas, después de la marca --add-secondary-ranges.

Asigna rangos IPv4 de Pod adicionales a un clúster

Puedes asignar rangos de direcciones IPv4 de Pod adicionales a nivel de clúster, aplicables a los nodos nuevos creados en los grupos de nodos nuevos que creas en el clúster. Para asignar rangos de direcciones IPv4 de Pod adicionales a un clúster, primero debes crear un nuevo rango de direcciones IPv4 secundario de la subred.

Se admite la asignación de rangos de direcciones IPv4 de Pod adicionales a un clúster en los siguientes casos:

  • Clústeres de Autopilot que ejecutan la versión 1.26 de GKE y versiones posteriores
  • Clústeres estándar

Console

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

    Ir a Google Kubernetes Engine

  2. Junto al clúster que deseas editar, haz clic en  Acciones y, luego, en  Editar.

  3. En la sección Herramientas de redes, junto a Rangos IPv4 del Pod del clúster (adicionales), haz clic en Editar.

  4. En el cuadro de diálogo Editar rangos IPv4 de Pod adicionales del clúster, haz clic en Rangos de CIDR secundarios de Pods y selecciona los nombres de uno o más rangos de direcciones IPv4 secundarios existentes de la subred en la subred del clúster. Si no hay rangos de direcciones IPv4 secundarios adicionales de la subred disponibles, primero crea un nuevo rango de direcciones IPv4 secundario de la subred y, a continuación, repite estos pasos.

  5. Haz clic en Guardar cambios.

gcloud

  1. Actualiza tu clúster con la marca --additional-pod-ipv4-ranges:

    gcloud container clusters update CLUSTER_NAME \
        --additional-pod-ipv4-ranges=SECONDARY_RANGE_NAME \
        --location=ZONE_OR_REGION
    

    Reemplaza lo siguiente:

    • CLUSTER_NAME: Es el nombre del clúster.
    • SECONDARY_RANGE_NAME: el nombre de uno o más rangos de direcciones IPv4 secundarios existentes de la subred en la subred del clúster, separados por comas. Si no hay rangos de direcciones IPv4 secundarios de subred disponibles, primero crea un nuevo rango de direcciones IPv4 secundario de la subred.
    • ZONE_OR_REGION: para los clústeres zonales, la zona de Compute Engine en la que se encuentra el clúster. Para los clústeres regionales, la región de Compute Engine en la que se encuentra el clúster. Para obtener una lista de las zonas y regiones, consulta Regiones y zonas en la documentación de Compute Engine.

Busca rangos IPv4 de Pod del clúster

Para buscar el rango de direcciones IPv4 de Pod predeterminado de un clúster y cualquier rango de direcciones IPv4 de Pod adicionales que se haya asignado al clúster, usa el siguiente comando:

gcloud container clusters describe CLUSTER_NAME \
  --location=ZONE_OR_REGION

Reemplaza lo siguiente:

  • CLUSTER_NAME: Es el nombre del clúster.
  • ZONE_OR_REGION: para los clústeres zonales, la zona de Compute Engine en la que se encuentra el clúster. Para los clústeres regionales, la región de Compute Engine en la que se encuentra el clúster.

El resultado es similar al siguiente, que incluye la IPAllocationPolicy del clúster:

ipAllocationPolicy:
  clusterSecondaryRangeName: cluster-pods
  clusterIpv4CidrBlock: 10.10.0.0/23
  additionalPodRangesConfig:
    podRangeNames:
      - pod-range-1
      - pod-range-2

Donde:

  • clusterSecondaryRangeName: el nombre del rango de direcciones IPv4 secundario de la subred que se usa como el rango de direcciones IPv4 de Pod predeterminado del clúster, que se definió cuando se creó el clúster.
  • clusterIpv4CidrBlock: el CIDR del rango de direcciones IPv4 secundario de la subred para las direcciones IPv4 de Pod, que se definió cuando se creó el clúster.
  • additionalPodRangesConfig.podRangeNames: una lista de cualquier rango de direcciones IPv4 secundario adicional asignado de la subred para las direcciones IPv4 de Pod.

Rangos de direcciones IPv4 de Pod personalizados del grupo de nodos

Para los clústeres de Standard que ejecutan GKE 1.20.4-gke.500 o una versión posterior, puedes asignar un rango IPv4 de Pod personalizado a un grupo de nodos nuevo a través de uno de los siguientes métodos:

  • Rango de direcciones IPv4 de Pod personalizado del grupo de nodos que administra GKE: con esta opción, creas un grupo de nodos nuevo y proporcionas a GKE la información necesaria para crear un nuevo rango de direcciones IPv4 secundario de la subred en la subred del clúster. A cada nodo nuevo creado en el grupo de nodos nuevo se le asigna un rango de direcciones IP de alias para sus direcciones IPv4 de Pod, y cada rango de direcciones IP de alias proviene del nuevo rango de direcciones IPv4 secundario de la subred que crea GKE. Esta opción solo se puede usar si el clúster y la red de VPC que contienen la subred del clúster están en el mismo proyecto.

  • Rango de direcciones IPv4 de Pod personalizado del grupo de nodos administrado por el usuario: con esta opción, creas un grupo de nodos nuevo en el que GKE usa un rango de direcciones IPv4 secundario existente de la subred. A cada nodo nuevo creado en el grupo de nodos nuevo se le asigna un rango de direcciones IP de alias para sus direcciones IPv4 de Pod, y cada rango de direcciones IP de alias proviene del rango de direcciones IPv4 secundario de la subred que le indicas a GKE que utilice. Si tu clúster se encuentra en un proyecto de servicio de VPC compartida y si la subred de tu clúster se encuentra en la red de VPC compartida del proyecto host, debes usar esta opción.

El rango de direcciones IPv4 de Pod personalizado de un grupo de nodos anula todos los rangos de direcciones IPv4 de Pod definidos a nivel de clúster, incluidos los rangos de direcciones IPv4 de Pod adicionales asignados al clúster. Los rangos de direcciones IPv4 de Pod personalizados asignados a grupos de nodos también se denominan CIDR de varios Pods discontinuos.

Ejemplo de rango de direcciones IPv4 de Pod personalizado del grupo de nodos

En el siguiente diagrama, se muestra un clúster nativo de la VPC con rangos de direcciones IPv4 de Pod administrados por el usuario:

Agrega un grupo de nodos a un clúster con un rango de direcciones IP del Pod secundario agotado mediante CIDR de varios Pods discontinuos
Diagrama: Ejemplo de rango de direcciones IPv4 de Pod personalizado del grupo de nodos

En el diagrama anterior:

  • La cantidad máxima de Pods por nodo para cada grupo de nodos del clúster se estableció en 64. Para alojar un máximo de 64 Pods por nodo, GKE crea cada nodo con un rango de direcciones IP de alias /25, lo que proporciona 128 direcciones IPv4 de Pod por nodo.
  • El rango de direcciones IPv4 de Pod predeterminado del clúster es /24. Debido a que cada nodo requiere /25 para las direcciones IPv4 del Pod, el rango de direcciones IPv4 de Pod predeterminado del clúster solo admite dos nodos.
  • Para admitir nodos adicionales, un administrador del clúster creó un grupo de nodos adicional y mantiene los Pods máximos de 64 por nodo. El grupo de nodos adicional usa un rango de direcciones IPv4 de Pod /20 personalizado, que admite 32 nodos adicionales.

Rango de direcciones IPv4 de Pod personalizado del grupo de nodos que administra GKE

Para crear un grupo de nodos con un rango de direcciones IPv4 de Pod personalizado que administra GKE, usa gcloud CLI o la API de GKE de la siguiente manera:

gcloud

gcloud container node-pools create POOL_NAME \
  --cluster=CLUSTER_NAME \
  --location=ZONE_OR_REGION \
  --create-pod-ipv4-range=name=SECONDARY_RANGE_NAME,range=CIDR_OR_NETMASK

Reemplaza lo siguiente:

  • POOL_NAME: el nombre del grupo de nodos nuevo.
  • CLUSTER_NAME: Es el nombre del clúster.
  • ZONE_OR_REGION: para los clústeres zonales, la zona de Compute Engine en la que se encuentra el clúster. Para los clústeres regionales, la región de Compute Engine en la que se encuentra el clúster. Para obtener una lista de las zonas y regiones, consulta Regiones y zonas.
  • SECONDARY_RANGE_NAME: el nombre del rango de direcciones IPv4 secundario de la subred que crea GKE. Si omites name=SECONDARY_RANGE_NAME, GKE genera de forma automática el nombre del nuevo rango de direcciones IPv4 secundario de la subred.
  • CIDR_OR_NETMASK: el rango de direcciones IPv4 de Pod expresado en formato CIDR (por ejemplo, 10.12.4.0/20) o como una máscara de subred (por ejemplo, /20).
    • Si proporcionas solo una máscara de subred, GKE intenta crear un nuevo rango de direcciones IPv4 secundario de la subred que no entre en conflicto con los rangos de direcciones IPv4 existentes de la subred en la red de VPC que contiene la subred del clúster.
    • Si omites range=CIDR_OR_NETMASK, GKE intenta crear un nuevo rango de direcciones IPv4 secundario /14 de la subred que no entra en conflicto con los rangos de direcciones IPv4 existentes de la subred en la red de VPC que contiene la subred del clúster.

API

"nodePool": {
  "name": "POOL_NAME",
  ...
  "networkConfig": {
    "createPodRange": true,
    "podRange": "SECONDARY_RANGE_NAME",
    "podIpv4CidrBlock": "CIDR_OR_NETMASK"
    }
}

Reemplaza lo siguiente:

  • POOL_NAME: el nombre del grupo de nodos nuevo.
  • SECONDARY_RANGE_NAME: el nombre del rango de direcciones IPv4 secundario de la subred que crea GKE (opcional). Si usas "" como valor para networkConfig.podRange o si omites el parámetro podRange en la solicitud, GKE genera el nuevo nombre del rango de direcciones IPv4 secundario de la subred automáticamente.
  • CIDR_OR_NETMASK: el rango de direcciones IPv4 de Pod expresado en formato CIDR (por ejemplo, 10.12.4.0/20) o como una máscara de subred (por ejemplo, /20).
    • Si proporcionas solo una máscara de subred, GKE intenta crear un nuevo rango de direcciones IPv4 secundario de la subred que no entre en conflicto con los rangos de direcciones IPv4 existentes de la subred en la red de VPC que contiene la subred del clúster.
    • Si usas "" como valor de networkConfig.podIpv4CidrBlock, GKE intenta crear un nuevo rango de direcciones IPv4 secundario /14 de la subred que no entre en conflicto con los rangos de direcciones IPv4 existentes de la subred en la red de VPC que contiene la subred del clúster.

Rango de direcciones IPv4 de Pod personalizado del grupo de nodos administrado por el usuario

Para crear un grupo de nodos con un rango de direcciones IPv4 de Pod personalizado administrado por el usuario, usa gcloud CLI o la API de GKE de la siguiente manera:

gcloud

gcloud container node-pools create POOL_NAME \
  --cluster=CLUSTER_NAME \
  --location=ZONE_OR_REGION \
  --pod-ipv4-range SECONDARY_RANGE_NAME

Reemplaza lo siguiente:

  • POOL_NAME: el nombre del grupo de nodos nuevo.
  • CLUSTER_NAME: Es el nombre del clúster.
  • ZONE_OR_REGION: para los clústeres zonales, la zona de Compute Engine en la que se encuentra el clúster. Para los clústeres regionales, la región de Compute Engine en la que se encuentra el clúster. Para obtener una lista de las zonas y regiones, consulta Regiones y zonas en la documentación de Compute Engine.
  • SECONDARY_RANGE_NAME: el nombre de un rango de direcciones IPv4 secundario existente de la subred en la subred del clúster. Si es necesario, primero crea un nuevo rango de direcciones IPv4 secundario de la subred.

API

"nodePool": {
  "name": "POOL_NAME",
  ...
  "networkConfig": {
    "createPodRange": false,
    "podRange": "SECONDARY_RANGE_NAME"
    }
}

Reemplaza lo siguiente:

Busca rangos IPv4 de Pod del grupo de nodos

Para buscar el rango de direcciones IPv4 de Pod de un grupo de nodos, usa el siguiente comando:

gcloud container node-pools describe POOL_NAME \
  --cluster=CLUSTER_NAME \
  --location=ZONE_OR_REGION

Reemplaza lo siguiente:

  • POOL_NAME: Es el nombre del grupo de nodos.
  • CLUSTER_NAME: Es el nombre del clúster.
  • ZONE_OR_REGION: para los clústeres zonales, la zona de Compute Engine en la que se encuentra el clúster. Para los clústeres regionales, la región de Compute Engine en la que se encuentra el clúster.

El resultado es similar al siguiente, que incluye el NodeNetworkConfig del grupo de nodos:

  networkConfig:
    podRange: podrange
    podIpv4CidrBlock: 192.168.0.0/18

Donde:

  • podRange: el nombre del rango de direcciones IPv4 secundario de la subred para las direcciones IPv4 de Pod del grupo de nodos.
  • podIpv4CidrBlock: el CIDR del rango de direcciones IPv4 secundario de la subred para las direcciones IPv4 de Pod del grupo de nodos.

Si el grupo de nodos usa un rango de direcciones IPv4 de Pod personalizado, los valores podRange y podIpv4CidrBlock son diferentes del rango de direcciones IPv4 de Pod predeterminado del clúster.

Pasos de seguimiento

Después de asignar rangos de direcciones IPv4 de Pod adicionales a un clúster o configurar los rangos de direcciones IPv4 de Pod personalizados del grupo de nodos, GKE actualiza la regla de firewall de VPC gke-[cluster-name]-[cluster-hash]-all creada automáticamente para que su rango de origen incluya todas las direcciones IPv4 de Pod.

Es posible que también debas hacer lo siguiente:

¿Qué sigue?