En esta página se explica cómo puedes conseguir una comunicación fiable asignando directamente una o varias direcciones IP persistentes (estáticas) a pods específicos de tus clústeres de Google Kubernetes Engine (GKE).
En algunos casos, si utilizas una solución de traducción de direcciones de red (NAT) personalizada, puede que quieras una dirección IP estática persistente para las conexiones salientes y entrantes, tanto si la solución NAT inicia la conexión como si la recibe. También puede que quieras controlar las direcciones IP asignadas a la aplicación para gestionar cómo interactúa con otros sistemas o cómo gestiona tipos específicos de solicitudes en función de los requisitos de tu empresa.
De forma predeterminada, el pod usa las direcciones IP de su interfaz para el tráfico de salida. Las direcciones IP de la interfaz cambian cuando se reinicia o se mueve el Pod. Para tener más control sobre la comunicación de enrutamiento, puedes configurar manualmente direcciones IP persistentes para tus pods en GKE.
Estas direcciones IP pueden ser direcciones IP externas para comunicarse a través de Internet o direcciones IP internas para comunicarse dentro de tu red Google Cloud. Puedes usar las direcciones IP proporcionadas por Google o utilizar tus propias direcciones IP (BYOIP).
Si configuras direcciones IP persistentes para los pods en GKE, puedes asignar la lógica de la aplicación y de la empresa para permitir que pods específicos envíen y reciban tráfico a o desde cualquiera de las direcciones IP persistentes.
En el siguiente diagrama se muestra cómo puede usar un Pod con varias interfaces de red una dirección IP persistente de una red secundaria y, al mismo tiempo, comunicarse en la red predeterminada:

