En esta página se describe cómo crear subredes adicionales en el segmento de red de datos de tu organización para satisfacer tus necesidades de redes externas. Debes añadir subredes para asegurarte de que tus servicios externos, como la traducción de direcciones de red (NAT) de salida y los balanceadores de carga externos, tengan un número suficiente de direcciones IP para satisfacer sus requisitos de red al conectarse a redes externas fuera de tu organización.
En esta página se describen varias tareas que no tienen por qué completarse en un orden concreto:
- Crea una subred de rama zonal para servicios externos: esta tarea es útil para organizar o asignar mejor las direcciones IP externas de tu zona a los servicios.
- Crea una subred hoja para un servicio concreto: Esta tarea es útil cuando tienes un servicio nuevo que aún no tiene una dirección IP que usar.
- Asigna una subred zonal a partir de un intervalo de direcciones IP global: esta tarea es útil cuando tu zona ya no tiene suficiente espacio de direcciones IP externas.
- Dividir la subred global raíz sin asignar zonas: Esta tarea es útil para organizar aún más las direcciones IP externas en el servidor de la API global antes de asignarlas a una zona.
- Añadir una nueva subred global de intervalo raíz de red: Esta tarea es útil cuando tu segmento de red de datos ya no tiene suficiente espacio de direcciones IP externas globales para asignar a tus zonas.
Para obtener una descripción general de las subredes y sus conceptos antes de completar las tareas de esta página, consulta Subredes y direcciones IP.
Esta página está dirigida a los administradores de redes del grupo de administradores de la plataforma y a los desarrolladores de aplicaciones del grupo de operadores de aplicaciones, que son los responsables de gestionar el tráfico de red de su organización. Para obtener más información, consulta Audiencias de la documentación aislada de GDC.
Antes de empezar
Para obtener el permiso que necesitas para crear subredes, pide al administrador de gestión de identidades y accesos de tu organización que te conceda el rol de gestión de identidades y accesos Administrador de subredes de la organización (subnet-org-admin
). Este rol no está vinculado a un espacio de nombres.
Crear una subred de sucursal zonal para servicios externos
Puedes crear una subred externa zonal a partir de la subred raíz zonal de la zona para subdividir aún más las direcciones IP de tu segmento de red de datos zonal. Debes crear este tipo de subred en el espacio de nombres platform
. Si la subred raíz zonal principal no tiene suficientes direcciones IP disponibles, asigna otra subred zonal del intervalo de direcciones IP global primero y, después, vuelve a este procedimiento.
En una ventana de terminal, crea la nueva subred externa en el servidor de la API de gestión zonal:
kubectl -kubeconfig MANAGEMENT_API_SERVER_KUBECONFIG apply -f - <<EOF apiVersion: ipam.gdc.goog/v1 kind: Subnet metadata: labels: ipam.gdc.goog/network-segment: data name: SUBNET_NAME namespace: platform spec: ipv4Request: prefixLength: CIDR_PREFIX_LENGTH networkSpec: enableGateway: true enableVLANID: false parentReference: name: PARENT_SUBNET_NAME namespace: platform type: Branch EOF
Haz los cambios siguientes:
MANAGEMENT_API_SERVER_KUBECONFIG
: la ruta al archivo kubeconfig de tu servidor de la API de gestión. Para obtener más información, consulta Recursos del servidor de la API de gestión de zonas.SUBNET_NAME
: el nombre de la nueva subred.CIDR_PREFIX_LENGTH
: longitud del prefijo CIDR de la nueva subred que se asigna dinámicamente, como20
. Para definir el CIDR de forma estática, sustituya el campoprefixLength
por el campocidr
y, a continuación, defina el bloque CIDR, como10.0.10.0/27
.PARENT_SUBNET_NAME
: el nombre de la subred principal, comodata-external-zone0-cidr
. La subred principal suele ser una subred raíz zonal del segmento de red de datos.
Consulta la documentación de referencia de la API del recurso
Subnet
para obtener más información.Puedes seguir subdividiendo tus subredes zonales o crear una subred hoja para asignar una dirección IP individual directamente a un servicio externo.
Crear una subred hoja para un servicio concreto
Debes crear una subred hoja para asignar una sola dirección IP a tu servicio.
Esta subred de hoja debe tener el valor de campo type: Leaf
y debe residir en el mismo espacio de nombres de proyecto que tu servicio externo, como un balanceador de carga externo o un NAT de salida.
La subred de hoja debe configurarse con un valor de prefixLength
de 32
, ya que está diseñada para asignar una sola dirección IP. El valor parentReference
hace referencia a una subred asignada anteriormente, como la subred zonal principal que creaste en Crear una subred de rama zonal para cargas de trabajo.
En una ventana de terminal, crea la subred hoja en el servidor de la API de gestión:
kubectl --kubeconfig MANAGEMENT_API_SERVER_KUBECONFIG apply -f - <<EOF apiVersion: ipam.gdc.goog/v1 kind: Subnet metadata: labels: ipam.gdc.goog/allocation-preference: default ipam.gdc.goog/network-segment: data name: SUBNET_NAME namespace: PROJECT_NAMESPACE spec: ipv4Request: prefixLength: 32 parentReference: name: PARENT_SUBNET namespace: platform type: Leaf EOF
Haz los cambios siguientes:
MANAGEMENT_API_SERVER_KUBECONFIG
: la ruta al archivo kubeconfig de tu servidor de la API de gestión. Para obtener más información, consulta Recursos del servidor de la API de gestión de zonas.SUBNET_NAME
: el nombre de la subred hoja.PROJECT_NAMESPACE
: el espacio de nombres del proyecto correspondiente al proyecto en el que se encuentran tus servicios.PARENT_SUBNET
: el nombre de la subred principal de la que esta subred hoja obtendrá su dirección IP.
Tu dirección IP individual ya está disponible para que la use tu servicio externo. Para obtener más información sobre cómo configurar la dirección IP de tu servicio, consulta la documentación correspondiente, como Configurar balanceadores de carga externos.
Asignar una subred zonal a partir de un intervalo de direcciones IP globales
Si tu zona no proporciona suficientes direcciones IP para tus servicios externos a partir del intervalo de direcciones IP de la subred raíz zonal, puedes asignar direcciones IP adicionales del intervalo raíz de direcciones IP globales.
Sigue estos pasos para el segmento de red de datos en el espacio de nombres platform
:
En una ventana de terminal, describe todas las subredes raíz de Data Network Segment y comprueba sus CIDRs disponibles:
kubectl --kubeconfig GLOBAL_API_SERVER_KUBECONFIG describe subnets --namespace platform \ --label ipam.gdc.goog/network-segment=data,ipam.gdc.goog/usage=network-root-range
Sustituye
GLOBAL_API_SERVER_KUBECONFIG
por la ruta al archivo kubeconfig del servidor de la API global. Para obtener más información, consulte los recursos del servidor de la API global. Las etiquetas son constantes y deben seguir siendo las mismas.El resultado debería ser similar al siguiente:
Name: data-external-root-cidr Namespace: platform Labels: ipam.gdc.goog/allocation-preference=default ipam.gdc.goog/subnet-group=data-external-root-group ipam.gdc.goog/usage=network-root-range ipam.gdc.goog/network-segment=data Annotations: <none> API Version: ipam.global.gdc.goog/v1 Kind: Subnet Metadata: Creation Timestamp: 2025-06-18T23:05:38Z Finalizers: global-subnet-finalizer Generation: 1 Resource Version: 439434 UID: 5ed1c51a-b5ee-473e-a185-8e065a87ae8f Spec: ipv4Request: Cidr: 10.252.0.0/14 Propagation Strategy: None Type: Root Status: Children Refs: Name: data-external-zone1-root-cidr Namespace: platform Type: SingleSubnet Conditions: Last Transition Time: 2025-06-18T23:05:38Z Message: IP allocation finished successfully Observed Generation: 1 Reason: AllocationSucceeded Status: True Type: Ready ipv4Allocation: Available CIDRs: 10.254.0.0/15 10.253.0.0/16 Cidr: 10.252.0.0/14 Events: <none>
Anota los valores de
Status.ipv4Allocation.Available CIDRs
como los CIDRs disponibles, a los que se hará referencia en el siguiente paso. En el resultado anterior, están disponibles los intervalos CIDR10.254.0.0/15
y10.253.0.0/16
. Puede haber varias subredes en la salida en función del número de subredes raíz que tengas, así que anota todos los CIDR disponibles y la subred de la que proceden.Compara el CIDR más grande disponible que has anotado en el paso anterior con el tamaño del CIDR que necesitas asignar a tu zona. Si el CIDR más grande disponible no es lo suficientemente grande para asignar tu nueva subred, añade una nueva subred global de intervalo raíz de red antes de continuar. Anota la subred principal de la que vas a obtener el CIDR de tu nueva subred.
Por ejemplo, si necesitas un CIDR
/13
, pero los CIDRs disponibles solo incluyen/15
y/16
, debes crear una subred global de intervalo raíz de red. Si necesitas una subred/15
, puedes asignar una nueva subred zonal del CIDR/15
que ya tengas.Crea la nueva subred en el servidor de la API global:
kubectl --kubeconfig GLOBAL_API_SERVER_KUBECONFIG apply -f - <<EOF apiVersion: ipam.global.gdc.goog/v1 kind: Subnet metadata: labels: ipam.gdc.goog/network-segment: data ipam.gdc.goog/usage: zone-network-root-range name: SUBNET_NAME namespace: platform spec: ipv4Request: prefixLength: CIDR_PREFIX_LENGTH zone: ZONE_NAME propagationStrategy: SingleZone type: Branch parentReference: name: PARENT_SUBNET_NAME namespace: ORG_NAME EOF
Haz los cambios siguientes:
GLOBAL_API_SERVER_KUBECONFIG
: la ruta al archivo kubeconfig del servidor de la API global. Para obtener más información, consulte los recursos del servidor de la API global.SUBNET_NAME
: el nombre de la nueva subred.CIDR_PREFIX_LENGTH
: longitud del prefijo CIDR de la nueva subred que se asigna dinámicamente, como20
. Para definir el CIDR de forma estática, sustituya el campoprefixLength
por el campocidr
y, a continuación, defina el bloque CIDR, como10.0.10.0/27
.ZONE_NAME
: la zona en la que se va a asignar la subred, comozone1
.PARENT_SUBNET_NAME
: el nombre de la subred principal, comodata-external-root-cidr
, o el nuevo intervalo raíz de la red de la subred global que has creado.ORG_NAME
: el nombre de la organización.
Consulta más información en la documentación de referencia de la API sobre el recurso global
Subnet
.Comprueba que la subred esté lista y disponible en el servidor de la API global comprobando que su estado
Ready
sea de tipotrue
:kubectl --kubeconfig GLOBAL_API_SERVER_KUBECONFIG get subnet --namespace platform \ SUBNET_NAME --output jsonpath='{.status.conditions[?(@.type=="Ready")].status}'
El resultado debería ser similar al siguiente:
status: conditions: - lastTransitionTime: "2025-06-06T07:28:48Z" message: IP allocation finished successfully observedGeneration: 1 reason: AllocationSucceeded status: "True" type: Ready
Verifica que la subred zonal se haya creado en el servidor de la API de gestión zonal y que su estado
Ready
seatrue
:kubectl --kubeconfig MANAGEMENT_API_SERVER_KUBECONFIG get subnet --namespace platform \ SUBNET_NAME --output jsonpath='{.status.conditions[?(@.type=="Ready")].status}'
Sustituye
MANAGEMENT_API_SERVER_KUBECONFIG
por la ruta al archivo kubeconfig de tu servidor de API de gestión. Para obtener más información, consulta Recursos del servidor de la API de gestión de zonas.El resultado debería ser similar al siguiente:
status: conditions: - lastTransitionTime: "2025-06-06T07:29:34Z" message: IP allocation finished successfully observedGeneration: 1 reason: AllocationSucceeded status: "True" type: Ready
Desde esta nueva subred zonal, puedes crear más subredes secundarias zonales o asignar una dirección IP individual directamente a un servicio externo.
Dividir la subred global raíz sin asignación de zona
Si quieres seguir organizando tu intervalo de direcciones IP accesibles a nivel global desde la subred raíz global sin asignar las direcciones IP a tus servicios externos zonales, crea una subred global y no definas una estrategia de propagación en el recurso personalizado Subnet
.
Sigue estos pasos en el espacio de nombres platform
para dividir tu subred raíz global solo en el ámbito global:
En una ventana de terminal, describe todas las subredes raíz de Data Network Segment y comprueba sus CIDRs disponibles:
kubectl --kubeconfig GLOBAL_API_SERVER_KUBECONFIG describe subnets --namespace platform \ --label ipam.gdc.goog/network-segment=data,ipam.gdc.goog/usage=network-root-range
Sustituye
GLOBAL_API_SERVER_KUBECONFIG
por la ruta al archivo kubeconfig del servidor de la API global. Para obtener más información, consulte los recursos del servidor de la API global. Las etiquetas son constantes y deben seguir siendo las mismas.El resultado debería ser similar al siguiente:
Name: data-external-root-cidr Namespace: platform Labels: ipam.gdc.goog/allocation-preference=default ipam.gdc.goog/subnet-group=data-external-root-group ipam.gdc.goog/usage=network-root-range ipam.gdc.goog/network-segment=data Annotations: <none> API Version: ipam.global.gdc.goog/v1 Kind: Subnet Metadata: Creation Timestamp: 2025-06-18T23:05:38Z Finalizers: global-subnet-finalizer Generation: 1 Resource Version: 439434 UID: 5ed1c51a-b5ee-473e-a185-8e065a87ae8f Spec: ipv4Request: Cidr: 10.252.0.0/14 Propagation Strategy: None Type: Root Status: Children Refs: Name: data-external-zone1-root-cidr Namespace: platform Type: SingleSubnet Conditions: Last Transition Time: 2025-06-18T23:05:38Z Message: IP allocation finished successfully Observed Generation: 1 Reason: AllocationSucceeded Status: True Type: Ready ipv4Allocation: Available CIDRs: 10.254.0.0/15 10.253.0.0/16 Cidr: 10.252.0.0/14 Events: <none>
Anota los valores de
Status.ipv4Allocation.Available CIDRs
como los CIDRs disponibles, a los que se hará referencia en el siguiente paso. En el resultado anterior, están disponibles los intervalos CIDR10.254.0.0/15
y10.253.0.0/16
. Puede haber varias subredes en la salida en función del número de subredes raíz que tengas, así que anota todos los CIDR disponibles y la subred de la que proceden.Compara el CIDR más grande disponible que has anotado en el paso anterior con el tamaño del CIDR que necesitas asignar a tu nueva subred global. Si el CIDR más grande disponible no es lo suficientemente grande para asignar tu nueva subred, añade una nueva subred global de intervalo raíz de red antes de continuar. Anota la subred principal de la que vas a obtener el CIDR de tu nueva subred.
Por ejemplo, si necesitas un CIDR
/13
, pero los CIDRs disponibles solo incluyen/15
y/16
, debes crear una subred global de intervalo raíz de red. Si necesitas una subred/15
, puedes asignar la nueva subred global desde el CIDR/15
.Crea la nueva subred en el servidor de la API global:
kubectl --kubeconfig GLOBAL_API_SERVER_KUBECONFIG apply -f - <<EOF apiVersion: ipam.global.gdc.goog/v1 kind: Subnet metadata: labels: ipam.gdc.goog/network-segment: data ipam.gdc.goog/usage: zone-network-root-range name: SUBNET_NAME namespace: platform spec: ipv4Request: prefixLength: CIDR_PREFIX_LENGTH propagationStrategy: None type: Branch parentReference: name: PARENT_SUBNET_NAME namespace: ORG_NAME EOF
Haz los cambios siguientes:
GLOBAL_API_SERVER_KUBECONFIG
: la ruta al archivo kubeconfig del servidor de la API global. Para obtener más información, consulte los recursos del servidor de la API global.SUBNET_NAME
: el nombre de la nueva subred.CIDR_PREFIX_LENGTH
: longitud del prefijo CIDR de la nueva subred que se asigna dinámicamente, como20
. Para definir el CIDR de forma estática, sustituya el campoprefixLength
por el campocidr
y, a continuación, defina el bloque CIDR, como10.0.10.0/27
.PARENT_SUBNET_NAME
: el nombre de la subred principal, comodata-external-root-cidr
, o la nueva subred global de intervalo raíz de la red que has creado.ORG_NAME
: el nombre de la organización.
Consulta más información en la documentación de referencia de la API sobre el recurso global
Subnet
.Comprueba que la subred esté lista y disponible en el servidor de la API global comprobando que su estado
Ready
sea de tipotrue
:kubectl --kubeconfig GLOBAL_API_SERVER_KUBECONFIG get subnet --namespace platform \ SUBNET_NAME --output jsonpath='{.status.conditions[?(@.type=="Ready")].status}'
El resultado debería ser similar al siguiente:
status: conditions: - lastTransitionTime: "2025-06-06T07:28:48Z" message: IP allocation finished successfully observedGeneration: 1 reason: AllocationSucceeded status: "True" type: Ready
La nueva subred global de tu organización en el segmento de red de datos está disponible. Puedes crear una subred para una zona concreta a partir de esta nueva subred principal global.
Añadir una nueva subred global de intervalo raíz de red
Las subredes globales con la etiqueta ipam.gdc.goog/usage: network-root-range
alojan el CIDR de todas las zonas de la red. Si el CIDR se agota, debes crear una subred de intervalo raíz de red en el servidor de la API global. Si es necesario, puedes crear varias subredes globales raíz.
Para crear una subred de intervalo raíz de red, siga estos pasos:
En una ventana de terminal, crea la nueva subred global de intervalo raíz de red para el segmento de red de datos en el espacio de nombres
platform
:kubectl --kubeconfig GLOBAL_API_SERVER_KUBECONFIG apply -f - <<EOF apiVersion: ipam.global.gdc.goog/v1 kind: Subnet metadata: labels: ipam.gdc.goog/network-segment: data ipam.gdc.goog/usage: network-root-range name: SUBNET_NAME namespace: platform spec: ipv4Request: cidr: NEW_CIDR type: Root EOF
Haz los cambios siguientes:
GLOBAL_API_SERVER_KUBECONFIG
: la ruta al archivo kubeconfig del servidor de la API global. Para obtener más información, consulte los recursos del servidor de la API global.SUBNET_NAME
: el nombre de la nueva subred.NEW_CIDR
: el nuevo CIDR de la subred. Este CIDR no puede solaparse con ningún CIDR de las subredes que tengan la etiquetaipam.gdc.goog/usage: network-root-range
en el mismo servidor de API global.
Esta nueva subred de intervalo raíz global se puede subdividir en el servidor de API global o asignar a una zona específica.
Siguientes pasos
- Subredes y direcciones IP
- Descripción general de las redes
- Configurar balanceadores de carga externos