Parámetros de servicio de LoadBalancer


En esta página se describen los parámetros de los manifiestos de servicio que controlan el comportamiento y la configuración de LoadBalancer. Antes de leer esta página, asegúrate de conocer los conceptos de servicio LoadBalancer de Google Kubernetes Engine (GKE).

Parámetros de servicio

GKE admite los siguientes parámetros para los servicios de balanceadores de carga.

Parámetro Campo de servicio y descripción Interno Externo Compatibilidad con versiones
Balanceador de carga de red de paso a través interno networking.gke.io/load-balancer-type: "Internal"

Indica a GKE que cree un balanceador de carga de red de paso a través interno.

El balanceador de carga usa backends de NEG GCE_VM_IP si el manifiesto de Service se aplica a un clúster con la opción Subconjuntos de GKE habilitada. El balanceador de carga usa backends de grupos de instancias si el manifiesto de Service se aplica a un clúster que no tiene habilitado el subconjunto de GKE.

Para obtener más información, consulta la sección Agrupación de nodos .

Todas las versiones compatibles.
Balanceador de carga de red de paso a través externo basado en el servicio de backend cloud.google.com/l4-rbs: "enabled"

Indica a GKE que cree un balanceador de carga de red de paso a través externo basado en un servicio de backend.

El balanceador de carga usa GCE_VM_IP backends de NEG si el manifiesto de Service se aplica a un clúster que ejecuta la versión 1.32.2-gke.1652000 de GKE o una posterior. El balanceador de carga usa backends de grupos de instancias si el manifiesto de Service se aplica a un clúster que ejecuta una versión anterior compatible de GKE.

Para obtener más información, consulta la sección Agrupación de nodos .

GKE 1.25.5
Balanceo de carga ponderado networking.gke.io/weighted-load-balancing: "pods-per-node"

Permite que los nodos que tienen más pods de servicio reciban una mayor proporción de conexiones nuevas en comparación con los nodos que tienen menos pods de servicio.

GKE 1.31.0 o versiones posteriores
Política de tráfico interno spec.internalTrafficPolicy

Si se define como Local, GKE solo enruta paquetes de pods de cliente de un nodo a pods de servicio del mismo nodo. Si se define como Cluster, GKE enruta los paquetes de los pods de cliente de un nodo a los pods de servicio de cualquier nodo. Para obtener más información, consulta la Política de tráfico interno de servicios.

Este parámetro no se admite en los clústeres que ejecutan GKE Dataplane V2.

GKE 1.22 y versiones posteriores
Política de tráfico externo spec.externalTrafficPolicy

Controla qué VMs de nodo superan las comprobaciones de estado del balanceador de carga y cómo se enrutan los paquetes a los pods listos y activos del clúster. También controla cómo se agrupan los nodos en GCE_VM_IP NEGs cuando se habilita la creación de subconjuntos de GKE.

Para obtener más información, consulta los conceptos de servicio LoadBalancer.

GKE 1.14 o versiones posteriores (1.23.4-gke.400 o versiones posteriores para grupos de nodos de Windows).
Afinidad zonal (vista previa) spec.trafficDistribution

Habilita la afinidad zonal para los servicios LoadBalancer internos. La afinidad de zona controla la zona a la que el balanceador de carga de red con paso a través interno dirige el tráfico entrante de los clientes compatibles cuando es posible una coincidencia de zona. Para usar la afinidad zonal, debes habilitar la creación de subconjuntos de GKE.

Para obtener más información, consulta el artículo sobre afinidad de zona y distribución del tráfico.

GKE 1.33.3-gke.1392000 o versiones posteriores.
Puerto de comprobación del estado spec.healthCheckNodePort

Despliega una comprobación del estado del balanceador de carga para los servicios LoadBalancer. Este parámetro solo es válido si se asigna el valor Local a spec.externalTrafficPolicy.

Todas las versiones compatibles.
Reglas de cortafuegos y lista de permitidas de direcciones IP de origen spec.loadBalancerSourceRanges

Configura reglas de cortafuegos opcionales en GKE y en la red de VPC para permitir solo determinados intervalos de origen. kube-proxy también configura reglas de iptables para que coincidan con los intervalos de origen especificados.

