Nesta página, descrevemos como criar mais sub-redes no segmento de rede de dados da sua organização para atender aos requisitos de rede externa. É necessário adicionar sub-redes para garantir que serviços externos, como a tradução de endereços de rede (NAT) de saída e balanceadores de carga externos, tenham endereços IP suficientes para se conectar a redes fora da sua organização.
Há várias tarefas descritas nesta página, que não precisam ser concluídas em ordem:
- Crie uma sub-rede de ramificação zonal para serviços externos: essa tarefa é útil para organizar ou alocar ainda mais os endereços IP externo da sua zona para serviços.
- Criar uma sub-rede folha para um serviço individual: essa tarefa é útil quando você tem um novo serviço que ainda não tem um endereço IP para usar.
- Alocar sub-rede zonal de um intervalo global de endereços IP: essa tarefa é útil quando sua zona não tem mais espaço suficiente de endereços IP externo.
- Dividir a sub-rede global raiz sem alocação de zona: essa tarefa é útil para organizar ainda mais os endereços IP externo no servidor de API global antes de alocá-los a uma zona.
- Adicionar nova sub-rede global de intervalo de raiz de rede: essa tarefa é útil quando o segmento de rede de dados não tem mais espaço suficiente de endereço IP externo global para alocar às suas zonas.
Para uma visão geral das sub-redes e dos conceitos antes de concluir as tarefas nesta página, consulte Sub-redes e endereços IP.
Esta página é destinada a administradores de rede no grupo de administradores de plataforma e desenvolvedores de aplicativos no grupo de operadores de aplicativos, que são responsáveis por gerenciar o tráfego de rede da organização. Para mais informações, consulte Públicos-alvo da documentação do GDC com isolamento físico.
Antes de começar
Para receber a permissão necessária para criar sub-redes, peça ao administrador do IAM da organização para conceder a você o papel do IAM de administrador da organização de sub-redes (subnet-org-admin). Essa função não está vinculada a um namespace.
Criar uma sub-rede de ramificação zonal para serviços externos
É possível criar uma sub-rede externa zonal com base na sub-rede raiz zonal da zona para subdividir ainda mais os endereços IP no segmento de rede de dados zonal. Você precisa criar esse tipo de sub-rede no namespace platform. Se a sub-rede raiz zonal principal não tiver endereços IP suficientes disponíveis, alocar outra sub-rede zonal do intervalo de endereços IP global primeiro e depois retornar a este procedimento.
Em uma janela de terminal, crie a nova sub-rede externa no servidor da API de gerenciamento 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 EOFSubstitua:
MANAGEMENT_API_SERVER_KUBECONFIG: o caminho para o arquivo kubeconfig do servidor da API de gerenciamento. Para mais informações, consulte Recursos do servidor da API de gerenciamento zonal.SUBNET_NAME: o nome da nova sub-rede.CIDR_PREFIX_LENGTH: o comprimento do prefixo CIDR da nova sub-rede alocada dinamicamente, como20. Para definir o CIDR de forma estática, substitua o campoprefixLengthpelo campocidre defina o bloco CIDR, como10.0.10.0/27.PARENT_SUBNET_NAME: o nome da sub-rede principal, comodata-external-zone0-cidr. A sub-rede principal geralmente é uma sub-rede raiz zonal no segmento de rede de dados.
Para mais informações, consulte a documentação de referência da API para o recurso
Subnet.É possível continuar subdividindo as sub-redes zonais ou criar uma sub-rede folha para alocar um endereço IP individual diretamente a um serviço externo.
Criar uma sub-rede folha para um serviço individual
Você precisa criar uma sub-rede folha para alocar um único endereço IP para seu serviço.
Essa sub-rede folha precisa ter o valor de campo type: Leaf e estar no mesmo namespace de projeto que seu serviço externo, como um balanceador de carga externo ou NAT de saída.
A sub-rede leaf precisa ser configurada com um valor prefixLength de 32, porque ela
é destinada a alocar um único endereço IP. O valor parentReference faz referência a uma sub-rede alocada anteriormente, como a sub-rede zonal principal criada em Criar uma sub-rede de ramificação zonal para cargas de trabalho.
Em uma janela de terminal, crie a sub-rede leaf no servidor da API de gerenciamento:
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 EOFSubstitua:
MANAGEMENT_API_SERVER_KUBECONFIG: o caminho para o arquivo kubeconfig do servidor da API de gerenciamento. Para mais informações, consulte Recursos do servidor da API de gerenciamento zonal.SUBNET_NAME: o nome da sub-rede folha.PROJECT_NAMESPACE: o namespace do projeto correspondente ao projeto em que seus serviços estão localizados.PARENT_SUBNET: o nome da sub-rede principal de que a sub-rede leaf vai extrair o endereço IP.
Seu endereço IP individual agora está disponível para uso pelo serviço externo. Para mais informações sobre como configurar o endereço IP do seu serviço, consulte a documentação correspondente, como Configurar balanceadores de carga externos.
Alocar sub-rede zonal do intervalo de endereços IP global
Se a sua zona não fornecer endereços IP suficientes para os serviços externos do intervalo de endereços IP da sub-rede raiz zonal atual, aloque endereços IP adicionais do intervalo raiz de endereços IP global.
Conclua as etapas a seguir para o segmento de rede de dados no namespace platform:
Em uma janela de terminal, descreva todas as sub-redes raiz do segmento de rede de dados e verifique os CIDRs disponíveis:
kubectl --kubeconfig GLOBAL_API_SERVER_KUBECONFIG describe subnets --namespace platform \ -l ipam.gdc.goog/network-segment=data,ipam.gdc.goog/usage=network-root-rangeSubstitua
GLOBAL_API_SERVER_KUBECONFIGpelo caminho para o arquivo kubeconfig do servidor de API global. Para mais informações, consulte Recursos globais do servidor de API. Os rótulos são constantes e precisam permanecer iguais.O resultado será o seguinte:
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>Anote os valores de
Status.ipv4Allocation.Available CIDRs. Estes são os CIDRs disponíveis que a próxima etapa referencia. Na saída anterior, os intervalos CIDR10.254.0.0/15e10.253.0.0/16estão disponíveis. Pode haver várias sub-redes na saída, dependendo do número de sub-redes raiz que você tem. Portanto, anote todos os CIDRs disponíveis e a sub-rede de origem de cada um deles.Compare o maior CIDR disponível da etapa anterior com o tamanho do CIDR necessário para sua zona. Se o maior CIDR disponível não for grande o suficiente para alocar sua nova sub-rede, adicione uma nova sub-rede global de intervalo raiz de rede antes de continuar. Anote o nome da sub-rede mãe para referenciar a nova sub-rede.
Por exemplo, se você precisar de um CIDR
/13, mas os CIDRs disponíveis incluírem apenas/15e/16, crie uma nova sub-rede global de intervalo raiz de rede. Se você precisar de uma sub-rede/15, aloque uma nova sub-rede zonal do CIDR/15atual.Crie a nova sub-rede no servidor de 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 EOFSubstitua:
GLOBAL_API_SERVER_KUBECONFIG: o caminho para o arquivo kubeconfig do servidor de API global. Para mais informações, consulte Recursos globais do servidor de API.SUBNET_NAME: o nome da nova sub-rede;CIDR_PREFIX_LENGTH: o tamanho do prefixo CIDR da nova sub-rede alocada dinamicamente, como20. Para definir o CIDR de forma estática, substitua o campoprefixLengthpelo campocidre defina o bloco CIDR, como10.0.10.0/27.ZONE_NAME: a zona em que a sub-rede será alocada, comozone1.PARENT_SUBNET_NAME: o nome da sub-rede principal, comodata-external-root-cidr, ou o novo intervalo raiz da rede, a sub-rede global criada.ORG_NAME: o nome da organização.
Para mais informações, consulte a documentação de referência da API para o recurso global
Subnet.Verifique se a sub-rede está pronta e disponível no servidor de API global. Para isso, confira se o tipo de status
Readyétrue:kubectl --kubeconfig GLOBAL_API_SERVER_KUBECONFIG get subnet --namespace platform \ SUBNET_NAME --output jsonpath='{.status.conditions[?(@.type=="Ready")].status}'O resultado será o seguinte:
status: conditions: - lastTransitionTime: "2025-06-06T07:28:48Z" message: IP allocation finished successfully observedGeneration: 1 reason: AllocationSucceeded status: "True" type: ReadyVerifique se a sub-rede zonal foi criada no servidor da API de gerenciamento zonal e se o tipo de status
Readyétrue:kubectl --kubeconfig MANAGEMENT_API_SERVER_KUBECONFIG get subnet --namespace platform \ SUBNET_NAME --output jsonpath='{.status.conditions[?(@.type=="Ready")].status}'Substitua
MANAGEMENT_API_SERVER_KUBECONFIGpelo caminho para o arquivo kubeconfig do servidor da API de gerenciamento. Para mais informações, consulte Recursos do servidor da API de gerenciamento zonal.O resultado será o seguinte:
status: conditions: - lastTransitionTime: "2025-06-06T07:29:34Z" message: IP allocation finished successfully observedGeneration: 1 reason: AllocationSucceeded status: "True" type: ReadyNessa nova sub-rede zonal, é possível criar mais sub-redes filhas zonais ou alocar um endereço IP individual diretamente a um serviço externo.
Dividir a sub-rede global raiz sem alocação de zona
Se você quiser continuar organizando seu intervalo de endereços IP acessíveis globalmente da sub-rede raiz global sem alocar os endereços IP para seus serviços externos zonais, crie uma sub-rede global e não defina uma estratégia de propagação no recurso personalizado Subnet.
Conclua as etapas a seguir no namespace platform para dividir sua sub-rede raiz global apenas no escopo global:
Em uma janela de terminal, descreva todas as sub-redes raiz do segmento de rede de dados e verifique os CIDRs disponíveis:
kubectl --kubeconfig GLOBAL_API_SERVER_KUBECONFIG describe subnets --namespace platform \ -l ipam.gdc.goog/network-segment=data,ipam.gdc.goog/usage=network-root-rangeSubstitua
GLOBAL_API_SERVER_KUBECONFIGpelo caminho para o arquivo kubeconfig do servidor de API global. Para mais informações, consulte Recursos globais do servidor de API. Os rótulos são constantes e precisam permanecer iguais.O resultado será o seguinte:
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>Anote os valores de
Status.ipv4Allocation.Available CIDRs. Estes são os CIDRs disponíveis que a próxima etapa referencia. Na saída anterior, os intervalos CIDR10.254.0.0/15e10.253.0.0/16estão disponíveis. Pode haver várias sub-redes na saída, dependendo do número de sub-redes raiz que você tem. Portanto, anote todos os CIDRs disponíveis e de qual sub-rede eles são.Compare o maior CIDR disponível da etapa anterior com o tamanho do CIDR necessário para sua nova sub-rede global. Se o maior CIDR disponível não for grande o suficiente para alocar sua nova sub-rede, adicione uma nova sub-rede global de intervalo raiz de rede antes de continuar. Anote a sub-rede principal de que você vai extrair o CIDR para sua nova sub-rede.
Por exemplo, se você precisar de um CIDR
/13, mas os CIDRs disponíveis incluírem apenas/15e/16, crie uma nova sub-rede global de intervalo raiz de rede. Se você precisar de uma sub-rede/15, aloque a nova sub-rede global do CIDR/15atual.Crie a nova sub-rede no servidor de 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 EOFSubstitua:
GLOBAL_API_SERVER_KUBECONFIG: o caminho para o arquivo kubeconfig do servidor de API global. Para mais informações, consulte Recursos globais do servidor de API.SUBNET_NAME: o nome da nova sub-rede;CIDR_PREFIX_LENGTH: o tamanho do prefixo CIDR da nova sub-rede alocada dinamicamente, como20. Para definir o CIDR de forma estática, substitua o campoprefixLengthpelo campocidre defina o bloco CIDR, como10.0.10.0/27.PARENT_SUBNET_NAME: o nome da sub-rede principal, comodata-external-root-cidr, ou a nova sub-rede global do intervalo raiz da rede criada.ORG_NAME: o nome da organização.
Para mais informações, consulte a documentação de referência da API para o recurso global
Subnet.Verifique se a sub-rede está pronta e disponível no servidor de API global. Para isso, confira se o tipo de status
Readyétrue:kubectl --kubeconfig GLOBAL_API_SERVER_KUBECONFIG get subnet --namespace platform \ SUBNET_NAME --output jsonpath='{.status.conditions[?(@.type=="Ready")].status}'O resultado será o seguinte:
status: conditions: - lastTransitionTime: "2025-06-06T07:28:48Z" message: IP allocation finished successfully observedGeneration: 1 reason: AllocationSucceeded status: "True" type: Ready
A nova sub-rede global da sua organização no segmento de rede de dados está disponível. É possível criar uma sub-rede para uma zona específica na nova sub-rede global principal.
Adicionar nova sub-rede global de intervalo raiz de rede
As sub-redes globais com o rótulo ipam.gdc.goog/usage: network-root-range hospedam o CIDR de todas as zonas da rede. Se o CIDR estiver esgotado, crie uma
nova sub-rede de intervalo raiz da rede no servidor de API global. É possível criar várias sub-redes globais raiz, se necessário.
Para criar uma sub-rede de intervalo raiz de rede, faça o seguinte:
Em uma janela de terminal, crie a nova sub-rede global de intervalo raiz da rede para o segmento de rede de dados no namespace
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 EOFSubstitua:
GLOBAL_API_SERVER_KUBECONFIG: o caminho para o arquivo kubeconfig do servidor de API global. Para mais informações, consulte Recursos globais do servidor de API.SUBNET_NAME: o nome da nova sub-rede;NEW_CIDR: o novo CIDR da sub-rede. Esse CIDR não pode se sobrepor a nenhum CIDR em todas as sub-redes atuais com o rótuloipam.gdc.goog/usage: network-root-rangeno mesmo servidor da API global.
Essa nova sub-rede de intervalo de raiz global pode ser subdividida no servidor de API global ou alocada para uma zona específica.