Esta página descreve como criar sub-redes adicionais na nuvem virtual privada (VPC) interna ou na VPC predefinida da sua organização para suportar os requisitos de rede internos. Tem de criar uma sub-rede da VPC para garantir que as suas cargas de trabalho internas, como máquinas virtuais (VM) e contentores, têm um número suficiente de endereços IP para suportar os respetivos requisitos de rede na sua organização.
Existem várias tarefas descritas nesta página que não se destinam a ser concluídas por ordem:
- Crie uma sub-rede de ramificação zonal para cargas de trabalho: esta tarefa é útil para organizar ou atribuir ainda mais os endereços IP internos existentes da sua zona a cargas de trabalho.
- Crie uma sub-rede folha para uma carga de trabalho individual: Esta tarefa é útil quando tem uma nova carga de trabalho que ainda não tem um endereço IP para usar.
- Atribua uma sub-rede zonal a partir do intervalo de endereços IP globais: Esta tarefa é útil quando a sua zona já não tem espaço de endereços IP internos suficiente.
- Divida a sub-rede global de raiz sem atribuição de zonas: Esta tarefa é útil para organizar ainda mais os endereços IP internos no servidor da API global antes de os atribuir a uma zona.
- Adicione uma nova sub-rede global de intervalo raiz de rede: Esta tarefa é útil quando a sua VPC predefinida já não tem espaço de endereço IP interno global suficiente para atribuir às suas zonas.
Para uma vista geral das sub-redes e dos respetivos conceitos antes de concluir as tarefas nesta página, consulte o artigo Sub-redes e endereços IP.
Esta página destina-se aos administradores de rede no grupo de administradores da plataforma e aos programadores de aplicações no grupo de operadores de aplicações, que são responsáveis pela gestão do tráfego de rede da respetiva organização. Para mais informações, consulte a documentação sobre públicos-alvo para GDC com isolamento de ar.
Antes de começar
Para receber a autorização de que precisa para criar sub-redes, peça ao administrador de IAM da organização que lhe conceda a função de IAM de administrador da organização de sub-redes (subnet-org-admin
). Esta função não está associada a um espaço de nomes.
Crie uma sub-rede de ramificação zonal para cargas de trabalho
Pode criar uma sub-rede interna zonal a partir da sub-rede raiz zonal existente da zona para subdividir ainda mais os endereços IP na sua VPC predefinida zonal. Tem de criar este tipo de sub-rede no espaço de nomes platform
. Se a sub-rede raiz zonal não tiver endereços IP suficientes disponíveis, tem de atribuir outra sub-rede zonal a partir do intervalo de endereços IP global antes de continuar.
Numa janela de terminal, crie a nova sub-rede zonal no servidor da API de gestão:
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 EOF
Substitua o seguinte:
MANAGEMENT_API_SERVER_KUBECONFIG
: o caminho para o ficheiro kubeconfig do servidor da API de gestão. Para mais informações, consulte o artigo Recursos do servidor da API de gestão zonal.SUBNET_NAME
: o nome da sua nova sub-rede.CIDR_PREFIX_LENGTH
: o comprimento do prefixo CIDR da sub-rede recém-criada que é alocada dinamicamente, como20
. Para definir o CIDR de forma estática, substitua o campoprefixLength
pelo campocidr
e, em seguida, defina o bloco CIDR, como10.0.10.0/27
.PARENT_SUBNET_NAME
: o nome da sub-rede principal, comodefault-vpc-zone0-cidr
. Normalmente, a sub-rede principal é uma sub-rede raiz zonal na VPC predefinida.
Consulte a documentação de referência da API para o recurso
Subnet
para mais informações.Pode continuar a subdividir as suas sub-redes zonais ou criar uma sub-rede folha para atribuir um endereço IP individual diretamente a uma carga de trabalho interna.
Crie uma sub-rede folha para uma carga de trabalho individual
Tem de criar uma sub-rede folha para atribuir um único endereço IP à sua carga de trabalho.
Esta sub-rede folha tem de ter o valor do campo type: Leaf
e residir no mesmo espaço de nomes do projeto que o recurso da carga de trabalho, como uma VM ou um contentor.
A sub-rede folha tem de ser configurada com um valor prefixLength
de 32
, uma vez que se destina a atribuir um único endereço IP. O valor parentReference
faz referência a uma sub-rede atribuída anteriormente, como a sub-rede zonal principal que criou em Crie uma sub-rede de ramificação zonal para cargas de trabalho.
Numa janela do terminal, crie a sub-rede folha no servidor da API de gestão:
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/vpc: default-vpc name: SUBNET_NAME namespace: PROJECT_NAMESPACE spec: ipv4Request: prefixLength: 32 parentReference: name: PARENT_SUBNET namespace: platform type: Leaf EOF
Substitua o seguinte:
MANAGEMENT_API_SERVER_KUBECONFIG
: o caminho para o ficheiro kubeconfig do servidor da API de gestão. Para mais informações, consulte o artigo Recursos do servidor da API de gestão zonal.SUBNET_NAME
: o nome da sub-rede folha.PROJECT_NAMESPACE
: o espaço de nomes do projeto correspondente ao seu projeto onde se encontram as cargas de trabalho.PARENT_SUBNET
: o nome da sub-rede principal a partir da qual esta sub-rede folha vai obter o respetivo endereço IP.
O seu endereço IP individual está agora disponível para utilização pelas suas cargas de trabalho internas, como VMs e contentores. Para mais informações sobre como configurar o endereço IP para as suas cargas de trabalho, consulte os artigos Implemente cargas de trabalho de máquinas virtuais ou Implemente cargas de trabalho de contentores.
Atribua uma sub-rede zonal a partir do intervalo de endereços IP global
Se a sua zona não fornecer endereços IP suficientes para as suas cargas de trabalho a partir do intervalo de endereços IP da sub-rede raiz zonal existente, pode atribuir endereços IP adicionais a partir do intervalo raiz de endereços IP global.
Conclua os passos seguintes para a rede VPC predefinida no espaço de nomes platform
:
Numa janela de terminal, descreva todas as sub-redes de raiz da VPC predefinida e verifique os respetivos CIDRs disponíveis:
kubectl --kubeconfig GLOBAL_API_SERVER_KUBECONFIG describe subnets --namespace platform \ --label ipam.gdc.goog/vpc=default-vpc,ipam.gdc.goog/usage=network-root-range
Substitua
GLOBAL_API_SERVER_KUBECONFIG
pelo caminho para o ficheiro kubeconfig do servidor da API global. Para mais informações, consulte o artigo Recursos do servidor da API global. As etiquetas são constantes e têm de permanecer iguais.O resultado é semelhante ao 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>
Tome nota dos valores
Status.ipv4Allocation.Available CIDRs
como os CIDRs disponíveis, que serão referenciados no passo seguinte. Na saída anterior, os intervalos CIDR10.254.0.0/15
e10.253.0.0/16
estão disponíveis. Pode haver várias sub-redes na sua saída, consoante o número de sub-redes raiz que tiver. Por isso, tome nota de todos os CIDRs disponíveis e de qual sub-rede o CIDR disponível é proveniente.Compare o CIDR disponível mais elevado que anotou no passo anterior com o tamanho do CIDR que tem de atribuir à sua zona. Se o CIDR disponível mais elevado não for suficientemente elevado para atribuir a sua nova sub-rede, adicione uma nova sub-rede global de intervalo de raiz de rede antes de continuar. Tenha em atenção a sub-rede principal a partir da qual decide obter o CIDR para a sua nova sub-rede.
Por exemplo, se precisar de um
/13
CIDR, mas os CIDRs disponíveis apenas incluírem/15
e/16
, tem de adicionar uma nova sub-rede global de intervalo de raiz de rede. Se precisar de uma sub-rede/15
, pode atribuir uma nova sub-rede zonal a partir do CIDR/15
existente.Crie a nova sub-rede no servidor da 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 EOF
Substitua o seguinte:
GLOBAL_API_SERVER_KUBECONFIG
: o caminho para o ficheiro kubeconfig do servidor da API global. Para mais informações, consulte os recursos do servidor da API global.SUBNET_NAME
: o nome da nova sub-rede.CIDR_PREFIX_LENGTH
: o comprimento do prefixo CIDR da nova sub-rede que é alocada dinamicamente, como20
. Para definir o CIDR de forma estática, substitua o campoprefixLength
pelo campocidr
e, em seguida, defina o bloco CIDR, como10.0.10.0/27
.ZONE_NAME
: a zona para a qual atribuir a sub-rede, comozone1
.PARENT_SUBNET_NAME
: o nome da sub-rede principal, comodefault-vpc-root-cidr
, ou o novo intervalo global da raiz da rede da sub-rede que criou.ORG_NAME
: o nome da organização.
Consulte a documentação de referência da API para o recurso global
Subnet
para mais informações.Verifique se a sub-rede está pronta e disponível no servidor da API global verificando se o respetivo tipo de estado
Ready
étrue
:kubectl --kubeconfig GLOBAL_API_SERVER_KUBECONFIG get subnet --namespace platform \ SUBNET_NAME --output jsonpath='{.status.conditions[?(@.type=="Ready")].status}'
O resultado é semelhante ao seguinte:
status: conditions: - lastTransitionTime: "2025-06-06T07:28:48Z" message: IP allocation finished successfully observedGeneration: 1 reason: AllocationSucceeded status: "True" type: Ready
Verifique se a sub-rede zonal foi criada no servidor da API de gestão zonal e se o respetivo tipo de estado
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_KUBECONFIG
pelo caminho para o ficheiro kubeconfig do servidor da API de gestão. Para mais informações, consulte o artigo Recursos do servidor da API de gestão zonal.O resultado é semelhante ao seguinte:
status: conditions: - lastTransitionTime: "2025-06-06T07:29:34Z" message: IP allocation finished successfully observedGeneration: 1 reason: AllocationSucceeded status: "True" type: Ready
A partir desta nova sub-rede zonal, pode criar mais sub-redes secundárias zonais ou atribuir um endereço IP individual diretamente a uma carga de trabalho interna.
Divida a sub-rede global raiz sem atribuição de zona
Para dividir ainda mais uma sub-rede global sem a atribuir a uma zona para as suas cargas de trabalho usarem, crie uma sub-rede global e não defina uma estratégia de propagação no recurso personalizado Subnet
. Esta abordagem é útil se quiser continuar a organizar o seu intervalo de endereços IP acessível globalmente a partir da sub-rede raiz global sem atribuir os endereços IP a uma zona.
Conclua os passos seguintes no espaço de nomes platform
para dividir a sua sub-rede raiz global apenas no âmbito global:
Numa janela de terminal, descreva todas as sub-redes raiz da VPC predefinida e verifique os respetivos CIDRs disponíveis:
kubectl --kubeconfig GLOBAL_API_SERVER_KUBECONFIG describe subnets --namespace platform \ --label ipam.gdc.goog/vpc=default-vpc,ipam.gdc.goog/usage=network-root-range
Substitua
GLOBAL_API_SERVER_KUBECONFIG
pelo caminho para o ficheiro kubeconfig do servidor da API global. Para mais informações, consulte o artigo Recursos do servidor da API global. As etiquetas são constantes e têm de permanecer iguais.O resultado é semelhante ao 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>
Tome nota dos valores
Status.ipv4Allocation.Available CIDRs
como os CIDRs disponíveis, que serão referenciados no passo seguinte. Na saída anterior, os intervalos CIDR10.254.0.0/15
e10.253.0.0/16
estão disponíveis. Pode haver várias sub-redes na sua saída, consoante o número de sub-redes raiz que tiver. Por isso, tome nota de todos os CIDRs disponíveis e de qual sub-rede o CIDR disponível é proveniente.Compare o CIDR disponível mais elevado que anotou no passo anterior com o tamanho do CIDR que precisa de atribuir à sua nova sub-rede global. Se o CIDR disponível mais elevado não for suficientemente grande para atribuir a sua nova sub-rede, adicione uma nova sub-rede global de intervalo de raiz de rede antes de continuar. Tenha em atenção a sub-rede principal a partir da qual decide obter o CIDR para a sua nova sub-rede.
Por exemplo, se precisar de um
/13
CIDR, mas os CIDRs disponíveis apenas incluírem/15
e/16
, tem de criar uma nova sub-rede global de intervalo de raiz de rede. Se precisar de uma/15
sub-rede, pode atribuir a nova sub-rede global a partir do/15
CIDR existente.Crie a nova sub-rede no servidor da 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 EOF
Substitua o seguinte:
GLOBAL_API_SERVER_KUBECONFIG
: o caminho para o ficheiro kubeconfig do servidor da API global. Para mais informações, consulte os recursos do servidor da API global.SUBNET_NAME
: o nome da nova sub-rede.CIDR_PREFIX_LENGTH
: o comprimento do prefixo CIDR da nova sub-rede que é alocada dinamicamente, como20
. Para definir o CIDR de forma estática, substitua o campoprefixLength
pelo campocidr
e, em seguida, defina o bloco CIDR, como10.0.10.0/27
.PARENT_SUBNET_NAME
: o nome da sub-rede principal, comodefault-vpc-root-cidr
, ou o novo intervalo global da raiz da rede da sub-rede que criou.ORG_NAME
: o nome da organização.
Consulte a documentação de referência da API para o recurso global
Subnet
para mais informações.Verifique se a sub-rede está pronta e disponível no servidor da API global verificando se o respetivo tipo de estado
Ready
étrue
:kubectl --kubeconfig GLOBAL_API_SERVER_KUBECONFIG get subnet --namespace platform \ SUBNET_NAME --output jsonpath='{.status.conditions[?(@.type=="Ready")].status}'
O resultado é semelhante ao 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 para a sua organização na VPC predefinida está disponível. Pode criar uma sub-rede para uma zona específica a partir desta nova sub-rede principal global.
Adicione um novo intervalo de raiz da rede, uma sub-rede global
As sub-redes globais com a etiqueta ipam.gdc.goog/usage: network-root-range
alojam o CIDR para todas as zonas da rede. Se o CIDR estiver esgotado, tem de criar uma sub-rede de intervalo raiz da rede no servidor da API global. Pode criar vários
sub-redes globais raiz, se necessário.
Para criar uma nova sub-rede de intervalo de raiz da rede, conclua o seguinte:
Numa janela de terminal, crie a nova sub-rede global do intervalo de raiz da rede para a VPC predefinida no espaço de nomes
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 EOF
Substitua o seguinte:
GLOBAL_API_SERVER_KUBECONFIG
: o caminho para o ficheiro kubeconfig do servidor da API global. Para mais informações, consulte os recursos do servidor da API global.SUBNET_NAME
: o nome da nova sub-rede.NEW_CIDR
: o novo CIDR para a sub-rede. Este CIDR não pode sobrepor-se a nenhum CIDR em todas as sub-redes existentes com a etiquetaipam.gdc.goog/usage: network-root-range
no mesmo servidor da API global.
Esta nova sub-rede de intervalo de raiz global pode ser subdividida no servidor de API global ou atribuída a uma zona específica.
O que se segue?
- Sub-redes e endereços IP
- Vista geral das redes
- Implemente uma aplicação de VM de alta disponibilidade
- Implemente uma aplicação de contentor de elevada disponibilidade