Todas las versiones compatibles.
Direcciones IP estáticas
  • spec.loadBalancerIP (solo IPv4)
  • networking.gke.io/load-balancer-ip-addresses

Especifica una dirección IPv4 estática, un intervalo de direcciones IPv6 estáticas o ambas, que se asignan a las reglas de reenvío del balanceador de carga. Consulta Consideraciones para compartir una dirección IP común para obtener información sobre los requisitos de configuración y los detalles de implementación.

  • spec.loadBalancerIP: todas las versiones admitidas.
  • networking.gke.io/load-balancer-ip-addresses: GKE 1.29 y versiones posteriores. Consulta los parámetros de dirección IP estática para ver los requisitos adicionales de configuración o anotación de clústeres.
Niveles de servicio de red cloud.google.com/network-tier

Especifica qué niveles de servicio de red usa GKE para la regla de reenvío externa y la dirección IP. Los valores válidos de la anotación son Standard y Premium (valor predeterminado).

GKE 1.19 y versiones posteriores.
Subred personalizada
  • networking.gke.io/internal-load-balancer-subnet
  • networking.gke.io/load-balancer-subnet

(solo se aplica a IPv6)
Acceso global networking.gke.io/internal-load-balancer-allow-global-access: "true"

Permite que los clientes de cualquier región de la red de VPC o de una red conectada puedan acceder a la dirección IP de la regla de reenvío.

Vista previa en GKE 1.16+. Disponible para el público general en GKE 1.17.9-gke.600+.
Todos los puertos

GKE configura automáticamente la regla de reenvío para usar todos los puertos si se especifican más de cinco (hasta 100) puertos únicos en spec.ports[].port.

Versión 1.18.19-gke.1400 de GKE o posterior
ipFamilyPolicy

spec.ipFamilyPolicy

Define cómo asigna GKE direcciones IP a un servicio. Puedes definir spec.ipFamilyPolicy como SingleStack, PreferDualStack o RequireDualStack.

Para obtener más información, consulta Servicios de pila dual IPv4/IPv6.

Los clústeres de GKE con la versión 1.29 o posterior admiten redes de doble pila para los servicios LoadBalancer.
ipFamilies (opcional)

spec.ipFamilies

Define la familia de direcciones IP para asignar servicios de pila única o de pila dual. Usa cualquiera de los siguientes valores:

  • IPv4 solo para el servicio IPv4 de pila única.
  • IPv6 solo para el servicio IPv6.
  • IPv4,IPv6 para el servicio de doble pila en el que la dirección IP principal del servicio es IPv4.
  • IPv6,IPv4 para el servicio de doble pila en el que la dirección IP principal del servicio es IPv6.
Los clústeres de GKE con la versión 1.29 o posterior admiten redes de doble pila para los servicios LoadBalancer.

Puerto de comprobación del estado

Como se describe en Comprobaciones del estado de los balanceadores de carga, GKE siempre implementa una comprobación del estado de un balanceador de carga cuando crea un balanceador de carga de red de paso a través externo o interno.

Si puedes configurar el parámetro healthCheckNodePort o no, depende de la siguiente configuración de externalTrafficPolicy:

externalTrafficPolicy Puerto de comprobación del estado
Cluster

No puedes usar spec.healthCheckNodePort.

Local

Puedes seleccionar un puerto personalizado con el spec.healthCheckNodePort. Si no se especifica, el plano de control de Kubernetes asigna un puerto de comprobación del estado del intervalo de puertos de nodo.

Reglas de cortafuegos y lista de permitidas de direcciones IP de origen

A menos que hayas configurado un clúster para omitir la creación de reglas de cortafuegos de VPC para los servicios LoadBalancer, GKE crea una regla de cortafuegos de VPC de entrada para cada servicio.

