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
Ve a la página Redes de VPC en la consola de Google Cloud.
En la lista Redes de VPC, selecciona la red que deseas expandir.
En la lista Subredes, selecciona la subred que desees.
Haga clic en Editar.
Haz clic en Agregar rango de IP.
En Nombre de rango de subred, ingresa el nombre del nuevo rango de direcciones IPv4 secundario de la subred. Por ejemplo,
pod-range-2
En Secondary IP range, ingresa el rango de direcciones IPv4 en formato CIDR. Por ejemplo,
10.2.204.0/22
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
Ve a la página de Google Kubernetes Engine en la consola de Google Cloud.
Junto al clúster que deseas editar, haz clic en more_vert Acciones y, luego, en edit Editar.
En la sección Herramientas de redes, junto a Rangos IPv4 del Pod del clúster (adicionales), haz clic en edit Editar.
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.
Haz clic en Guardar cambios.
gcloud
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:
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 proporciona128
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 omitesname=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 paranetworkConfig.podRange
o si omites el parámetropodRange
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 denetworkConfig.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:
POOL_NAME
: el nombre del grupo de nodos nuevo.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.
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:
Actualiza la configuración del agente de enmascaramiento de IP de tu clúster. El conjunto efectivo de CIDR sin enmascarar debe incluir todos los rangos de direcciones IPv4 de Pod que usa tu clúster (y sus grupos de nodos). Para obtener más información, consulta Verifica el estado de
ip-masq-agent
y Configura y, luego, implementaip-masq-agent
.Revisa la configuración
NetworkPolicy
de tu clúster. Es posible que debas actualizar los atributosipBlock
que hagan referencia a los rangos de direcciones IPv4 de Pod.Soluciona los problemas de conectividad con los registros de flujo de VPC y los registros de reglas de firewall.
¿Qué sigue?
- Obtén más información sobre los clústeres nativos de VPC.
- Lee la descripción general de la red de GKE.
- Obtén más información para optimizar la asignación de direcciones IP.
- Obtén más información sobre las estadísticas de uso de direcciones IP de GKE.