En esta página, se explica cómo crear una subred global en Google Distributed Cloud (GDC) aislado y usar esa subred para un balanceador de cargas interno (ILB).
Las subredes globales te permiten configurar operaciones de balanceo de cargas interno en varias zonas de tu organización de GDC. El balanceo de cargas ofrece los beneficios de un mejor rendimiento, confiabilidad y disponibilidad de las aplicaciones y los servicios, ya que distribuye el tráfico de red en varios servidores. Para obtener más información sobre las subredes globales para el balanceo de cargas, consulta Acerca de las subredes para el balanceo de cargas.
Esta página está dirigida a los desarrolladores que forman parte del grupo de operadores de aplicaciones y que desean administrar el balanceo de cargas de su organización. Para obtener más información, consulta Audiences for GDC air-gapped documentation (Públicos para la documentación de GDC aislada del aire).
Antes de comenzar
Para crear una subred global y configurarla para los ILB, debes tener lo siguiente:
- Ser propietario del proyecto para el que configuras el balanceador de cargas Para obtener más información, consulta Crea un proyecto.
Los roles de identidad y acceso necesarios son los siguientes:
- Pídele al administrador de IAM de la organización que te otorgue el rol de administrador de Load Balancer (
load-balancer-admin
). - Pídele al administrador de IAM de tu organización que te otorgue el rol de administrador del balanceador de cargas global (
global-load-balancer-admin
). - Pídele al administrador de IAM de la organización que te otorgue el rol de administrador de organización de subred (
subnet-org-admin
). Este es un rol de administrador de la plataforma para la organización. - Pídele al administrador de IAM de la organización que te otorgue el rol de administrador de proyectos de subred (
subnet-project-admin
). Este es un rol de operador de la aplicación para el proyecto.
Para obtener más información, consulta las descripciones de los roles predefinidos.
- Pídele al administrador de IAM de la organización que te otorgue el rol de administrador de Load Balancer (
Crea una subred global principal
La subred global principal que creas en esta sección sirve como el grupo de direcciones IP del que se obtienen las direcciones IP de tu ILB. Especifica las subredes principales con el campo spec.parentReference.name
.
Tienes dos opciones para configurar el CIDR de esta subred principal:
- Crea una subred con una configuración de CIDR estática
- Crea una subred con una configuración de CIDR dinámica
Para obtener más información sobre la diferencia entre las configuraciones de CIDR estáticas y dinámicas, consulta Configuración de CIDR estática y dinámica.
Crea una subred con una configuración de CIDR estática
Usa una configuración de CIDR estática cuando necesites un control preciso sobre tu espacio de direcciones IP.
Esta subred tiene un tipo de Branch
. Para obtener más información sobre los tipos de subredes raíz, rama y hoja, consulta Jerarquía de subredes.
Para crear una subred principal global con una configuración de CIDR estática, agrega el bloque CIDR que elegiste 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
Reemplaza lo siguiente:
GLOBAL_API_SERVER
: Es la ruta de acceso a kubeconfig del servidor de la API de administración global. Para obtener más información, consulta Servidores de API globales y zonales. Si aún no generaste un archivo kubeconfig para el servidor de la API, consulta Accede para obtener más detalles.ILB_PARENT_SUBNET_NAME
: Es el nombre elegido para tu subred principal global del ILB.STATIC_CIDR
: Es el bloque CIDR específico que deseas asignar a esta subred principal, como10.0.10.0/27
.PARENT_NAME
: Es el nombre de la subred principal existente a partir de la cual se crea esta subred nueva.
Para configurar esta subred de modo que funcione con ILB, debes crear una subred hoja para el ILB.
Crea una subred con una configuración de CIDR dinámica
La configuración dinámica de CIDR asigna automáticamente un bloque CIDR disponible de un tamaño especificado desde la subred principal. Esto simplifica la administración de direcciones IP, en especial en entornos grandes.
Esta subred tiene un tipo de Branch
. Para obtener más información sobre los tipos de subredes raíz, rama y hoja, consulta Jerarquía de subredes.
Para crear una subred principal global con un CIDR dinámico, configura 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
Reemplaza lo siguiente:
ILB_PARENT_SUBNET_NAME
: Es el nombre que elegiste para la subred principal del ILB, comolb-global-lancer-ilb-subnet
.STATIC_CIDR
: Es el bloque CIDR específico que deseas usar, como10.0.10.0/27
. Esta variable solo se aplica a la configuración de CIDR estática.PARENT_NAME
: Es el nombre de la subred principal existente desde la que se crea esta subred nueva, comodefault-vpc-workload-cidr
.PREFIX_LENGTH
: Es la longitud del prefijo elegida para el CIDR asignado de forma dinámica, como27
. Esta variable solo se aplica a la configuración de CIDR dinámica.
Para configurar esta subred de modo que funcione con ILB, debes crear una subred hoja para el ILB.
Crea 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 de ILB global. Esta subred hoja debe tener un valor de campo type
de Leaf
y debe residir en el mismo espacio de nombres del proyecto que los recursos del balanceador de cargas, como ForwardingRule
, BackendService
y Backend
.
Para crear la subred de 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
Reemplaza lo siguiente:
ILB_IP_SUBNET_NAME
: Es el nombre que elegiste para la subred hoja, comolb-project-ilb-ip
.PROJECT_NAMESPACE
: Es el espacio de nombres de Kubernetes correspondiente a tu proyecto en el que se encuentran tus objetos de ILB, por ejemplo,lb-project
.PARENT_REF
: Es el nombre de la subred principal de la que esta subred hoja obtiene su dirección IP, como la subred global principal que creaste 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 hacer referencia al nombre de la subred hoja que creaste 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
Reemplaza lo siguiente:
FRI_NAME
: Es el nombre que elegiste para el objetoForwardingRuleInternal
, comonginx-ilb-static-fr
.PORT
: Es el número de puerto en el que tu ILB escucha el tráfico entrante, como80
.PROTOCOL
: Es el protocolo de red que usa tu ILB, comoTCP
oUDP
.BES_NAME
: Es el nombre del recursoBackendService
asociado con este recursoForwardingRuleInternal
, comonginx-bes
.LEAF_SUBNET_NAME
: Es el nombre de la subred hoja que creaste en el paso anterior, comolb-project-ilb-ip
.