Cada regla de cortafuegos creada automáticamente tiene las siguientes características:

  • La dirección de la regla de cortafuegos es de entrada y su acción es permitir. Las reglas de cortafuegos de entrada de denegación implícita de Google Cloud significan que GKE usa un modelo de lista de permitidos al crear reglas de cortafuegos de entrada.
  • GKE asigna el protocolo y el puerto de destino de la regla de cortafuegos a los especificados en la lista spec.ports[] del servicio.
  • GKE configura las reglas de cortafuegos de los servicios LoadBalancer definiendo explícitamente el parámetro de destino en la dirección IP virtual del balanceador de carga (la regla de reenvío del balanceador de carga).
  • GKE asigna el valor target parameter de la regla de cortafuegos para incluir todos los nodos del clúster.
  • Si el Servicio incluye spec.loadBalancerSourceRanges[], GKE asigna al parámetro de origen de la regla de firewall las direcciones IP de esa lista. Además, GKE configura rutas y reglas en el sistema operativo del nodo para limitar las direcciones IP de origen del tráfico balanceado de carga mediante kube-proxy y iptables (Dataplane antiguo) o cilium-agent y reglas eBPF (GKE Dataplane V2). Si el servicio no incluye loadBalancerSourceRanges[], GKE asigna el parámetro de origen de la regla de firewall a todas las direcciones IP (0.0.0.0/0).

Direcciones IP estáticas

Puedes crear una dirección IP estática y configurar GKE para que asigne esa dirección estática a la regla de reenvío del balanceador de carga. Si usas una dirección IP estática, te aseguras de que la dirección IP del balanceador de carga siga siendo la misma aunque hagas cambios en el servicio LoadBalancer. Sin una dirección IP estática, es posible que GKE asigne una dirección IP diferente a la regla de reenvío del balanceador de carga cuando actualices un servicio LoadBalancer. La dirección IP de la regla de reenvío no es la misma que la dirección spec.clusterIP del servicio. La dirección ClusterIP de un servicio nunca cambia cuando actualizas un servicio LoadBalancer.

Parámetros de dirección IP estática

Para indicar a un servicio LoadBalancer que use una dirección IP estática, usa el parámetro spec.loadBalancerIP o la anotación networking.gke.io/load-balancer-ip-addresses. En GKE 1.29 y versiones posteriores, la anotación tiene prioridad sobre spec.loadBalancerIP si el manifiesto de Service contiene tanto el parámetro como la anotación.

Parámetro o anotación y valor Requisitos y funciones
spec.loadBalancerIP:
IPv4_ADDRESS

Puedes especificar una dirección IPv4 interna estática para un servicio Internal LoadBalancer solo IPv4. Puedes especificar una dirección IPv4 externa estática para un servicio External LoadBalancer solo IPv4. El parámetro funciona con todas las versiones de GKE compatibles.

networking.gke.io/load-balancer-ip-addresses:
IP_ADDRESS_RESOURCE_NAME
  • En el caso de los servicios LoadBalancer de pila única, asigna a la anotación el nombre del recurso de dirección IPv4 o IPv6, no la dirección IP en sí.
  • En el caso de los servicios LoadBalancer de doble pila, asigna a la anotación el nombre del recurso de dirección IPv4 estática y el nombre del recurso de intervalo de direcciones IPv6 estáticas separados por una coma.

Puedes especificar una dirección IPv4 estática, un intervalo de direcciones IPv6 estáticas o ambas para los servicios Internal y External LoadBalancer de solo IPv4, solo IPv6 y de doble pila. La anotación requiere GKE 1.29 o una versión posterior, así como los siguientes requisitos adicionales:

  • Para usar esta anotación con un servicio Internal LoadBalancer, debes crear el servicio Internal LoadBalancer en un clúster después de habilitar la creación de subconjuntos de GKE.
  • Para usar esta anotación con un servicio de balanceador de carga externo, debes incluir la anotación cloud.google.com/l4-rbs: "enabled" en el manifiesto del servicio al crear el servicio de balanceador de carga externo.

Consideraciones para compartir una dirección IP común

Dos o más servicios LoadBalancer pueden hacer referencia a la misma dirección IP estática si la regla de reenvío de cada balanceador de carga usa una combinación única de dirección IP, protocolo, especificación de puerto y especificación de niveles de servicio de red, tal como se indica en la tabla de esta sección. También tienes estas opciones:

  • Las direcciones IPv6 estáticas son en realidad /96 intervalos de direcciones IPv6, pero GKE solo configura los nodos para que acepten paquetes en la primera dirección IPv6 (/128) del intervalo /96.

  • Para que dos o más servicios Internal LoadBalancer utilicen la misma dirección IPv4 interna o el mismo intervalo de direcciones IPv6 internas, la dirección IP estática debe crearse con el SHARED_LOADBALANCER_VIP.

