En esta página se explica cómo crear una subred global en Google Distributed Cloud (GDC) air-gapped y cómo usarla en un balanceador de carga interno (ILB).
Las subredes globales te permiten configurar operaciones de balanceo de carga interno en varias zonas de tu organización de GDC. El balanceo de carga ofrece las ventajas de mejorar el rendimiento, la fiabilidad y la disponibilidad de las aplicaciones y los servicios al distribuir el tráfico de red entre varios servidores. Para obtener más información sobre las subredes globales para el balanceo de carga, consulta Información sobre las subredes para el balanceo de carga.
Esta página está dirigida a los desarrolladores del grupo de operadores de aplicaciones que quieren gestionar el equilibrio de carga de su organización. Para obtener más información, consulta la documentación sobre audiencias de GDC con aislamiento físico.
Antes de empezar
Para crear una subred global y configurarla para balanceadores de carga internos, debes tener lo siguiente:
- Ser propietario del proyecto en el que vas a configurar el balanceador de carga. Para obtener más información, consulta el artículo Crear un proyecto.
Los roles de identidad y acceso necesarios:
- Pídele al administrador de gestión de identidades y accesos de tu organización que te conceda el rol Administrador de balanceadores de carga (
load-balancer-admin
). - Pide al administrador de gestión de identidades y accesos de tu organización que te conceda el rol Administrador de balanceador de carga global (
global-load-balancer-admin
). - Pide al administrador de gestión de identidades y accesos de tu organización que te conceda el rol de administrador de la organización de subredes (
subnet-org-admin
). Este es un rol de administrador de la plataforma de la organización. - Pide al administrador de gestión de identidades y accesos de tu organización que te conceda el rol Administrador de proyectos de subredes (
subnet-project-admin
). Este es un rol de operador de aplicaciones del proyecto.
Para obtener más información, consulta las descripciones de los roles predefinidos.
- Pídele al administrador de gestión de identidades y accesos de tu organización que te conceda el rol Administrador de balanceadores de carga (
Crear una subred global principal
La subred global principal que creas en esta sección sirve como grupo de direcciones IP del que se obtienen las direcciones IP de tu ILB. Para especificar las superredes, usa el campo spec.parentReference.name
.
Tienes dos opciones para configurar el CIDR de esta subred principal:
- Crear una subred con una configuración CIDR estática
- Crear una subred con una configuración CIDR dinámica
Para obtener más información sobre la diferencia entre las configuraciones de CIDR estáticas y dinámicas, consulte Configuración de CIDR estática y dinámica.
Crear una subred con una configuración CIDR estática
Usa una configuración CIDR estática cuando necesites un control preciso sobre tu espacio de direcciones IP.
Esta subred es de tipo Branch
. Para obtener más información sobre los tipos de subredes raíz, de rama y hoja, consulta Jerarquía de subredes.
Para crear una subred principal global con una configuración CIDR estática, añade el bloque CIDR que elijas al campo spec.ipv4Request.cidr
:
kubectl --kubeconfig GLOBAL_API_SERVER apply -f - <<EOF
apiVersion: ipam.global.gdc.goog/v1
kind: Subnet
metadata:
labels:
ipam.gdc.goog/vpc: default-vpc
name: ILB_PARENT_SUBNET_NAME
namespace: platform
spec:
ipv4Request:
cidr: STATIC_CIDR
parentReference:
name: PARENT_NAME
namespace: platform
propagationStrategy: None
type: Branch
EOF
Haz los cambios siguientes:
GLOBAL_API_SERVER
: la ruta kubeconfig del servidor de la API de gestión global. Para obtener más información, consulta el artículo sobre los servidores de APIs globales y zonales. Si aún no has generado un archivo kubeconfig para el servidor de la API, consulta Iniciar sesión para obtener más información.ILB_PARENT_SUBNET_NAME
: el nombre que elijas para la subred principal global del balanceador de carga interno.STATIC_CIDR
: el bloque CIDR específico que quieres asignar a esta subred principal, como10.0.10.0/27
.PARENT_NAME
: nombre de la subred principal a partir de la que se crea esta subred.
Para configurar esta subred de forma que funcione con balanceadores de carga internos, debe crear una subred hoja para el balanceador de carga interno.
Crear una subred con una configuración CIDR dinámica
La configuración dinámica de CIDR asigna automáticamente un bloque CIDR disponible de un tamaño especificado de la subred principal. Esto simplifica la gestión de direcciones IP, sobre todo en entornos grandes.
Esta subred es de tipo Branch
. Para obtener más información sobre los tipos de subredes raíz, de rama y hoja, consulta Jerarquía de subredes.
Para crear una subred principal global con un CIDR dinámico, configure el campo spec.ipv4Request.prefixLength
con la longitud de prefijo elegida:
kubectl --kubeconfig GLOBAL_API_SERVER apply -f - <<EOF
apiVersion: ipam.global.gdc.goog/v1
kind: Subnet
metadata:
labels:
ipam.gdc.goog/vpc: default-vpc
name: ILB_PARENT_SUBNET_NAME
namespace: platform
spec:
ipv4Request:
prefixLength: PREFIX_LENGTH
parentReference:
name: PARENT_NAME
namespace: platform
propagationStrategy: None
type: Branch
EOF
Haz los cambios siguientes:
ILB_PARENT_SUBNET_NAME
: el nombre que elijas para la subred principal del ILB, comolb-global-lancer-ilb-subnet
.STATIC_CIDR
: el bloque CIDR específico que quieras usar, como10.0.10.0/27
. Esta variable solo se aplica a la configuración estática de CIDR.PARENT_NAME
: el nombre de la subred principal de la que se crea esta nueva subred, comodefault-vpc-workload-cidr
.PREFIX_LENGTH
: la longitud del prefijo elegido para el CIDR asignado dinámicamente, como27
. Esta variable solo se aplica a la configuración dinámica de CIDR.
Para configurar esta subred de forma que funcione con balanceadores de carga internos, debe crear una subred hoja para el balanceador de carga interno.
Crear una subred hoja para el ILB
Después de configurar la subred principal global, debes crear una subred hoja para asignar una sola dirección IP al servicio ILB global. Esta subred hoja debe tener el valor Leaf
en el campo type
y debe estar en el mismo espacio de nombres de proyecto que los recursos del balanceador de carga, como ForwardingRule
, BackendService
y Backend
.
Para crear la subred hoja y vincularla al ILB, sigue estos pasos:
Crea una subred hoja con un valor de
prefixLength
de32
, ya que está diseñada para asignar una sola dirección IP. El valorparentReference
hace referencia a la subred global principal creada anteriormente:kubectl --kubeconfig GLOBAL_API_SERVER apply -f - <<EOF apiVersion: ipam.global.gdc.goog/v1 kind: Subnet metadata: labels: ipam.gdc.goog/allocation-preference: default ipam.gdc.goog/vpc: default-vpc name: ILB_IP_SUBNET_NAME namespace: PROJECT_NAMESPACE spec: ipv4Request: prefixLength: 32 parentReference: name: PARENT_REF namespace: platform type: Leaf EOF
Haz los cambios siguientes:
ILB_IP_SUBNET_NAME
: el nombre que elijas para la subred de hoja, comolb-project-ilb-ip
.PROJECT_NAMESPACE
: el espacio de nombres de Kubernetes correspondiente a tu proyecto en el que se encuentran tus objetos ILB. Por ejemplo,lb-project
.PARENT_REF
: el nombre de la subred principal de la que esta subred hoja obtiene su dirección IP, como la subred global principal que has creado anteriormente.
Conecta la subred hoja recién creada, que contiene la dirección IP asignada, con el recurso
ForwardingRuleInternal
de tu ILB. En tu recursoForwardingRuleInternal
, actualiza el campospec.cidrRef.name
para que haga referencia al nombre de la subred hoja que has creado en el paso anterior:kubectl --kubeconfig GLOBAL_API_SERVER apply -f - <<EOF apiVersion: networking.global.gdc.goog/v1 kind: ForwardingRuleInternal metadata: name: FRI_NAME namespace: PROJECT_NAMESPACE spec: ports: - port: PORT protocol: PROTOCOL backendServiceRef: name: BES_NAME cidrRef: name: LEAF_SUBNET_NAME EOF
Haz los cambios siguientes:
FRI_NAME
: el nombre que elijas para el objetoForwardingRuleInternal
, comonginx-ilb-static-fr
.PORT
: número de puerto en el que tu ILB escucha el tráfico entrante, como80
.PROTOCOL
: el protocolo de red que usa tu ILB, comoTCP
oUDP
.BES_NAME
: nombre delBackendService
asociado a este recursoForwardingRuleInternal
, comonginx-bes
.LEAF_SUBNET_NAME
: el nombre de la subred hoja que has creado en el paso anterior, comolb-project-ilb-ip
.