Crie sub-redes adicionais na nuvem virtual privada (VPC) interna ou na VPC predefinida da sua organização para suportar os requisitos de rede internos. Por exemplo, adicione sub-redes de VPC para garantir que as cargas de trabalho internas, como máquinas virtuais (VMs) e contentores, têm endereços IP suficientes.
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 de 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ços IP internos globais suficiente para atribuir às suas zonas.
Para uma vista geral das sub-redes e dos respetivos conceitos antes de concluir as tarefas em esta página, consulte o artigo Sub-redes e endereços IP.
Este documento destina-se a administradores de plataformas e operadores de aplicações responsáveis pela gestão do tráfego de rede da respetiva organização. Para mais informações, consulte Públicos-alvo para a documentação isolada do GDC.
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 atribuir a função de IAM de administrador de sub-redes da organização (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
Para subdividir ainda mais os endereços IP na sua VPC predefinida zonal, pode criar uma sub-rede interna zonal a partir da sub-rede raiz zonal existente da zona. 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 disponíveis suficientes, atribua outra sub-rede zonal a partir do intervalo de endereços IP globais antes de continuar.
Numa janela do 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 nova sub-rede de rede.CIDR_PREFIX_LENGTH: o comprimento do prefixo da nova sub-rede, como27. Este campo atribui dinamicamente o próximo intervalo de endereços IP disponível desse tamanho a partir da sub-rede principal. Use o campoprefixLengthquando só se preocupar com o tamanho da sub-rede e não com o respetivo intervalo de endereços IP específico.Para atribuir um intervalo de endereços IP específico, siga estes passos:
- Remova a linha
prefixLength: CIDR_PREFIX_LENGTH. - Adicione uma linha
cidr: "YOUR_CIDR_BLOCK"no respetivo lugar, 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
Subnetrecurso.Pode continuar a subdividir as sub-redes zonais ou criar uma sub-rede de folha para atribuir um endereço IP individual diretamente a uma carga de trabalho interna.
Crie uma sub-rede de folha para uma carga de trabalho individual
Para atribuir um único endereço IP à sua carga de trabalho, tem de criar uma sub-rede de folha.
Esta sub-rede de 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 de folha tem de estar configurada com um valor prefixLength de 32, porque se destina a atribuir um único endereço IP. O parentReference
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.
Numa janela do terminal, crie a sub-rede de 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 de folha.PROJECT_NAMESPACE: o espaço de nomes do projeto correspondente ao projeto onde as cargas de trabalho estão localizadas.PARENT_SUBNET: o nome da sub-rede principal a partir da qual esta sub-rede de folha vai obter o respetivo endereço IP.PARENT_NAMESPACE: o espaço de nomesPROJECT_NAMESPACEouplatform.
O endereço IP individual está agora disponível para ser usado pelas cargas de trabalho internas, como VMs e contentores. Para mais informações sobre como configurar o endereço IP das 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 globais
Se a sua zona não fornecer endereços IP suficientes para as 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 globais.
Para atribuir uma sub-rede zonal a partir do intervalo de endereços IP globais, conclua os seguintes passos para a rede VPC predefinida no espaço de nomes platform:
Numa janela do terminal, descreva todas as sub-redes raiz da VPC predefinida e verifique os respetivos 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 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 as mesmas.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 de
Status.ipv4Allocation.Available CIDRs. Estes valores são os blocos CIDR disponíveis aos quais o passo seguinte faz referência. No resultado anterior, os intervalos CIDR10.254.0.0/15e10.253.0.0/16estão disponíveis. O resultado pode mostrar várias sub-redes. Tenha em atenção todos os blocos CIDR disponíveis e as respetivas sub-redes de origem.Compare o maior bloco CIDR disponível do passo anterior com o tamanho do bloco CIDR necessário para a sua zona. Se o maior bloco CIDR disponível não for grande o suficiente para atribuir a nova sub-rede, adicione uma nova sub-rede global de intervalo raiz de rede antes de continuar. Tenha em atenção a sub-rede principal a partir da qual decide obter o bloco CIDR para a nova sub-rede.
Por exemplo, se precisar de um bloco CIDR
/13, mas os CIDRs disponíveis incluírem apenas/15e/16, tem de adicionar uma nova sub-rede global de intervalo raiz de rede. Se precisar de uma sub-rede/15, pode atribuir uma nova sub-rede zonal a partir do bloco 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 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 é atribuído dinamicamente, como20. Para definir o CIDR estaticamente, substitua o campoprefixLengthpelo 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 a nova sub-rede global de intervalo raiz de 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
Subnetrecurso.Valide 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: ReadyValide 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 zonais secundárias 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 intervalo de endereços IP acessível globalmente a partir da sub-rede raiz global sem atribuir os endereços IP a uma zona.
Para dividir a sub-rede raiz global no âmbito global, conclua os seguintes passos no espaço de nomes platform:
Numa janela do terminal, descreva todas as sub-redes raiz da VPC predefinida e verifique os respetivos 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 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 as mesmas.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 de
Status.ipv4Allocation.Available CIDRs. Estes valores são os blocos CIDR disponíveis aos quais o passo seguinte faz referência. No resultado anterior, os intervalos CIDR10.254.0.0/15e10.253.0.0/16estão disponíveis. Pode haver várias sub-redes no resultado, consoante o número de sub-redes raiz que tem. Por isso, tenha em atenção todos os blocos CIDR disponíveis e a sub-rede de origem do bloco CIDR disponível.Compare o maior bloco CIDR disponível do passo 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 atribuir a nova sub-rede, adicione uma nova sub-rede global de intervalo raiz de rede antes de continuar. Tenha em atenção a sub-rede principal a partir da qual decide obter o bloco CIDR para a nova sub-rede.
Por exemplo, se precisar de um bloco CIDR
/13, mas os CIDRs disponíveis incluírem apenas/15e/16, tem de criar uma nova sub-rede global de intervalo raiz de rede. Se precisar de uma sub-rede/15, pode atribuir a nova sub-rede global a partir do bloco 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 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 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 é atribuído dinamicamente, como20. Para definir o CIDR estaticamente, substitua o campoprefixLengthpelo 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 a nova sub-rede global de intervalo raiz de 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.Valide 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 da 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 uma nova sub-rede global de intervalo raiz de rede
As sub-redes globais com a etiqueta ipam.gdc.goog/usage: network-root-range alojam o CIDR de todas as zonas da rede. Se o CIDR estiver esgotado, tem de criar uma nova sub-rede de intervalo raiz de rede no servidor da API global. Se necessário, pode criar várias sub-redes globais raiz.
Para criar uma nova sub-rede de intervalo raiz de rede, conclua os seguintes passos:
Numa janela do terminal, crie a nova sub-rede global de intervalo raiz de 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 Recursos do servidor da API global.SUBNET_NAME: o nome da nova sub-rede.NEW_CIDR: o novo CIDR da sub-rede. Este CIDR não pode sobrepor-se a nenhum CIDR em todas as sub-redes existentes com aipam.gdc.goog/usage: network-root-rangeetiqueta no mesmo servidor da API global.
Esta nova sub-rede global de intervalo raiz pode ser subdividida no servidor da 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 elevada disponibilidade
- Implemente uma aplicação de contentor de elevada disponibilidade