Servicio LoadBalancer interno Servicio LoadBalancer externo
Especificación de puerto

Las reglas de reenvío de los balanceadores de carga de red internos de tipo pasarela admiten hasta cinco números de puerto individuales o se pueden configurar para que usen todos los puertos.

Cuando un servicio Internal LoadBalancer tiene más de cinco spec.ports[] especificados, GKE configura la regla de reenvío del balanceador de carga de red de transferencia interno para que use todos los puertos.

Las reglas de reenvío con la misma dirección IP y el mismo protocolo no pueden tener puertos superpuestos. Esto significa que no puedes crear varios servicios Internal LoadBalancer que compartan la misma dirección IP, el mismo protocolo y los mismos puertos. Por ejemplo:

  • Si creas un servicio Internal LoadBalancer con el puerto TCP 80, no puedes crear otro servicio con los puertos TCP 80, 81 y 90 porque el puerto 80 se superpone.
  • Si un servicio Internal LoadBalancer usa los puertos TCP 80, 8080 y 90, no puedes crear otro servicio que use TCP en todos los puertos, ya que también se solaparían los puertos.

Para obtener más información, consulta las reglas de reenvío de balanceadores de carga de red de pases internos que usan una dirección IP común.

GKE crea un grupo de destino basado en un balanceador de carga de red de paso a través externo si el manifiesto de servicio LoadBalancer no tiene la anotación cloud.google.com/l4-rbs: "enabled".

Las reglas de reenvío de los balanceadores de carga de red de paso a través externos basados en grupos de destino deben usar intervalos de puertos contiguos. El intervalo de puertos contiguo incluye todos los puertos que necesita el servicio, pero también puede incluir puertos adicionales que no utilice el servicio. Por ejemplo, un servicio External LoadBalancer basado en un balanceador de carga de red de paso a través externo basado en un pool de destino que especifica los puertos 80 y 443 en su manifiesto de servicio usa una regla de reenvío del balanceador de carga con un intervalo de puertos de 80 a 443. Este intervalo de puertos evita que otros servicios External LoadBalancer usen los puertos 80 y 443, así como cualquier número entre 80 y 443.

GKE crea un balanceador de carga de red de paso a través externo basado en el servicio de backend si el manifiesto del servicio LoadBalancer incluye la anotación cloud.google.com/l4-rbs: "enabled". Las reglas de reenvío de los balanceadores de carga de red externos de transferencia basados en servicios de backend admiten hasta cinco números de puerto independientes o un intervalo de puertos contiguo.

Niveles de servicio de red No se puede configurar: las direcciones internas siempre son de nivel Premium.

Se puede configurar para direcciones IPv4 externas regionales estáticas. Los intervalos de direcciones IPv6 externas regionales estáticas solo se pueden crear en el nivel Premium.

La especificación de los niveles de servicio de red de la dirección IP externa estática debe coincidir con una de las siguientes opciones:

  • El nivel especificado en la anotación cloud.google.com/network-tier del manifiesto del servicio LoadBalancer, si esa anotación está presente en el manifiesto.
  • El nivel predeterminado del proyecto, si la anotación cloud.google.com/network-tier no está presente en el manifiesto del servicio LoadBalancer.

El nivel predeterminado del proyecto es Premium, a menos que lo hayas configurado de otra forma.

Reserva de direcciones IP

GKE no reserva las direcciones IP estáticas configuradas mediante la anotación spec.loadBalancerIP o networking.gke.io/load-balancer-ip-addresses. Esto significa que la dirección IP que asignes a tu Servicio se puede liberar cuando se elimine el Servicio.

Para mantener reservada la dirección IP, debes crear manualmente un recurso de dirección en tu proyecto. La dirección IP estática debe tener los siguientes atributos:

  • Solo se aceptan donaciones.
  • Estar en la misma región que el clúster.
  • Estar en los mismos niveles de servicio de red que el servicio LoadBalancer.
  • Tener un nombre que no use el nombre de LoadBalancer, prefijos como k8s- o el UUID del servicio.

