En esta página, se explica cómo puedes lograr una comunicación confiable asignando directamente una o más direcciones IP persistentes (estáticas) a Pods específicos dentro de tus clústeres de Google Kubernetes Engine (GKE).
En ciertos casos, cuando ejecutas una solución personalizada de traducción de direcciones de red (NAT), es posible que desees una dirección IP estática persistente para las conexiones entrantes y salientes, ya sea cuando la solución de NAT inicia la conexión o cuando la recibe. También es posible que desees controlar las direcciones IP asignadas a la aplicación para administrar cómo interactúa con otros sistemas o cómo controla tipos específicos de solicitudes según tus requisitos comerciales.
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 direcciones IP persistentes de forma manual 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 de Google Cloud. Puedes usar direcciones IP proporcionadas por Google o proporcionar tus propias direcciones IP (BYOIP).
Si configuras direcciones IP persistentes para los Pods en GKE, puedes asignar la lógica empresarial y de la aplicación para permitir que Pods específicos envíen y reciban tráfico hacia o desde cualquiera de las direcciones IP persistentes.
En el siguiente diagrama, se ilustra cómo un Pod con varias interfaces de red puede usar 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 usan los siguientes conceptos:
Clases de puerta de enlace
Las clases de puerta de enlace, que administran 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 puerta de enlace funcionan en regiones específicas. Las clases de puerta de enlace ofrecen administración básica de direcciones IP y se enfocan en el enrutamiento de red de capa 3 (L3).
Objetos de puerta de enlace
Los objetos de puerta de enlace sirven como punto central para administrar y configurar direcciones IP persistentes. Los objetos Gateway en GKE administran 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
.
Objeto de escucha
Un objeto de escucha es una parte de la configuración de GKE Gateway que controla qué Pods de los espacios de nombres de la puerrta de enlace pueden usar las direcciones IP persistentes que contiene la puerta de enlace. El dispositivo Listener te permite personalizar el acceso para mayor flexibilidad y seguridad. Cada objeto Listener necesita un nombre único y te permite filtrar el acceso por espacio de nombres (todos, basados en etiquetas o solo el espacio de nombres de la Gateway).
Objeto GKEIPRoute
El objeto GKEIPRoute es un recurso personalizado que configuras para asignar una dirección IP persistente a un Pod específico en tu clúster de GKE. Puedes usar la sección de estado del objeto GKEIPRoute
para supervisar la configuración de tu dirección IP persistente, que proporciona información clave a través de los siguientes campos:
Pod
En el campo Pod, se 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. Existen cuatro condiciones:
Accepted
: Indica si la especificación del recursoGKEIPRoute
es válida. Si tu configuración tiene errores, la condiciónAccepted
esFalse
con un motivo.GCPReady
: Indica que Google Cloud preparó todos los recursos necesarios. Los errores que se producen durante el proceso de aprovisionamiento de recursos de Google Cloud se reflejan en el estado de la condiciónGCPReady
.DPV2Ready
: Indica el estado de la programación de la ruta de datos, por ejemplo, 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 funcional. Se puede acceder a los Pods en las direcciones IP persistentes, siempre y cuando hayas configurado tu aplicación para que las use. Se establece enTrue
cuando las otras tres condiciones precedentes 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 moverse entre nodos o cuando un Pod coincidente recién creado está disponible. Puedes usar los modos de reacción para mantener tus direcciones IP persistentes utilizables incluso cuando cambien tus Pods.
Los modos de reacción son uno de los siguientes:
ReadyCondition
En el modo ReadyCondition, el sistema de direcciones IP persistentes prioriza el estado del Pod. El sistema de direcciones IP persistentes solo asigna direcciones IP a los Pods que coinciden con las etiquetas especificadas y que superaron los sondeos de verificación de estado de Kubernetes, lo que indica que su estado de
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é completamente preparado para controlar el tráfico entrante y saliente.Exists
El modo Exists prioriza la presencia de un Pod. La dirección IP persistente se adjunta a un Pod si este coincide con las etiquetas de tu configuración y se programó 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 el desarrollo y las pruebas, en los que la conectividad inmediata podría ser más importante que el estado completo 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 dentro de un StatefulSet tienen nombres predecibles (por ejemplo, my-app-0, my-app-1).
Implementaciones
Los Deployments son un tipo de carga de trabajo de Kubernetes para administrar aplicaciones sin estado en las que los Pods suelen ser intercambiables. Los nombres de los Pods dentro de las implementaciones no son completamente predecibles.
Casos de uso
Las direcciones IP persistentes para los Pods de GKE abordan varios casos de uso para los proveedores de servicios de red y seguridad que ejecutan aplicaciones relacionadas con la red en GKE y GKE Enterprise.
Las direcciones IP persistentes para Pods de GKE abordan los siguientes casos de uso:
- Control sobre la NAT: Si asignas direcciones IP persistentes a los Pods que ejecutan funciones de red, obtienes un control detallado 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 asociar direcciones específicas a Pods individuales de 5G Core, lo que garantiza la compatibilidad con software especializado de proveedores.
- Flujos de tráfico confiables: Dado que el tráfico de retorno debe enrutarse a través de la misma función de red, las direcciones IP persistentes garantizan que los sistemas externos reconozcan y respondan al Pod correcto sin interrupciones en la comunicación.
Beneficios
Las direcciones IP persistentes para Pods de GKE te brindan los siguientes beneficios:
- Identidad externa: Si le asignas a un Pod una dirección IP externa persistente, los sistemas externos podrán acceder a ese Pod de forma coherente, incluso si se reinicia o se mueve dentro del clúster. Esto es útil para los servicios que necesitan un extremo detectable de forma externa.
- Comunicación confiable: Las aplicaciones que dependen de otros recursos con direcciones IP específicas pueden establecer conexiones de manera confiable con direcciones IP persistentes. Las direcciones IP persistentes son importantes para los sistemas o las aplicaciones heredados con dependencias de direcciones IP codificadas.
- Migraciones heredadas: Las migraciones heredadas pueden ayudar a migrar aplicaciones que dependen de tener direcciones IP específicas durante el proceso de transición.
- BYOIP: BYOIP te permite mantener el control sobre rangos de direcciones IP específicos que ya posees usándolos en tus clústeres de GKE.
¿Qué sigue?
- Controla la comunicación con direcciones IP persistentes en Pods de GKE
- Lee Acerca de la compatibilidad con varias redes para Pods
- Lee Configurar la compatibilidad con varias redes para Pods