Crea subnet aggiuntive nel Virtual Private Cloud (VPC) interno della tua organizzazione o nel VPC predefinito per supportare i tuoi requisiti di networking interno. Ad esempio, aggiungi subnet VPC per assicurarti che i tuoi carichi di lavoro interni, come macchine virtuali (VM) e container, abbiano un numero sufficiente di indirizzi IP.
In questa pagina sono descritte diverse attività che non devono essere completate in ordine:
- Crea una subnet di diramazione zonale per i carichi di lavoro: questa attività è utile per organizzare o allocare ulteriormente gli indirizzi IP interni esistenti della zona ai carichi di lavoro.
- Crea una subnet foglia per un singolo carico di lavoro: questa attività è utile quando hai un nuovo carico di lavoro che non ha ancora un indirizzo IP da utilizzare.
- Alloca subnet zonale dall'intervallo di indirizzi IP globali: questa attività è utile quando la zona non ha più spazio di indirizzi IP interni sufficiente.
- Dividi la subnet globale root senza allocazione di zona: Questa attività è utile per organizzare ulteriormente gli indirizzi IP interni nel server API globale prima di allocarli a una zona.
- Aggiungi una nuova subnet globale con intervallo root di rete: questa attività è utile quando il VPC predefinito non ha più spazio di indirizzi IP interni globali sufficiente da allocare alle tue zone.
Per una panoramica delle subnet e dei relativi concetti prima di completare le attività in questa pagina, consulta Subnet e indirizzi IP.
Questo documento è rivolto agli amministratori di piattaforma e agli operatori di applicazioni responsabili della gestione del traffico di rete per la propria organizzazione. Per saperne di più, consulta la documentazione relativa ai segmenti di pubblico per GDC air-gapped.
Prima di iniziare
Per ottenere l'autorizzazione necessaria per creare subnet, chiedi all'amministratore IAM dell'organizzazione di concederti il ruolo IAM Subnet Org Admin (subnet-org-admin). Questo ruolo non è associato a uno spazio dei nomi.
Crea una subnet di filiale zonale per i workload
Per suddividere ulteriormente gli indirizzi IP nel VPC predefinito zonale, puoi creare una subnet interna zonale dalla subnet radice zonale esistente della zona. Devi
creare questo tipo di subnet nello spazio dei nomi platform.
Se la subnet radice zonale principale non dispone di indirizzi IP sufficienti, alloca un'altra subnet zonale dall'intervallo di indirizzi IP globali prima di continuare.
In una finestra del terminale, crea la nuova subnet zonale nel server API di gestione:
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 EOFSostituisci quanto segue:
MANAGEMENT_API_SERVER_KUBECONFIG: il percorso del file kubeconfig del server API di gestione. Per saperne di più, consulta Risorse del server API di gestione delle zone.SUBNET_NAME: il nome della nuova subnet di rete.CIDR_PREFIX_LENGTH: la lunghezza del prefisso per la nuova subnet, ad esempio27. Questo campo alloca dinamicamente il successivo intervallo di indirizzi IP disponibile di quella dimensione dalla subnet principale. Utilizza il campoprefixLengthquando ti interessa solo la dimensione della subnet, non il suo intervallo di indirizzi IP specifico.Per assegnare un intervallo di indirizzi IP specifico, segui questi passaggi:
- Rimuovi la riga
prefixLength: CIDR_PREFIX_LENGTH. - Aggiungi una riga
cidr: "YOUR_CIDR_BLOCK"al suo posto, ad esempiocidr: "10.0.10.0/27".
Utilizza il campo
cidrquando segui un piano IP rigoroso e devi assegnare un intervallo di indirizzi IP preciso e prevedibile. Questo intervallo deve essere una subnet valida e disponibile all'interno della subnet principale.- Rimuovi la riga
PARENT_SUBNET_NAME: il nome della subnet principale, ad esempiodefault-vpc-zone0-cidr. La subnet padre è in genere una subnet radice zonale nella rete VPC predefinita.
Per saperne di più, consulta la documentazione di riferimento dell'API per la risorsa
Subnet.Puoi continuare a suddividere le subnet zonali o creare una subnet foglia per allocare un singolo indirizzo IP direttamente a un carico di lavoro interno.
Crea una subnet foglia per un singolo workload
Per allocare un singolo indirizzo IP per il tuo workload, devi creare una subnet leaf.
Questa subnet foglia deve avere il valore del campo type: Leaf e deve risiedere nello stesso spazio dei nomi del progetto della risorsa del carico di lavoro, ad esempio una VM o un container.
La subnet foglia deve essere configurata con un valore prefixLength pari a 32,
perché è destinata ad allocare un singolo indirizzo IP. Il valore parentReference
fa riferimento a una subnet allocata in precedenza, ad esempio la subnet di zona principale
che hai creato in
Crea una subnet di ramo di zona per i carichi di lavoro.
In una finestra del terminale, crea la subnet foglia nel server API di gestione:
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 EOFSostituisci quanto segue:
MANAGEMENT_API_SERVER_KUBECONFIG: il percorso del file kubeconfig del server API di gestione. Per saperne di più, consulta Risorse del server API di gestione delle zone.SUBNET_NAME: il nome della subnet leaf.PROJECT_NAMESPACE: lo spazio dei nomi del progetto corrispondente al progetto in cui si trovano i workload.PARENT_SUBNET: il nome della subnet principale da cui questa subnet foglia recupererà l'indirizzo IP.PARENT_NAMESPACE: lo spazio dei nomiPROJECT_NAMESPACEoplatform.
Il tuo indirizzo IP individuale è ora disponibile per essere utilizzato dai tuoi workload interni, come VM e container. Per ulteriori informazioni su come configurare l'indirizzo IP per i tuoi carichi di lavoro, consulta Crea una VM con un indirizzo IP statico o dinamico o Configura un bilanciatore del carico interno per i carichi di lavoro dei container.
Alloca una subnet di zona dall'intervallo di indirizzi IP globali
Se la tua zona non fornisce indirizzi IP sufficienti per i tuoi workload dall'intervallo di indirizzi IP della subnet radice zonale esistente, puoi allocare indirizzi IP aggiuntivi dall'intervallo radice di indirizzi IP globali.
Per allocare una subnet di zona dall'intervallo di indirizzi IP globali, completa i
seguenti passaggi per la rete VPC predefinita nello spazio dei nomi platform:
In una finestra del terminale, descrivi tutte le subnet radice del VPC predefinito e controlla i blocchi CIDR disponibili:
kubectl --kubeconfig GLOBAL_API_SERVER_KUBECONFIG describe subnets --namespace platform \ -l ipam.gdc.goog/vpc=default-vpc,ipam.gdc.goog/usage=network-root-rangeSostituisci
GLOBAL_API_SERVER_KUBECONFIGcon il percorso del file kubeconfig del server API globale. Per saperne di più, consulta Risorse del server API globale. Le etichette sono costanti e devono rimanere invariate.L'output è simile al seguente:
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>Prendi nota dei valori di
Status.ipv4Allocation.Available CIDRs. Questi valori sono i blocchi CIDR disponibili a cui fa riferimento il passaggio successivo. Nell'output precedente, sono disponibili gli intervalli CIDR10.254.0.0/15e10.253.0.0/16. L'output potrebbe mostrare più subnet. Prendi nota di tutti i blocchi CIDR disponibili e delle relative subnet di origine.Confronta il blocco CIDR più grande disponibile del passaggio precedente con le dimensioni del blocco CIDR necessario per la tua zona. Se il blocco CIDR più grande disponibile non è abbastanza grande per allocare la nuova subnet, aggiungi una nuova subnet globale dell'intervallo radice di rete prima di continuare. Prendi nota della subnet principale da cui decidi di ottenere il blocco CIDR per la nuova subnet.
Ad esempio, se hai bisogno di un blocco CIDR
/13, ma i CIDR disponibili includono solo/15e/16, devi aggiungere una nuova subnet globale dell'intervallo radice di rete. Se hai bisogno di una subnet/15, puoi allocare una nuova subnet di zona dal blocco CIDR/15esistente.Crea la nuova subnet nel server API globale:
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 EOFSostituisci quanto segue:
GLOBAL_API_SERVER_KUBECONFIG: il percorso del file kubeconfig del server API globale. Per saperne di più, consulta Risorse del server API globale.SUBNET_NAME: il nome della nuova subnet.CIDR_PREFIX_LENGTH: la lunghezza del prefisso CIDR della nuova subnet allocata dinamicamente, ad esempio20. Per impostare staticamente il CIDR, sostituisci il campoprefixLengthcon il campocidre poi imposta il blocco CIDR, ad esempio10.0.10.0/27.ZONE_NAME: la zona per cui allocare la subnet, ad esempiozone1.PARENT_SUBNET_NAME: il nome della subnet principale, ad esempiodefault-vpc-root-cidr, o la nuova subnet globale root di rete che hai creato.ORG_NAME: il nome dell'organizzazione.
Per saperne di più, consulta la documentazione di riferimento dell'API per la risorsa
Subnet.Verifica che la subnet sia pronta e disponibile nel server API globale controllando che il tipo di stato
Readysiatrue:kubectl --kubeconfig GLOBAL_API_SERVER_KUBECONFIG get subnet --namespace platform \ SUBNET_NAME --output jsonpath='{.status.conditions[?(@.type=="Ready")].status}'L'output è simile al seguente:
status: conditions: - lastTransitionTime: "2025-06-06T07:28:48Z" message: IP allocation finished successfully observedGeneration: 1 reason: AllocationSucceeded status: "True" type: ReadyVerifica che la subnet zonale sia creata nel server API di gestione zonale e che il relativo tipo di stato
Readysiatrue:kubectl --kubeconfig MANAGEMENT_API_SERVER_KUBECONFIG get subnet --namespace platform \ SUBNET_NAME --output jsonpath='{.status.conditions[?(@.type=="Ready")].status}'Sostituisci
MANAGEMENT_API_SERVER_KUBECONFIGcon il percorso del file kubeconfig del server API di gestione. Per saperne di più, consulta Risorse del server API di gestione delle zone.L'output è simile al seguente:
status: conditions: - lastTransitionTime: "2025-06-06T07:29:34Z" message: IP allocation finished successfully observedGeneration: 1 reason: AllocationSucceeded status: "True" type: ReadyDa questa nuova subnet zonale, puoi creare altre subnet secondarie zonali o allocare un singolo indirizzo IP direttamente a un carico di lavoro interno.
Dividi la subnet globale radice senza allocazione di zona
Per dividere ulteriormente una subnet globale senza assegnarla a una zona, crea una
subnet globale e ometti la strategia di propagazione
nella risorsa personalizzata Subnet. Questo approccio è utile se vuoi continuare a organizzare l'intervallo di indirizzi IP accessibile a livello globale dalla subnet root globale senza allocare gli indirizzi IP a una zona.
Per dividere la subnet radice globale all'interno dello scope globale, completa i
seguenti passaggi nello spazio dei nomi platform:
In una finestra del terminale, descrivi tutte le subnet root del VPC predefinito e controlla i blocchi CIDR disponibili:
kubectl --kubeconfig GLOBAL_API_SERVER_KUBECONFIG describe subnets --namespace platform \ -l ipam.gdc.goog/vpc=default-vpc,ipam.gdc.goog/usage=network-root-rangeSostituisci
GLOBAL_API_SERVER_KUBECONFIGcon il percorso del file kubeconfig del server API globale. Per saperne di più, consulta Risorse del server API globale. Le etichette sono costanti e devono rimanere invariate.L'output è simile al seguente:
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>Prendi nota dei valori di
Status.ipv4Allocation.Available CIDRs. Questi valori sono i blocchi CIDR disponibili a cui fa riferimento il passaggio successivo. Nell'output precedente, sono disponibili gli intervalli CIDR10.254.0.0/15e10.253.0.0/16. Nell'output possono essere presenti più subnet a seconda del numero di subnet root che hai, quindi annota tutti i blocchi CIDR disponibili e la subnet da cui proviene il blocco CIDR disponibile.Confronta il blocco CIDR più grande disponibile del passaggio precedente con le dimensioni del blocco CIDR necessario per la nuova subnet globale. Se il blocco CIDR più grande disponibile non è sufficiente per allocare la nuova subnet, aggiungi una nuova subnet globale dell'intervallo di root di rete prima di continuare. Prendi nota della subnet principale da cui decidi di ottenere il blocco CIDR per la nuova subnet.
Ad esempio, se richiedi un blocco CIDR
/13, ma i CIDR disponibili includono solo/15e/16, devi creare una nuova subnet globale dell'intervallo root di rete. Se hai bisogno di una subnet/15, puoi allocare la nuova subnet globale dal blocco CIDR/15esistente.Crea la nuova subnet nel server API globale:
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 EOFSostituisci quanto segue:
GLOBAL_API_SERVER_KUBECONFIG: il percorso del file kubeconfig del server API globale. Per saperne di più, consulta Risorse del server API globale.SUBNET_NAME: il nome della nuova subnet.CIDR_PREFIX_LENGTH: la lunghezza del prefisso CIDR della nuova subnet allocata dinamicamente, ad esempio20. Per impostare staticamente il CIDR, sostituisci il campoprefixLengthcon il campocidre poi imposta il blocco CIDR, ad esempio10.0.10.0/27.PARENT_SUBNET_NAME: il nome della subnet principale, ad esempiodefault-vpc-root-cidr, o la nuova subnet globale root di rete che hai creato.ORG_NAME: il nome dell'organizzazione.
Per saperne di più, consulta la documentazione di riferimento dell'API per la risorsa globale
Subnet.Verifica che la subnet sia pronta e disponibile nel server API globale controllando che il tipo di stato
Readysiatrue:kubectl --kubeconfig GLOBAL_API_SERVER_KUBECONFIG get subnet --namespace platform \ SUBNET_NAME --output jsonpath='{.status.conditions[?(@.type=="Ready")].status}'L'output è simile al seguente:
status: conditions: - lastTransitionTime: "2025-06-06T07:28:48Z" message: IP allocation finished successfully observedGeneration: 1 reason: AllocationSucceeded status: "True" type: Ready
La nuova subnet globale per la tua organizzazione nel VPC predefinito è disponibile. Da questa nuova subnet principale globale puoi creare una subnet per una zona specifica.
Aggiungi una nuova subnet globale dell'intervallo root di rete
Le subnet globali con l'etichetta ipam.gdc.goog/usage: network-root-range ospitano il
CIDR per tutte le zone della rete. Se il CIDR è esaurito, devi creare una nuova subnet di intervallo root di rete nel server API globale. Se necessario, puoi creare
più subnet globali radice.
Per creare una nuova subnet di intervallo radice di rete:
In una finestra del terminale, crea la nuova subnet globale dell'intervallo radice di rete per il VPC predefinito nello spazio dei nomi
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 EOFSostituisci quanto segue:
GLOBAL_API_SERVER_KUBECONFIG: il percorso del file kubeconfig del server API globale. Per saperne di più, consulta Risorse del server API globale.SUBNET_NAME: il nome della nuova subnet.NEW_CIDR: il nuovo CIDR per la subnet. Questo CIDR non può sovrapporsi ad alcun CIDR in tutte le subnet esistenti con l'etichettaipam.gdc.goog/usage: network-root-rangenello stesso server API globale.
Questa nuova subnet dell'intervallo root globale può essere suddivisa all'interno del server API globale o allocata a una zona specifica.
Passaggi successivi
- Subnet e indirizzi IP
- Panoramica del networking
- Esegui il deployment di un'applicazione VM a disponibilità elevata
- Esegui il deployment di un'applicazione container ad alta disponibilità