Si no reservas la dirección tú mismo, los registros del proyecto pueden contener entradas sobre los recursos de dirección creados y eliminados poco después. Esto forma parte del aprovisionamiento normal de servicios y es algo que se debe esperar.

Subred de LoadBalancer

Puedes configurar un servicio Internal LoadBalancer para que use una dirección IPv4 efímera o estática, un intervalo de direcciones IPv6 o ambos en una subred personalizada ubicada en la misma región y red de VPC que el clúster. Usa una subred personalizada para un servicio Internal LoadBalancer para lo siguiente:

  • Agrupa los balanceadores de carga de red de paso a través internos creados por los servicios Internal LoadBalancer de dos o más clústeres de GKE en la misma red de VPC y región.
  • Crea servicios de balanceador de carga interno cuyos balanceadores de carga de red de transferencia internos tengan direcciones IPv4 independientes de las direcciones IPv4 de los nodos del clúster.
  • En un clúster de doble pila, crea servicios Internal LoadBalancer cuyos balanceadores de carga de red de transferencia interna tengan intervalos de direcciones IPv6 independientes de las direcciones IPv6 de los nodos y los pods del clúster. Es obligatorio usar una subred LoadBalancer personalizada para admitir servicios LoadBalancer internos si la subred del clúster tiene un intervalo de direcciones IPv6 externo.

Puedes configurar un servicio External LoadBalancer para que use un intervalo de direcciones IPv6 efímero o estático en una subred personalizada ubicada en la misma región y red de VPC que el clúster. Usa una subred personalizada para crear servicios External LoadBalancer cuyos balanceadores de carga de red de paso a través externos tengan intervalos de direcciones IPv6 independientes de las direcciones IPv6 de los nodos y los pods del clúster. Es obligatorio usar una subred LoadBalancer personalizada para admitir servicios LoadBalancer externos en un clúster de doble pila, ya que la subred del clúster tiene un intervalo de direcciones IPv6 internas.

Anotaciones de subred personalizadas

Usa una de las siguientes anotaciones para indicar a un servicio LoadBalancer que utilice una dirección IP efímera o estática en una subred personalizada. Si un manifiesto de servicio LoadBalancer incluye ambas anotaciones, la anotación networking.gke.io/load-balancer-subnet tiene prioridad siempre que se cumplan sus requisitos.

Anotación y valor Requisitos y funciones
networking.gke.io/internal-load-balancer-subnet:
SUBNET_RESOURCE_NAME

Solo puede usar la anotación para especificar una subred personalizada para un servicio Internal LoadBalancer solo IPv4. La anotación funciona con todas las versiones de GKE compatibles.

networking.gke.io/load-balancer-subnet:
SUBNET_RESOURCE_NAME

Puedes especificar una subred personalizada para un servicio Internal LoadBalancer de solo IPv4, solo IPv6 o de doble pila. Puedes especificar una subred personalizada para un servicio de balanceador de carga externo de solo IPv6 o de pila dual. La anotación requiere GKE 1.29 o una versión posterior, así como los siguientes requisitos adicionales:

  • Para usar esta anotación y especificar una subred personalizada para un servicio Internal LoadBalancer, debes crear el servicio Internal LoadBalancer en un clúster después de habilitar subredes de GKE.
  • Para usar esta anotación y especificar una subred personalizada para un servicio External LoadBalancer, debes incluir la anotación cloud.google.com/l4-rbs: "enabled" en el manifiesto del servicio al crear el servicio External LoadBalancer.

Subred y dirección IPv4 de un servicio Internal LoadBalancer

En la siguiente tabla se describen las combinaciones válidas de especificación de subred y dirección IPv4 para un servicio Internal LoadBalancer solo con IPv4 o con pila dual.

