Crie outras sub-redes na nuvem privada virtual (VPC) interna ou na VPC padrão da sua organização para atender aos requisitos de rede interna. Por exemplo, adicione sub-redes VPC para garantir que as cargas de trabalho internas, como máquinas virtuais (VMs) e contêineres, tenham endereços IP suficientes.
Há várias tarefas descritas nesta página, que não precisam ser concluídas em ordem:
- Criar uma sub-rede de ramificação zonal para cargas de trabalho: essa tarefa é útil para organizar ou alocar ainda mais os endereços IP internos da zona para as cargas de trabalho.
- Criar uma sub-rede folha para uma carga de trabalho individual: essa tarefa é útil quando você tem uma nova carga de trabalho que ainda não tem um endereço IP para usar.
- Alocar sub-rede zonal do intervalo de endereços IP global: essa tarefa é útil quando a zona não tem mais espaço de endereço IP interno suficiente.
- Dividir a sub-rede global raiz sem alocação de zona: essa tarefa é útil para organizar ainda mais os endereços IP internos no servidor de API global antes de alocá-los a uma zona.
- Adicionar uma nova sub-rede global de intervalo raiz de rede: essa tarefa é útil quando a VPC padrão não tem mais espaço de endereço IP interno global suficiente para alocar às zonas.
Para uma visão geral das sub-redes e dos conceitos delas antes de concluir as tarefas nesta página, consulte Sub-redes e endereços IP.
Este documento é destinado a administradores de plataforma e operadores de aplicativos 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 da organização do IAM para conceder a você o papel de administrador da organização de sub-rede (subnet-org-admin) do IAM. Esse papel não está vinculado a um namespace.
Criar uma sub-rede de ramificação zonal para cargas de trabalho
Para subdividir ainda mais os endereços IP na VPC padrão zonal, crie uma
sub-rede interna zonal com base na sub-rede raiz zonal atual da zona. É preciso
criar esse tipo de sub-rede no namespace platform.
Se a sub-rede raiz zonal pai não tiver endereços IP suficientes disponíveis, aloque outra sub-rede zonal do intervalo de endereços IP global antes de continuar.
Em uma janela de terminal, crie a nova sub-rede zonal 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/vpc: default-vpc 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 de API de gerenciamento. Para mais informações, consulte Recursos do servidor de API de gerenciamento zonal.SUBNET_NAME: o nome da nova sub-rede.CIDR_PREFIX_LENGTH: o tamanho do prefixo da nova sub-rede, como27. Esse campo aloca dinamicamente o próximo intervalo de endereços IP disponível desse tamanho na sub-rede pai. Use o campoprefixLengthquando você se importar apenas com o tamanho da sub-rede, não com o intervalo de endereços IP específico.Para atribuir um intervalo de endereços IP específico, siga estas etapas:
- Remova a linha
prefixLength: CIDR_PREFIX_LENGTH. - Adicione uma linha
cidr: "YOUR_CIDR_BLOCK"no lugar, comocidr: "10.0.10.0/27".
Use o campo
cidrquando estiver seguindo um plano de IP rigoroso e precisar atribuir um intervalo de endereços IP preciso e previsível. Esse intervalo precisa ser uma sub-rede válida e disponível dentro da sub-rede pai.- Remova a linha
PARENT_SUBNET_NAME: o nome da sub-rede pai, comodefault-vpc-zone0-cidr. A sub-rede pai normalmente é uma sub-rede raiz zonal na VPC padrão.
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 uma carga de trabalho interna.
Criar uma sub-rede folha para uma carga de trabalho individual
Para alocar um único endereço IP para sua carga de trabalho, crie uma sub-rede folha.
Essa sub-rede folha precisa ter o valor de campo type: Leaf e residir no
mesmo namespace de projeto que o recurso de carga de trabalho, como uma VM ou um contêiner.
A sub-rede folha precisa ser configurada com um valor prefixLength de 32,
porque ela se destina a alocar um único endereço IP. O valor parentReference
faz referência a uma sub-rede alocada anteriormente, como a sub-rede zonal pai
criada em
Criar uma sub-rede de ramificação zonal para cargas de trabalho.
Em uma janela de terminal, crie a sub-rede folha 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/vpc: default-vpc name: SUBNET_NAME namespace: PROJECT_NAMESPACE spec: ipv4Request: prefixLength: 32 parentReference: name: PARENT_SUBNET namespace: PARENT_NAMESPACE type: Leaf EOFSubstitua:
MANAGEMENT_API_SERVER_KUBECONFIG: o caminho para o arquivo kubeconfig do servidor de API de gerenciamento. Para mais informações, consulte Recursos do servidor de API de gerenciamento zonal.SUBNET_NAME: o nome da sub-rede folha.PROJECT_NAMESPACE: o namespace do projeto correspondente ao projeto em que as cargas de trabalho estão localizadas.PARENT_SUBNET: o nome da sub-rede pai de onde essa sub-rede folha vai receber o endereço IP.PARENT_NAMESPACE: o namespacePROJECT_NAMESPACEouplatform.
Seu endereço IP individual agora está disponível para ser usado pelas cargas de trabalho internas, como VMs e contêineres. Para mais informações sobre como configurar o endereço IP das cargas de trabalho, consulte Criar uma VM com um endereço IP estático ou dinâmico ou Configurar um balanceador de carga interno para cargas de trabalho de contêiner.
Alocar sub-rede zonal do intervalo de endereços IP global
Se a zona não fornecer endereços IP suficientes para as cargas de trabalho do intervalo de endereços IP da sub-rede raiz zonal, será possível alocar outros endereços IP do intervalo raiz de endereços IP global.
Para alocar uma sub-rede zonal do intervalo de endereços IP global, conclua as
etapas a seguir para a rede VPC padrão no namespace platform:
Em uma janela do terminal, descreva todas as sub-redes raiz da VPC padrão e verifique os blocos CIDR disponíveis:
kubectl --kubeconfig GLOBAL_API_SERVER_KUBECONFIG describe subnets --namespace platform \ -l ipam.gdc.goog/vpc=default-vpc,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 os mesmos.O resultado será o seguinte:
Name: default-vpc-root-cidr Namespace: platform Labels: ipam.gdc.goog/allocation-preference=default ipam.gdc.goog/subnet-group=default-vpc-root-group ipam.gdc.goog/usage=network-root-range ipam.gdc.goog/vpc=default-vpc 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: default-vpc-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. Esses valores são os blocos CIDR 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. A saída pode mostrar várias sub-redes. Anote todos os blocos CIDR disponíveis e as sub-redes de origem deles.Compare o maior bloco CIDR disponível da etapa anterior com o tamanho do bloco CIDR necessário para sua zona. Se o maior bloco CIDR disponível não for grande o suficiente para alocar a nova sub-rede, adicione uma nova sub-rede global de intervalo raiz de rede antes de continuar. Anote a sub-rede pai de onde você vai receber o bloco CIDR para a nova sub-rede.
Por exemplo, se você precisar de um bloco CIDR
/13, mas os CIDRs disponíveis incluírem apenas/15e/16, será necessário adicionar uma nova sub-rede global de intervalo raiz de rede. Se você precisar de uma sub-rede/15, poderá alocar uma nova sub-rede zonal do bloco 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/vpc: default-vpc 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 que é 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 para a qual a sub-rede será alocada, comozone1.PARENT_SUBNET_NAME: o nome da sub-rede pai, comodefault-vpc-root-cidr, ou a nova sub-rede global do intervalo raiz da rede que você criou.ORG_NAME: o nome da organização.
Para mais informações, consulte a documentação de referência da API para o recurso
Subnet.Verifique se a sub-rede está pronta e disponível no servidor de API global conferindo 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 de API de gerenciamento. Para mais informações, consulte Recursos do servidor de 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 zonais filhas ou alocar um endereço IP individual diretamente para uma carga de trabalho interna.
Dividir a sub-rede global raiz sem alocação de zona
Para dividir ainda mais uma sub-rede global sem alocá-la a uma zona, crie uma
sub-rede global e omita a estratégia de propagação
no recurso personalizado Subnet. Essa abordagem é útil se você quiser continuar
organizando o intervalo de endereços IP acessível globalmente na sub-rede raiz global
sem alocar os endereços IP a uma zona.
Para dividir a sub-rede raiz global no escopo global, siga estas etapas no namespace platform:
Em uma janela do terminal, descreva todas as sub-redes raiz da VPC padrão e verifique os blocos CIDR disponíveis:
kubectl --kubeconfig GLOBAL_API_SERVER_KUBECONFIG describe subnets --namespace platform \ -l ipam.gdc.goog/vpc=default-vpc,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 os mesmos.O resultado será o seguinte:
Name: default-vpc-root-cidr Namespace: platform Labels: ipam.gdc.goog/allocation-preference=default ipam.gdc.goog/subnet-group=default-vpc-root-group ipam.gdc.goog/usage=network-root-range ipam.gdc.goog/vpc=default-vpc 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: default-vpc-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. Esses valores são os blocos CIDR 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 blocos CIDR disponíveis e de qual sub-rede o bloco CIDR disponível é.Compare o maior bloco CIDR disponível da etapa anterior com o tamanho do bloco CIDR necessário para a nova sub-rede global. Se o maior bloco CIDR disponível não for grande o suficiente para alocar a nova sub-rede, adicione uma nova sub-rede global de intervalo raiz de rede antes de continuar. Anote a sub-rede pai de onde você vai receber o bloco CIDR para a nova sub-rede.
Por exemplo, se você precisar de um bloco CIDR
/13, mas os CIDRs disponíveis incluírem apenas/15e/16, será necessário criar uma nova sub-rede global de intervalo raiz de rede. Se você precisar de uma sub-rede/15, poderá alocar a nova sub-rede global do bloco 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/vpc: default-vpc 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 que é 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 pai, comodefault-vpc-root-cidr, ou a nova sub-rede global do intervalo raiz da rede que você criou.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 conferindo 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 na VPC padrão está disponível. É possível criar uma sub-rede para uma zona específica com base nessa nova sub-rede global pai.
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 para todas as zonas da rede. Se o CIDR for usado, será necessário criar uma
nova sub-rede de intervalo raiz de rede no servidor de API global. É possível criar
várias sub-redes globais raiz, se necessário.
Para criar uma nova sub-rede de intervalo raiz de rede, siga estas etapas:
Em uma janela do terminal, crie a nova sub-rede global de intervalo raiz de rede para a VPC padrão 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/vpc: default-vpc 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 de API global.
Essa nova sub-rede de intervalo raiz global pode ser subdividida no servidor de API global ou alocada para uma zona específica.
A seguir
- Sub-redes e endereços IP
- Visão geral da rede
- Implantar um aplicativo de VM altamente disponível
- Implantar um aplicativo de contêiner altamente disponível