Terminología y conceptos
En esta página se utilizan los siguientes conceptos:
Clases de pasarela
Las clases de pasarela, que gestionan tus asignaciones de direcciones IP persistentes, se dividen en las siguientes clases:
- gke-persistent-regional-external-managed para direcciones IP externas
gke-persistent-regional-internal-managed para direcciones IP internas (soloGoogle Cloud)
Las clases de pasarela funcionan en regiones específicas. Las clases de pasarela ofrecen gestión básica de direcciones IP y se centran en el enrutamiento de redes de capa 3 (L3).
Objetos de pasarela
Los objetos de pasarela sirven como punto central para gestionar y configurar direcciones IP persistentes. Los objetos de pasarela de GKE gestionan un grupo de direcciones IP persistentes. En ellas se enumeran estas direcciones y se definen reglas sobre cómo se pueden asignar estas direcciones IP a GKEIPRoute
.
Listener
Un listener es una parte de la configuración de tu GKE Gateway que controla qué pods de los espacios de nombres de Gateway pueden usar las direcciones IP persistentes que tiene el Gateway. Listener te permite personalizar el acceso para ofrecer flexibilidad y seguridad. Cada Listener necesita un nombre único y te permite filtrar el acceso por espacio de nombres (todos, basado en etiquetas o solo el espacio de nombres de la Gateway).
Objeto GKEIPRoute
El objeto GKEIPRoute es un recurso personalizado que se configura para asignar una dirección IP persistente a un pod específico de tu clúster de GKE. Puede usar la sección de estado del objeto GKEIPRoute
para monitorizar la configuración de su dirección IP persistente, que proporciona información clave a través de los siguientes campos:
Pod
El campo Pod muestra el nombre exacto del pod vinculado a las direcciones IP persistentes. Un solo pod puede usar varias direcciones IP persistentes.
Condiciones
El campo Condiciones indica si la configuración de tu dirección IP externa funciona correctamente y también puede ayudarte a diagnosticar problemas si la configuración no es válida. Hay cuatro condiciones:
Accepted
: indica si la especificación del recursoGKEIPRoute
es válida. Si tu configuración tiene errores, la condiciónAccepted
seráFalse
con un motivo.GCPReady
: indica que Google Cloud ha preparado todos los recursos necesarios. Los errores que se produzcan durante el proceso de aprovisionamiento de recursos se reflejan en el estado de la condiciónGCPReady
. Google CloudDPV2Ready
: indica el estado de la programación de la ruta de datos, como si la ruta de datos está lista y programada para permitir conexiones de red en las direcciones IP persistentes configuradas.Ready
: indica que la configuración de tu dirección IP persistente es válida y funciona. Se puede acceder a los pods mediante las direcciones IP persistentes proporcionadas si has configurado tu aplicación para que las use. El valor esTrue
cuando las tres condiciones anteriores también sonTrue
.
Modos de reacción
Los modos de reacción determinan cómo se comporta el sistema cuando el pod vinculado a una dirección IP persistente sufre cambios, como cuando se mueve entre nodos o cuando hay disponible un pod coincidente recién creado. Puedes usar los modos de reacción para que tus direcciones IP persistentes sigan siendo utilizables aunque cambien tus pods.
Los modos de reacción son los siguientes:
ReadyCondition
En el modo ReadyCondition, el sistema de direcciones IP persistentes prioriza el estado de los pods. El sistema de direcciones IP persistentes solo asigna direcciones IP a los pods que coinciden con las etiquetas especificadas y que han superado las comprobaciones de estado de Kubernetes, lo que indica que su estado
Ready
esTrue
. Este modo es ideal para las aplicaciones en las que es fundamental que el pod que recibe la dirección IP persistente esté totalmente preparado para gestionar el tráfico entrante y saliente.Exists
El modo Existe prioriza la presencia de un pod. La dirección IP persistente se asigna a un pod si este coincide con las etiquetas de tu configuración y se ha programado en un nodo específico de tu clúster. Esto significa que el pod existe y tiene un lugar designado para ejecutarse. Este modo es adecuado para situaciones en las que la asignación rápida de la dirección IP persistente tiene prioridad sobre la disponibilidad estricta, o en entornos como los de desarrollo y pruebas, en los que la conectividad inmediata puede ser más importante que el estado de la aplicación.
StatefulSets
Los StatefulSets son un tipo de carga de trabajo de Kubernetes diseñada para aplicaciones que necesitan identificadores estables y almacenamiento persistente. Los pods de un StatefulSet tienen nombres predecibles (por ejemplo, my-app-0, my-app-1).
Implementaciones
Las despliegues son un tipo de carga de trabajo de Kubernetes que se usa para gestionar aplicaciones sin estado en las que los pods suelen ser intercambiables. Los nombres de los pods de las implementaciones no se pueden predecir por completo.
Casos prácticos
Las direcciones IP persistentes de los pods de GKE se adaptan a varios casos prácticos de proveedores de servicios de redes y seguridad que ejecutan aplicaciones relacionadas con redes en GKE y GKE Enterprise.
Las direcciones IP persistentes de los pods de GKE se usan en los siguientes casos:
- Control sobre NAT: al asignar direcciones IP persistentes a los pods que ejecutan funciones de red, obtienes un control granular sobre las direcciones IP de origen que se usan para el tráfico saliente. Esto te permite integrar tu lógica de NAT propietaria.
- Grupos de direcciones IP dedicadas: las direcciones IP dedicadas te permiten asignar direcciones específicas a pods de 5G Core concretos, lo que garantiza la compatibilidad con software de proveedores especializados.
- Flujos de tráfico fiables: como el tráfico de retorno debe enrutarse a través de la misma función de red, las direcciones IP persistentes aseguran que los sistemas externos reconozcan y respondan al pod correcto sin interrupciones en la comunicación.
Ventajas
Las direcciones IP persistentes de los pods de GKE ofrecen las siguientes ventajas:
- Identidad externa: si asignas a un pod una dirección IP persistente externa, los sistemas externos podrán acceder a ese pod de forma constante, aunque se reinicie o se mueva dentro del clúster. Esto resulta útil para los servicios que necesitan un endpoint visible externamente.
- Comunicación fiable: las aplicaciones que dependen de otros recursos con direcciones IP específicas pueden establecer conexiones de forma fiable mediante direcciones IP persistentes. Las direcciones IP persistentes son importantes para los sistemas o las aplicaciones antiguos con dependencias de direcciones IP codificadas.
- Migraciones de versiones anteriores: las migraciones de versiones anteriores pueden ayudar a migrar aplicaciones que dependen de tener direcciones IP específicas durante el proceso de transición.
- BYOIP: con BYOIP, puedes mantener el control sobre intervalos de direcciones IP específicos que ya tengas usándolos en tus clústeres de GKE.
Siguientes pasos
- Controlar la comunicación con direcciones IP persistentes en pods de GKE
- Consulta Información sobre la compatibilidad con varias redes para pods.
- Consulte Configurar la compatibilidad con varias redes para pods.