Dirección IPv4 estática Dirección IPv4 efímera
Subred personalizada
Subred personalizada y dirección IPv4 estática: la dirección IPv4 interna estática debe haberse creado en el intervalo de direcciones IPv4 principal de la subred personalizada. Subred personalizada y dirección IPv4 efímera: GKE usa una dirección IPv4 interna no asignada en el intervalo de direcciones IPv4 principal de la subred personalizada.
Subred de clúster Subred del clúster y dirección IPv4 estática: la dirección IPv4 interna estática debe haberse creado en el intervalo de direcciones IPv4 principal de la subred del clúster. Subred del clúster y dirección IPv4 efímera: GKE usa una dirección IPv4 interna no asignada en el intervalo de direcciones IPv4 principal de la subred del clúster.

Subred e intervalo de direcciones IPv6 de un servicio Internal LoadBalancer

En la siguiente tabla se describen las combinaciones válidas de especificación de subred e intervalo de direcciones IPv6 para un servicio de balanceador de carga interno solo IPv6 o de pila dual. Aunque la regla de reenvío IPv6 del balanceador de carga de red de pases interno usa un intervalo de direcciones IPv6 interno /96, GKE solo configura los nodos para que acepten paquetes cuyo destino coincida con la primera dirección IPv6 (/128) del intervalo /96 de la regla de reenvío.

Intervalo de direcciones IPv6 estáticas Intervalo de direcciones IPv6 efímeras
Subred de pila dual personalizada
  • Debe estar en la misma red VPC y región que el clúster.
  • Debe tener un intervalo de direcciones IPv6 internas (tipo de acceso INTERNAL).
  • Se debe especificar con la anotación networking.gke.io/load-balancer-subnet.
Subred personalizada e intervalo de direcciones IPv6 estáticas: el intervalo de direcciones IPv6 internas /96 estáticas debe haberse creado en el intervalo de direcciones IPv6 internas /64 de la subred personalizada. Subred personalizada e intervalo de direcciones IPv6 efímeras: GKE usa un intervalo de direcciones /96 IPv6 interno no asignado del intervalo de direcciones /64 IPv6 interno de la subred personalizada.
Subred de clúster de doble pila
  • Debe tener un intervalo de direcciones IPv6 internas (tipo de acceso INTERNAL).
Subred del clúster e intervalo de direcciones IPv6 estáticas: el intervalo de direcciones IPv6 internas estáticas /96 debe haberse creado en el intervalo de direcciones IPv6 internas /64 de la subred del clúster. Subred del clúster e intervalo de direcciones IPv6 efímeras: GKE usa un intervalo de direcciones IPv6 internas /96 no asignado del intervalo de direcciones IPv6 internas /64 de la subred del clúster.

Subred y dirección IPv4 de un servicio External LoadBalancer

En el caso de los servicios External LoadBalancer de solo IPv4 y de pila dual, la dirección IPv4 externa (ya sea una dirección IPv4 externa estática o una dirección IPv4 externa efímera) no procede de una subred.

Subred e intervalo de direcciones IPv6 de un servicio External LoadBalancer

En la siguiente tabla se describen las combinaciones válidas de especificación de subred e intervalo de direcciones IPv6 para un servicio External LoadBalancer de solo IPv6 o de pila dual. Aunque la regla de reenvío IPv6 del balanceador de carga de red de pasarela externa usa un intervalo de direcciones IPv6 externas /96, GKE solo configura los nodos para que acepten paquetes cuyo destino coincida con la primera dirección IPv6 (/128) del intervalo /96 de la regla de reenvío.

Intervalo de direcciones IPv6 estáticas Intervalo de direcciones IPv6 efímeras
Subred de pila dual personalizada
  • Debe estar en la misma red VPC y región que el clúster.
  • Debe tener un intervalo de direcciones IPv6 externas (tipo de acceso EXTERNAL).
  • Se debe especificar con la anotación networking.gke.io/load-balancer-subnet.
Subred personalizada e intervalo de direcciones IPv6 estáticas: el intervalo de direcciones IPv6 externas estáticas /96 debe haberse creado en el intervalo de direcciones IPv6 externas /64 de la subred personalizada. Los intervalos de direcciones IPv6 externas estáticas solo se pueden crear en el nivel Premium. Subred personalizada e intervalo de direcciones IPv6 efímeras: GKE usa un intervalo de direcciones /96 IPv6 externas no asignado del intervalo de direcciones /64 IPv6 externas de la subred personalizada.
Subred de clúster de doble pila
  • Debe tener un intervalo de direcciones IPv6 externas (tipo de acceso EXTERNAL).
