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 (VMs) e contentores, têm endereços IP suficientes para suportar os requisitos da rede interna da 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 raiz sem atribuição de zona: 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 para lhe conceder 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 principal 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 EOFSubstitua 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 da nova sub-rede, como27. Este campo atribui dinamicamente o intervalo de endereços IP disponível seguinte desse tamanho da sub-rede principal. Use o campoprefixLengthquando só se preocupar com o tamanho da sub-rede e não com o intervalo de endereços IP específico.Em alternativa, para atribuir um intervalo de IPs específico, siga estes passos:
- Remova a linha
prefixLength: CIDR_PREFIX_LENGTH. - Adicione uma linha
cidr: "YOUR_CIDR_BLOCK"no lugar do texto, comocidr: "10.0.10.0/27".
Use o campo
cidrquando estiver a seguir um plano de IP rigoroso e precisar de atribuir um intervalo de endereços IP preciso e previsível. Este intervalo tem de ser uma sub-rede válida e disponível na sub-rede principal.- Remova a linha
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.
Para mais informações, consulte a documentação de referência da API para o recurso
Subnet.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 tem de 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, porque destina-se a atribuir um único endereço IP. O valor 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.parentReference
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/vpc: default-vpc name: SUBNET_NAME namespace: PROJECT_NAMESPACE spec: ipv4Request: prefixLength: 32 parentReference: name: PARENT_SUBNET namespace: PARENT_NAMESPACE type: Leaf EOFSubstitua 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 as cargas de trabalho estão localizadas.PARENT_SUBNET: o nome da sub-rede principal a partir da qual esta sub-rede secundária vai obter o respetivo endereço IP.PARENT_NAMESPACE:PROJECT_NAMESPACEou o espaço de nomes da plataforma.
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 Crie uma VM com um endereço IP estático ou dinâmico ou Configure um balanceador de carga interno para 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 \ -l ipam.gdc.goog/vpc=default-vpc,ipam.gdc.goog/usage=network-root-rangeSubstitua
GLOBAL_API_SERVER_KUBECONFIGpelo caminho para o ficheiro kubeconfig do servidor de 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>Tenha em atenção os valores
Status.ipv4Allocation.Available CIDRs. Estes são os CIDRs disponíveis a que o passo seguinte faz referência. Na saída anterior, os intervalos CIDR10.254.0.0/15e10.253.0.0/16estão disponíveis. O resultado pode mostrar várias sub-redes. Tome nota de todos os CIDRs disponíveis e das respetivas sub-redes de origem.Compare o CIDR disponível mais amplo do passo anterior com o tamanho do CIDR necessário para a 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
/13CIDR, mas os CIDRs disponíveis apenas incluírem/15e/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/15existente.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 EOFSubstitua 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 campoprefixLengthpelo campocidre, 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 a nova sub-rede global do intervalo de raiz da rede que 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 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: ReadyVerifique 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_KUBECONFIGpelo 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: ReadyA 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, crie uma sub-rede global e omita a 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 \ -l ipam.gdc.goog/vpc=default-vpc,ipam.gdc.goog/usage=network-root-rangeSubstitua
GLOBAL_API_SERVER_KUBECONFIGpelo caminho para o ficheiro kubeconfig do servidor de 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>Tenha em atenção os valores
Status.ipv4Allocation.Available CIDRs. Estes são os CIDRs disponíveis a que o passo seguinte faz referência. 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 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 amplo do passo anterior com o tamanho do CIDR necessário para a 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
/13CIDR, mas os CIDRs disponíveis apenas incluírem/15e/16, tem de criar um novo intervalo de raiz de rede de sub-rede global. Se precisar de uma/15sub-rede, pode atribuir a nova sub-rede global a partir do/15CIDR 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 EOFSubstitua 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 campoprefixLengthpelo campocidre, 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 a nova sub-rede global do intervalo de raiz da rede que 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 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 nova 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 EOFSubstitua 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-rangeno 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