Subred del clúster e intervalo de direcciones IPv6 estáticas: el intervalo de direcciones IPv6 externas /96 estáticas debe haberse creado en el intervalo de direcciones IPv6 externas /64 de la subred del clúster. Los intervalos de direcciones IPv6 externas estáticas solo se pueden crear en el nivel Premium. Subred del clúster e intervalo de direcciones IPv6 efímeras: GKE usa un intervalo de direcciones /96 IPv6 externas no asignado del intervalo de direcciones /64 IPv6 externas de la subred del clúster.

Acceso global

Cuando la anotación networking.gke.io/internal-load-balancer-allow-global-access es false o no se especifica en un servicio Internal LoadBalancer, GKE crea un balanceador de carga de red passthrough interno cuya regla de reenvío tiene el acceso global inhabilitado. Si el acceso global está inhabilitado, los clientes que necesiten acceder al balanceador de carga deben estar ubicados en la misma región y red de VPC, o en una red conectada a la red de VPC del clúster.

Cuando la anotación networking.gke.io/internal-load-balancer-allow-global-access es true para un servicio Internal LoadBalancer, GKE habilita la opción de acceso global en la regla de reenvío del balanceador de carga de red con paso a través interno. Los clientes ubicados en cualquier región de la red de VPC o en una red conectada a la red de VPC del clúster pueden acceder al balanceador de carga.

Para obtener más información sobre cómo se aplica el acceso global a los clientes de una red conectada, consulta lo siguiente:

Reglas de reenvío de todos los puertos

Las reglas de reenvío de los balanceadores de carga de red internos de tipo pasarela admiten cinco números de puerto únicos o todos los puertos.

En GKE, un servicio de balanceador de carga interno solo puede admitir hasta 100 puertos en el campo spec.ports[].port de Service. Si un servicio de balanceador de carga interno define hasta cinco puertos, la regla de reenvío incluirá esos puertos específicos. Sin embargo, si el servicio especifica más de cinco puertos, la regla de reenvío se configurará automáticamente para que coincida con todos los puertos. Cuando se configura una regla de reenvío para usar todos los puertos, GKE solo crea reglas de cortafuegos de entrada para los puertos específicos configurados en spec.ports[].port del servicio.

Para obtener más información sobre las reglas de reenvío del balanceador de carga de red interno de tipo pasarela y las especificaciones de puertos válidas, consulta Reglas de reenvío y especificaciones de puertos.

Servicio de tipo LoadBalancer de doble pila IPv4/IPv6

Puedes crear un servicio LoadBalancer interno o externo que sea de pila única (solo IPv4 o solo IPv6) o de pila dual. Los servicios LoadBalancer de pila única crean una sola regla de reenvío con una dirección IPv4 o IPv6. Los servicios LoadBalancer de doble pila crean dos reglas de reenvío: una con una dirección IPv4 y otra con una dirección IPv6. Para crear un servicio LoadBalancer de doble pila IPv4/IPv6, despliégalo en un clúster de doble pila IPv4/IPv6 y completa una de las siguientes opciones en función del tipo de balanceador de carga que utilices:

En cada servicio, puedes definir las especificaciones ipFamilyPolicy y ipFamilies. Para obtener más información, consulta Doble pila IPv4/IPv6.

Restricciones de los servicios LoadBalancer de doble pila

  • Los servicios de tipo LoadBalancer con direcciones IPv6 solo se admiten en clústeres con el tipo de pila ipv4-ipv6. Para obtener más información, consulta cómo usar una dirección IP de pila dual en un clúster nativo de VPC.
  • Los servicios LoadBalancer creados con una dirección de pila única no se pueden actualizar a servicios de pila dual.

  • Los servicios LoadBalancer creados con direcciones de pila dual se pueden cambiar a pila única según las siguientes condiciones:

    • Un servicio con ipFamilies ["IPv4","IPv6"] se puede cambiar a un servicio con ipFamilies IPv4, pero no a IPv6.
    • Un servicio con ipFamilies ["IPv6","IPv4"] se puede cambiar a un servicio con ipFamilies IPv6, pero no a IPv4.