Creare e utilizzare intervalli interni
Questo documento descrive come creare, utilizzare ed eliminare gli intervalli interni.
Gli intervalli interni consentono di gestire uno spazio indirizzi IP unificato nelle reti Virtual Private Cloud (VPC) consentendo di allocare blocchi di indirizzi IP interni e specificare come possono essere utilizzati.
Prima di iniziare
- Per utilizzare gli esempi della riga di comando in questa guida, installa o esegui l'aggiornamento all'ultima versione di Google Cloud CLI.
- Devi abilitare l'API Network Connectivity nel tuo progetto.
- Identifica o crea una rete VPC.
Ruoli obbligatori
Per ottenere le autorizzazioni
necessarie per lavorare con gli intervalli interni,
chiedi all'amministratore di concederti il
ruolo IAM Compute Network Admin (roles/compute.networkAdmin
)
nel progetto.
Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.
Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.
Prenota intervalli interni
Quando crei un intervallo interno, devi specificare almeno due elementi: gli indirizzi IP da allocare e la rete in cui allocare gli indirizzi. Puoi creare un intervallo interno IPv4 o IPv6 con un blocco CIDR specifico oppure puoi fare in modo che Google Cloud allochi automaticamente un blocco IPv4. Non puoi creare un intervallo interno IPv6 con un blocco di indirizzi allocato automaticamente.
Quando richiedi un blocco CIDR IPv4 allocato automaticamente, fornisci una
lunghezza del prefisso e uno o più blocchi CIDR IPv4 di destinazione facoltativi. Se non
specifica un blocco CIDR di destinazione, Google Cloud utilizza gli intervalli predefiniti di
10.0.0.0/8
per le reti VPC in modalità personalizzata o 10.128.0.0/9
per
le reti VPC in modalità automatica. Google Cloud tiene conto delle allocazioni di indirizzi IP esistenti e alloca all'intervallo interno un blocco CIDR libero delle dimensioni scelte all'interno dei blocchi CIDR di destinazione. Puoi perfezionare ulteriormente questa allocazione fornendo un elenco facoltativo di blocchi CIDR da escludere.Google Cloud alloca un blocco di indirizzi IP all'intervallo interno che non si sovrappone a nessun blocco escluso. L'elenco dei blocchi esclusi
non può essere aggiornato dopo la creazione di un intervallo interno.
Per controllare il metodo utilizzato da Google Cloud per selezionare automaticamente un blocco gratuito, puoi specificare una strategia di allocazione (anteprima). Se non specifichi una strategia di allocazione, Google Cloudalloca in modo casuale un intervallo di indirizzi IP libero all'interno dei blocchi CIDR di destinazione (o dell'intervallo predefinito, se non vengono specificati blocchi CIDR di destinazione). Per scegliere una strategia di allocazione, utilizza Google Cloud CLI o invia una richiesta API.
Gli intervalli interni IPv6 ti consentono di impedire l'assegnazione automatica di indirizzi IP a nuove subnet solo IPv6 o dual-stack. Gli intervalli interni IPv6 devono avere il tipo di utilizzo EXTERNAL_TO_VPC
e il tipo di peering FOR_SELF
. Devi includere un blocco CIDR IPv6 specifico e il
campo overlaps
deve essere vuoto o non specificato.
Per impedire agli utenti di aggiornare il blocco CIDR o la configurazione di sovrapposizione di un intervallo interno, puoi creare un intervallo interno immutabile. Gli intervalli interni immutabili impediscono modifiche a queste proprietà, ma puoi comunque aggiornare la descrizione. L'immutabilità non può essere modificata dopo la creazione dell'intervallo interno.
Per impostazione predefinita, Google Cloud blocca la creazione di risorse o intervalli interni se condividono indirizzi IP sovrapposti nella stessa rete VPC. Puoi configurare un intervallo interno IPv4 per consentire la sovrapposizione con gli intervalli di indirizzi di subnet esistenti, route nuove ed esistenti o entrambi. Non puoi creare risorse Google Cloud che utilizzano indirizzi IP di un intervallo interno esistente, a meno che tu non associ esplicitamente la risorsa all'intervallo interno (per le subnet) o non configuri la sovrapposizione (per le route).
Console
Nella console Google Cloud , vai alla pagina Intervalli interni.
Fai clic su Riserva intervallo interno.
Inserisci un nome.
(Facoltativo) Inserisci una descrizione.
Seleziona una versione IP.
Se selezioni IPv4, procedi nel seguente modo:
- Specifica se l'intervallo interno è immutabile.
Seleziona un metodo di prenotazione.
Se selezioni Automatico:
- Seleziona una lunghezza del prefisso.
- Fai clic su Aggiungi un intervallo di indirizzi IP di destinazione e poi inserisci un intervallo di indirizzi IP di destinazione. Puoi aggiungere più intervalli target.
(Facoltativo) Fai clic su Aggiungi un intervallo da escludere e poi inserisci un intervallo di indirizzi IP da escludere. Puoi aggiungere più intervalli esclusi.
Google Cloud alloca un blocco di indirizzi IP all'intervallo interno che non si sovrappone ad alcun intervallo escluso. Questo elenco non può essere aggiornato dopo la creazione dell'intervallo interno.
Se selezioni Specifica, inserisci un intervallo IP in notazione CIDR.
Seleziona una rete.
Seleziona un tipo di peering.
Seleziona un tipo di utilizzo.
(Facoltativo) Nella sezione Sovrapposizioni consentite, specifica se l'intervallo interno può sovrapporsi a subnet esistenti, a route nuove ed esistenti o a entrambi.
Se selezioni IPv6, procedi nel seguente modo:
- Specifica se l'intervallo interno è immutabile.
- Seleziona Specifica e poi inserisci un blocco CIDR IPv6 o IPv6 mappato su IPv4.
- Seleziona una rete.
- Fai clic su Peering, quindi seleziona Per sé.
- Fai clic su Utilizzo e poi seleziona Esterno al VPC.
Fai clic su Prenota.
gcloud
Per riservare un intervallo interno per un blocco CIDR IPv4 o IPv6 specifico, utilizza il comando
gcloud network-connectivity internal-ranges create
.gcloud network-connectivity internal-ranges create RANGE_NAME \ --ip-cidr-range=CIDR_RANGE \ --network=NETWORK_NAME \ --description="DESCRIPTION" \ --peering=PEERING_TYPE \ --usage=USAGE_TYPE
Sostituisci quanto segue:
RANGE_NAME
: il nome del nuovo intervallo internoCIDR_RANGE
: il blocco CIDR IPv4, IPv6 o IPv6 mappato a IPv4 da allocare al nuovo intervallo interno- Se specifichi un blocco IPv6, devi eseguire le seguenti operazioni:
- Imposta il tipo
peering
suFOR_SELF
. - Imposta il tipo
usage
suEXTERNAL_TO_VPC
.
- Imposta il tipo
- Se specifichi un blocco IPv6, devi eseguire le seguenti operazioni:
NETWORK_NAME
: il nome della rete in cui creare l'intervallo internoDESCRIPTION
: una descrizione facoltativa dell'intervallo internoPEERING_TYPE
: il tipo di peering dell'intervallo internoLe opzioni sono
FOR_SELF
,FOR_PEER
eNOT_SHARED
.FOR_SELF
è il valore predefinito.USAGE_TYPE
: il tipo di utilizzo dell'intervallo internoLe opzioni sono
FOR_VPC
,EXTERNAL_TO_VPC
eFOR_MIGRATION
. Il valore predefinito èFOR_VPC
.- Se utilizzi l'opzione
FOR_MIGRATION
, devi specificare anche le subnet di origine e di destinazione. Per un esempio, vedi Prenota intervalli interni IPv4 per la migrazione delle subnet.
- Se utilizzi l'opzione
Per prenotare un intervallo interno IPv4 con un blocco CIDR allocato automaticamente, utilizza il seguente comando:
gcloud network-connectivity internal-ranges create RANGE_NAME \ --network=NETWORK_NAME \ --prefix-length=PREFIX_LENGTH \ --target-cidr-range=TARGET_CIDR_RANGE \ --peering=PEERING_TYPE \ --usage=USAGE_TYPE \ --description="DESCRIPTION" \ --allocation-strategy=ALLOCATION_STRATEGY [--first-available-ranges-lookup-size=FIRST_N_LOOKUP_SIZE]
Sostituisci quanto segue:
PREFIX_LENGTH
: la lunghezza del prefisso degli indirizzi IP allocatiTARGET_CIDR_RANGE
: il blocco CIDR di destinazione da cui allocare un blocco di indirizzi IPv4Puoi inserire più blocchi CIDR in un elenco separato da virgole. Il valore predefinito è
10.0.0.0/8
per le reti VPC in modalità personalizzata o10.128.0.0/9
per le reti VPC in modalità automatica.ALLOCATION_STRATEGY
: la strategia di allocazione che vuoi utilizzare per il blocco CIDR di questo intervallo internoLe opzioni sono
RANDOM
,FIRST_AVAILABLE
,RANDOM_FIRST_N_AVAILABLE
eFIRST_SMALLEST_FITTING
. Il valore predefinito èRANDOM
.FIRST_N_LOOKUP_SIZE
: per la strategia di allocazioneRANDOM_FIRST_N_AVAILABLE
, il numero di blocchi CIDR liberi da trovare prima di determinarne uno in modo casualeIncludi questo flag solo se scegli la strategia di allocazione
RANDOM_FIRST_N_AVAILABLE
.
Se vuoi escludere intervalli di indirizzi IP quando riservi un intervallo IPv4 interno con un blocco CIDR allocato automaticamente, utilizza il seguente comando:
gcloud alpha network-connectivity internal-ranges create RANGE_NAME \ --network=NETWORK_NAME \ --prefix-length=PREFIX_LENGTH \ --target-cidr-range=TARGET_CIDR_RANGE \ --peering=PEERING_TYPE \ --usage=USAGE_TYPE \ --description="DESCRIPTION" \ --exclude-cidr-ranges=EXCLUDED_RANGES
Sostituisci
EXCLUDED_RANGES
con un elenco separato da virgole di uno o più blocchi CIDR IPv4 da escludere. Google Cloud alloca un blocco di indirizzi IP all'intervallo interno che non si sovrappone a nessun blocco escluso. L'elenco non può essere aggiornato dopo la creazione dell'intervallo interno.Per prenotare un intervallo interno IPv4 con sovrapposizione, utilizza il seguente comando:
gcloud network-connectivity internal-ranges create RANGE_NAME \ --ip-cidr-range=CIDR_RANGE \ --network=NETWORK_NAME \ --description="DESCRIPTION" \ --peering=PEERING_TYPE \ --usage=USAGE_TYPE \ --overlaps=OVERLAPS
Sostituisci
OVERLAPS
con il tipo di sovrapposizione da consentire. Le opzioni sonoOVERLAP_EXISTING_SUBNET_RANGE
eOVERLAP_ROUTE_RANGE
. Puoi includere entrambi i valori in un elenco separato da virgole.Per riservare un intervallo interno immutabile, utilizza il seguente comando:
gcloud network-connectivity internal-ranges create RANGE_NAME \ --ip-cidr-range=CIDR_RANGE \ --network=NETWORK_NAME \ --description="DESCRIPTION" \ --peering=PEERING_TYPE \ --usage=USAGE_TYPE \ --immutable
API
Per prenotare un intervallo interno per un blocco CIDR IPv4 o IPv6 specifico, invia una richiesta
POST
al metodoprojects.locations.internalRanges.create
.POST https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/internalRanges?internalRangeId=RANGE_NAME { "ipCidrRange": "CIDR_RANGE", "network": "NETWORK_NAME", "description": "DESCRIPTION", "peering": "PEERING_TYPE", "usage": "USAGE_TYPE" }
Sostituisci quanto segue:
PROJECT_ID
: l'ID del progetto padre per l'intervallo internoRANGE_NAME
: il nome dell'intervallo internoCIDR_RANGE
: il blocco CIDR IPv4, IPv6 o IPv6 mappato su IPv4 da allocare all'intervallo interno- Se specifichi un blocco IPv6, devi eseguire le seguenti operazioni:
- Imposta il tipo
peering
suFOR_SELF
. - Imposta il tipo
usage
suEXTERNAL_TO_VPC
.
- Imposta il tipo
- Se specifichi un blocco IPv6, devi eseguire le seguenti operazioni:
NETWORK_NAME
: il nome della rete in cui creare l'intervallo internoDESCRIPTION
: una descrizione facoltativa del nuovo intervallo internoPEERING_TYPE
: il tipo di peering dell'intervallo internoLe opzioni sono
FOR_SELF
,FOR_PEER
eNOT_SHARED
.FOR_SELF
è il valore predefinito.USAGE_TYPE
: il tipo di utilizzo dell'intervallo internoLe opzioni sono
FOR_VPC
,EXTERNAL_TO_VPC
eFOR_MIGRATION
. Il valore predefinito èFOR_VPC
.- Se utilizzi l'opzione
FOR_MIGRATION
, devi specificare anche le subnet di origine e di destinazione. Per un esempio, vedi Prenota intervalli interni IPv4 per la migrazione delle subnet.
- Se utilizzi l'opzione
Per prenotare un intervallo interno IPv4 con un blocco CIDR allocato automaticamente, invia la seguente richiesta:
POST https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/internalRanges?internalRangeId=RANGE_NAME { "prefixLength": PREFIX_LENGTH, "targetCidrRange": "TARGET_CIDR_RANGE", "network": "NETWORK_NAME", "description": "DESCRIPTION", "peering": "PEERING_TYPE", "usage": "USAGE_TYPE", "allocationOptions": { "allocationStrategy": "ALLOCATION_STRATEGY", ["firstAvailableRangesLookupSize": FIRST_N_LOOKUP_SIZE] } }
Sostituisci quanto segue:
PREFIX_LENGTH
: la lunghezza del prefisso CIDR per il blocco di indirizzi IP dell'intervalloTARGET_CIDR_RANGE
: il blocco CIDR di destinazione da cui allocare un blocco di indirizzi IPv4Puoi specificare più intervalli CIDR in un array JSON. Il valore predefinito è
10.0.0.0/8
per le reti VPC in modalità personalizzata o10.128.0.0/9
per le reti VPC in modalità automatica.ALLOCATION_STRATEGY
: la strategia di allocazione che vuoi utilizzare per il blocco CIDR di questo intervallo internoLe opzioni sono
RANDOM
,FIRST_AVAILABLE
,RANDOM_FIRST_N_AVAILABLE
eFIRST_SMALLEST_FITTING
. Il valore predefinito èRANDOM
.FIRST_N_LOOKUP_SIZE
: per la strategia di allocazioneRANDOM_FIRST_N_AVAILABLE
, il numero di blocchi CIDR liberi da trovare prima di determinarne uno in modo casualeIncludi questo campo solo se scegli la strategia di allocazione
RANDOM_FIRST_N_AVAILABLE
.
Se vuoi escludere intervalli di indirizzi IP quando prenoti un intervallo IPv4 interno con un blocco CIDR allocato automaticamente, invia la seguente richiesta:
POST https://networkconnectivity.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/global/internalRanges?internalRangeId=RANGE_NAME { "prefixLength": PREFIX_LENGTH, "targetCidrRange": "TARGET_CIDR_RANGE", "network": "NETWORK_NAME", "description": "DESCRIPTION", "peering": "PEERING_TYPE", "usage": "USAGE_TYPE", "excludeCidrRanges": ["EXCLUDED_RANGE_1","EXCLUDED_RANGE_2"] }
Sostituisci
EXCLUDED_RANGE_1
eEXCLUDED_RANGE_2
con uno o più blocchi CIDR IPv4 da escludere. Google Cloud alloca un blocco di indirizzi IP all'intervallo interno che non si sovrappone a nessun blocco escluso. L'elenco non può essere aggiornato dopo la creazione dell'intervallo interno.Per prenotare un intervallo interno IPv4 con sovrapposizione, invia la seguente richiesta:
POST https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/internalRanges?internalRangeId=RANGE_NAME { "ipCidrRange": "CIDR_RANGE", "network": "NETWORK_NAME", "description": "DESCRIPTION", "peering": "PEERING_TYPE", "usage": "USAGE_TYPE", "overlaps": ["OVERLAPS"] }
Sostituisci
OVERLAPS
con il tipo di sovrapposizione da consentire. Le opzioni sonoOVERLAP_EXISTING_SUBNET_RANGE
eOVERLAP_ROUTE_RANGE
. Puoi includere entrambi i valori in un array JSON.Per prenotare un intervallo interno immutabile, invia la seguente richiesta:
POST https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/internalRanges?internalRangeId=RANGE_NAME { "ipCidrRange": "CIDR_RANGE", "network": "NETWORK_NAME", "description": "DESCRIPTION", "peering": "PEERING_TYPE", "usage": "USAGE_TYPE", "immutable": true }
Riserva intervalli interni IPv4 per la migrazione delle subnet
Puoi utilizzare un intervallo interno per eseguire la migrazione di un intervallo CIDR da una subnet a un'altra. Per saperne di più, vedi Eseguire la migrazione degli intervalli di subnet IPv4.
gcloud
Utilizza il comando gcloud network-connectivity internal-ranges create
.
gcloud network-connectivity internal-ranges create RANGE_NAME \ --ip-cidr-range=CIDR_RANGE \ --network=NETWORK_NAME \ --peering=FOR_SELF \ --usage=FOR_MIGRATION \ --migration-source=SOURCE_SUBNET \ --migration-target=TARGET_SUBNET
Sostituisci quanto segue:
RANGE_NAME
: il nome dell'intervallo interno da creareCIDR_RANGE
: il blocco CIDR IPv4 della subnet che vuoi migrareNETWORK_NAME
: il nome della rete in cui creare l'intervallo internoSOURCE_SUBNET
: l'URI della subnet di origineTARGET_SUBNET
: l'URI della subnet di destinazione
API
Invia una richiesta POST
al metodo projects.locations.internalRanges.create
.
POST https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/internalRanges?internalRangeId=RANGE_NAME { "ipCidrRange": "CIDR_RANGE", "network": "NETWORK_NAME", "peering": "FOR_SELF", "usage": "FOR_MIGRATION", "migration": { "source": "SOURCE_SUBNET", "target": "TARGET_SUBNET" } }
Sostituisci quanto segue:
PROJECT_ID
: l'ID del progetto padre per l'intervallo internoRANGE_NAME
: il nome del nuovo intervallo internoCIDR_RANGE
: il blocco CIDR IPv4 della subnet che vuoi migrareNETWORK_NAME
: il nome della rete in cui creare l'intervallo internoSOURCE_SUBNET
: l'URI della subnet di origineTARGET_SUBNET
: l'URI della subnet di destinazione
Crea subnet con intervalli interni IPv4
Puoi creare una subnet solo IPv4 o a doppio stack e utilizzare un intervallo interno per specificare l'intervallo di indirizzi IPv4 interni primari della subnet. La subnet può essere associata a un intero intervallo interno o solo a una parte dell'intervallo. Anche gli intervalli secondari per le subnet possono essere associati a intervalli interni.
Console
Prenota un intervallo interno IPv4 nella rete in cui vuoi creare una nuova subnet. Imposta il tipo di utilizzo in questo intervallo interno su
For VPC
e il tipo di peering suFor self
.Nella console Google Cloud , vai alla pagina Reti VPC.
Fai clic sul nome di una rete VPC per visualizzare la pagina Dettagli rete VPC.
Fai clic su Aggiungi subnet. Nella finestra di dialogo visualizzata:
- Fornisci un nome.
- Seleziona una regione.
- Seleziona la casella di controllo Associa a un intervallo interno.
- Per Intervallo interno riservato, effettua una selezione.
- (Facoltativo) Per associare la subnet a una parte dell'intervallo interno, inserisci un intervallo IPv4.
- Fai clic su Aggiungi.
gcloud
- Prenota un intervallo interno IPv4 nella rete in cui vuoi creare una nuova subnet. Imposta il tipo di utilizzo in questo intervallo interno su
FOR_VPC
e il tipo di peering suFOR_SELF
. Esegui una di queste operazioni:
Per creare una subnet associata a un intervallo interno completo, utilizza il comando
gcloud compute networks subnets create
.gcloud compute networks subnets create SUBNET_NAME \ --reserved-internal-range=networkconnectivity.googleapis.com/projects/PROJECT_ID/locations/global/internalRanges/RANGE_NAME \ --network=NETWORK_NAME \ --region=REGION
Sostituisci quanto segue:
SUBNET_NAME
: il nome della subnetPROJECT_ID
: l'ID del progetto in cui creare la subnetRANGE_NAME
: il nome dell'intervallo interno da associare alla subnetNETWORK_NAME
: il nome della rete in cui creare la subnetREGION
: la regione in cui creare la subnet
Per creare una subnet associata a una parte di un intervallo interno, utilizza il seguente comando:
gcloud compute networks subnets create SUBNET_NAME \ --reserved-internal-range=networkconnectivity.googleapis.com/projects/PROJECT_ID/locations/global/internalRanges/RANGE_NAME \ --range=IP_RANGE \ --network=NETWORK_NAME \ --region=REGION
Sostituisci
IP_RANGE
con un intervallo CIDR IPv4 che sia un sottoinsieme dell'intervallo interno.
Ad esempio, i seguenti comandi creano una subnet associata
solo alla parte 10.9.1.0/24
di un intervallo interno
che riserva il blocco CIDR 10.9.0.0/16
.
gcloud network-connectivity internal-ranges create reserved-range-one \ --ip-cidr-range=10.9.0.0/16 \ --network=vpc-one
gcloud compute networks subnets create subnet-one \ --reserved-internal-range=networkconnectivity.googleapis.com/projects/project-one/locations/global/internalRanges/reserved-range-one \ --range=10.9.1.0/24 \ --network=vpc-one \ --region=us-central1
API
- Prenota un intervallo interno IPv4 nella rete in cui vuoi creare una nuova subnet. Imposta il tipo di utilizzo in questo intervallo interno su
FOR_VPC
e il tipo di peering suFOR_SELF
. Esegui una di queste operazioni:
Per creare una subnet associata a un intero intervallo interno, invia una richiesta
POST
al metodosubnetworks.insert
.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/subnetworks { "name" : "SUBNET_NAME", "reservedInternalRange" : "networkconnectivity.googleapis.com/projects/PROJECT_ID/locations/global/internalRanges/RANGE_NAME", "network" : "NETWORK" }
Sostituisci quanto segue:
PROJECT_ID
: l'ID del progetto padre per la nuova subnetREGION
: la regione in cui creare la subnetSUBNET_NAME
: il nome della nuova subnetPROJECT_ID
: l'ID del progetto in cui creare una subnetRANGE_NAME
: il nome dell'intervallo interno da utilizzare per la nuova subnetNETWORK
: il nome della rete in cui creare la subnet
Per creare una subnet associata a una parte di un intervallo interno, effettua la seguente richiesta:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/subnetworks { "name" : "SUBNET_NAME", "reservedInternalRange" : "networkconnectivity.googleapis.com/projects/PROJECT_ID/locations/global/internalRanges/RANGE_NAME", "range" : "IP_RANGE", "network" : "NETWORK" }
Sostituisci
IP_RANGE
con un intervallo CIDR IPv4 che sia un sottoinsieme dell'intervallo interno.
Ad esempio, le seguenti richieste creano una subnet associata
solo alla parte 10.9.1.0/24
di un intervallo interno che contiene il
blocco CIDR 10.9.0.0/16
.
POST https://networkconnectivity.googleapis.com/v1/projects/sample-project/locations/global/internalRanges?internalRangeId=reserved-for-subnet { "targetCidrRange": "10.9.0.0/16", "network": "network-b" }
POST https://compute.googleapis.com/compute/v1/projects/11223344/regions/us-central1/subnetworks { "name" : "subnet-with-partial-range", "reservedInternalRange" : "networkconnectivity.googleapis.com/projects/project-one/locations/global/internalRanges/reserved-for-subnet", "range" : "10.9.1.0/24", "network" : "network-b" }
Crea cluster GKE con intervalli interni IPv4
Puoi utilizzare gli intervalli interni IPv4 per allocare indirizzi IP per i cluster VPC nativi di Google Kubernetes Engine (GKE).
gcloud
Crea i seguenti intervalli interni IPv4 utilizzando il comando
gcloud network-connectivity internal-ranges create
.- Per i nodi GKE:
gcloud network-connectivity internal-ranges create gke-nodes-1 \ --prefix-length=NODE_PREFIX_LENGTH \ --network=NETWORK
- Per i pod GKE:
gcloud network-connectivity internal-ranges create gke-pods-1 \ --prefix-length=POD_PREFIX_LENGTH \ --network=NETWORK
- Per i servizi GKE:
gcloud network-connectivity internal-ranges create gke-services-1 \ --prefix-length=SERVICE_PREFIX_LENGTH \ --network=NETWORK
Sostituisci quanto segue:
NODE_PREFIX_LENGTH
: la lunghezza del prefisso per l'intervallo interno associato ai nodi GKEPOD_PREFIX_LENGTH
: la lunghezza del prefisso per l'intervallo interno associato ai pod GKESERVICE_PREFIX_LENGTH
: la lunghezza del prefisso per l'intervallo interno associato ai servizi GKENETWORK
: il nome della rete
Crea una subnet con gli intervalli interni che hai creato nel passaggio precedente utilizzando il comando
gcloud compute networks subnets create
.gcloud compute networks subnets create gke-subnet-1 \ --network=NETWORK \ --region=REGION \ --reserved-internal-range="//networkconnectivity.googleapis.com/projects/PROJECT_ID/locations/global/internalRanges/gke-nodes-1" \ --secondary-range-with-reserved-internal-range="pods=//networkconnectivity.googleapis.com/projects/PROJECT_ID/locations/global/internalRanges/gke-pods-1,services=//networkconnectivity.googleapis.com/projects/PROJECT_ID/locations/global/internalRanges/gke-services-1"
Sostituisci quanto segue:
REGION
: la regione della subnet.PROJECT_ID
: l'ID del progetto
Crea il cluster nativo di VPC utilizzando il comando
gcloud container clusters create
.gcloud container clusters create CLUSTER_NAME \ --network=NETWORK \ --subnetwork=gke-subnet-1 \ --zone=ZONE \ --cluster-secondary-range-name=pods \ --services-secondary-range-name=services \ --enable-ip-alias
Sostituisci
ZONE
con la zona del cluster.
API
Crea i seguenti intervalli interni inviando richieste
POST
al metodoprojects.locations.internalRanges.create
.- Per i nodi GKE:
POST https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/internalRanges?internalRangeId=gke-nodes-1 { "network": "NETWORK", "prefixLength": NODE_PREFIX_LENGTH, "peering": "FOR_SELF", "usage": "FOR_VPC" }
- Per i pod GKE:
POST https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/internalRanges?internalRangeId=gke-pods-1 { "network": "NETWORK", "prefixLength": POD_PREFIX_LENGTH, "peering": "FOR_SELF", "usage": "FOR_VPC" }
- Per i servizi GKE:
POST https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/internalRanges?internalRangeId=gke-services-1 { "network": "NETWORK", "prefixLength": SERVICE_PREFIX_LENGTH, "peering": "FOR_SELF", "usage": "FOR_VPC" }
Sostituisci quanto segue:
PROJECT_ID
: l'ID del progettoNETWORK
: il nome della reteNODE_PREFIX_LENGTH
: la lunghezza del prefisso per l'intervallo interno associato ai nodi GKEPOD_PREFIX_LENGTH
: la lunghezza del prefisso per l'intervallo interno associato ai pod GKESERVICE_PREFIX_LENGTH
: la lunghezza del prefisso per l'intervallo interno associato ai servizi GKE
Crea una subnet con gli intervalli interni che hai creato nel passaggio precedente inviando una richiesta
POST
al metodosubnetworks.insert
.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/subnetworks { "name": "gke-subnet-1", "network": "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/NETWORK", "privateIpGoogleAccess": false, "reservedInternalRange": "//networkconnectivity.googleapis.com/projects/PROJECT_ID/locations/global/internalRanges/gke-nodes-1", "secondaryIpRanges": [ { "rangeName": "pods", "reservedInternalRange": "//networkconnectivity.googleapis.com/projects/PROJECT_ID/locations/global/internalRanges/gke-pods-1" }, { "rangeName": "services", "reservedInternalRange": "//networkconnectivity.googleapis.com/projects/PROJECT_ID/locations/global/internalRanges/gke-services-1" } ] }
Sostituisci quanto segue:
PROJECT_ID
: l'ID del progettoREGION
: la regione della subnet.NETWORK
: la rete della subnet
Crea il cluster nativo di VPC inviando una richiesta
POST
al metodoclusters.create
.POST https://container.googleapis.com/v1/projects/PROJECT_ID/locations/ZONE/clusters { "cluster": { "ipAllocationPolicy": { "clusterSecondaryRangeName": "pods", "createSubnetwork": false, "servicesSecondaryRangeName": "services", "useIpAliases": true }, "name": "CLUSTER_NAME", "network": "NETWORK", "nodePools": [ { "config": { "oauthScopes": [ "https://www.googleapis.com/auth/devstorage.read_only", "https://www.googleapis.com/auth/logging.write", "https://www.googleapis.com/auth/monitoring", "https://www.googleapis.com/auth/service.management.readonly", "https://www.googleapis.com/auth/servicecontrol", "https://www.googleapis.com/auth/trace.append" ] }, "initialNodeCount": 3, "management": { "autoRepair": true, "autoUpgrade": true }, "name": "default-pool", "upgradeSettings": { "maxSurge": 1 } } ], "subnetwork": "gke-subnet-1" }, "parent": "projects/PROJECT_ID/locations/ZONE" }
Sostituisci quanto segue:
PROJECT_ID
: l'ID del progettoZONE
: la zona del clusterCLUSTER_NAME
: il nome del nuovo clusterNETWORK
: la rete del cluster
Elenco intervalli interni
Puoi elencare gli intervalli interni per visualizzare tutti gli intervalli interni nel progetto attuale o in una rete VPC specifica. Per elencare i progetti in una rete VPC, utilizza Google Cloud CLI o invia una richiesta API.
Console
Nella console Google Cloud , vai alla pagina Intervalli interni.
gcloud
Per visualizzare tutti gli intervalli interni nel progetto corrente, utilizza il comando
gcloud network-connectivity internal-ranges list
.gcloud network-connectivity internal-ranges list
Per visualizzare tutti gli intervalli interni in una rete VPC, utilizza il comando
internal-ranges list
e includi un filtro.gcloud network-connectivity internal-ranges list \ --filter=network:NETWORK_NAME \ --project=PROJECT_ID
Sostituisci quanto segue:
NETWORK_NAME
: il nome della rete VPC in cui elencare gli intervalli interniPROJECT_ID
: l'ID del progetto che contiene la rete VPC
API
Per visualizzare tutti gli intervalli interni in un progetto, invia una richiesta
GET
al metodoprojects.locations.internalRanges.list
.GET https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/internalRanges
Sostituisci
PROJECT_ID
con l'ID del progetto in cui visualizzare gli intervalli interni.Per visualizzare tutti gli intervalli interni in una rete VPC, invia una richiesta
GET
al metodoprojects.locations.internalRanges.list
e includi un filtro.GET https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/internalRanges?filter=network=\"https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/NETWORK_NAME\"
Sostituisci
NETWORK_NAME
con il nome della rete VPC in cui elencare gli intervalli interni.
Descrivere gli intervalli interni
Puoi descrivere un intervallo interno per visualizzare i dettagli dell'intervallo scelto, incluse le subnet associate all'intervallo interno.
Console
Nella console Google Cloud , vai alla pagina Intervalli interni.
Fai clic sul nome dell'intervallo interno che vuoi descrivere.
gcloud
Utilizza il comando gcloud network-connectivity internal-ranges describe
.
gcloud network-connectivity internal-ranges describe RANGE_NAME
Sostituisci RANGE_NAME
con il nome dell'intervallo interno da descrivere.
API
Invia una richiesta GET
al metodo projects.locations.internalRanges.get
.
GET https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/internalRanges/RANGE_NAME
Sostituisci quanto segue:
PROJECT_ID
: l'ID del progetto padre per l'intervallo internoRANGE_NAME
: il nome dell'intervallo interno da descrivere
Aggiorna gli intervalli interni
Se un intervallo interno è immutabile, puoi aggiornare solo la descrizione. Se un intervallo interno è modificabile, puoi espandere il blocco CIDR dell'intervallo e aggiornarne la proprietà di sovrapposizione e la descrizione.
Per espandere un intervallo interno, puoi aggiornare il blocco CIDR dell'intervallo o diminuirne la lunghezza del prefisso. Il blocco CIDR aggiornato deve contenere il blocco precedente.
Se vuoi restringere l'intervallo allocato o modificare un altro elemento, elimina l'intervallo interno e creane uno nuovo.
Per aggiornare la proprietà di sovrapposizione di un intervallo interno IPv4, invia una richiesta API o utilizza Google Cloud CLI.
Console
Nella console Google Cloud , vai alla pagina Intervalli interni.
Fai clic sul nome dell'intervallo interno da aggiornare.
Per espandere il blocco CIDR dell'intervallo, fai clic su Espandi intervallo e poi esegui una delle seguenti operazioni:
- Per gli intervalli interni IPv4, fai clic su Lunghezza prefisso e poi procedi nel seguente modo:
- Nel campo Lunghezza prefisso, seleziona una lunghezza del prefisso inferiore a quella del prefisso precedente.
- Fai clic su Espandi.
- Per gli intervalli interni IPv4 o IPv6, fai clic su Intervallo IP e poi procedi nel seguente modo:
- Inserisci un blocco CIDR IPv4, IPv6 o IPv6 mappato su IPv4. Il nuovo blocco deve contenere quello precedente.
- Fai clic su Espandi.
- Per gli intervalli interni IPv4, fai clic su Lunghezza prefisso e poi procedi nel seguente modo:
Per aggiornare la descrizione dell'intervallo:
- Fai clic su Modifica descrizione.
- Inserisci una nuova descrizione.
- Fai clic su Salva.
gcloud
Per aggiornare un intervallo interno, utilizza il comando
gcloud network-connectivity internal-ranges update
. Ometti i flag per le proprietà che non vuoi modificare.gcloud network-connectivity internal-ranges update RANGE_NAME \ --ip-cidr-range=CIDR_RANGE \ --overlaps=OVERLAPS \ --description=DESCRIPTION
Sostituisci quanto segue:
RANGE_NAME
: il nome dell'intervallo internoCIDR_RANGE
: il blocco CIDR IPv4, IPv6, IPv6 mappato a IPv4 espanso, che deve contenere il blocco precedenteOVERLAPS
: il tipo di sovrapposizione da consentire (solo intervalli IPv4)Le opzioni sono
OVERLAP_EXISTING_SUBNET_RANGE
eOVERLAP_ROUTE_RANGE
. Puoi includere entrambi i valori in un elenco separato da virgole. Per disattivare la sovrapposizione, includi il flag, ma non specificare un valore (--overlaps=
).DESCRIPTION
: la descrizione aggiornata
Per espandere un intervallo interno diminuendo la lunghezza del prefisso, utilizza il seguente comando:
gcloud network-connectivity internal-ranges update RANGE_NAME \ --prefix-length=PREFIX_LENGTH
Sostituisci
PREFIX_LENGTH
con la lunghezza del prefisso aggiornata, che deve essere inferiore alla lunghezza del prefisso precedente.
API
Per espandere un intervallo interno aggiornandone l'intervallo CIDR, effettua una richiesta
PATCH
al metodoprojects.locations.internalRanges.patch
.PATCH https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/internalRanges/RANGE_NAME?updateMask=ipCidrRange { "ipCidrRange": "CIDR_RANGE" }
Sostituisci quanto segue:
PROJECT_ID
: l'ID del progetto padre per l'intervallo internoRANGE_NAME
: il nome dell'intervallo internoCIDR_RANGE
: il blocco CIDR IPv4, IPv6 o IPv6 mappato su IPv4 espanso, che deve contenere il blocco precedente
Per espandere un intervallo interno diminuendo la lunghezza del prefisso, effettua la seguente richiesta:
PATCH https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/internalRanges/RANGE_NAME?updateMask=prefixLength { "prefixLength": PREFIX_LENGTH }
Sostituisci
PREFIX_LENGTH
con la lunghezza del prefisso aggiornata, che deve essere inferiore alla lunghezza del prefisso precedente.Per aggiornare la proprietà di sovrapposizione di un intervallo interno IPv4, invia la seguente richiesta:
PATCH https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/internalRanges/RANGE_NAME?updateMask=overlaps { "overlaps": ["OVERLAPS"] }
Sostituisci
OVERLAPS
con il tipo di sovrapposizione da consentire. Le opzioni sonoOVERLAP_EXISTING_SUBNET_RANGE
eOVERLAP_ROUTE_RANGE
. Puoi includere entrambi i valori in un array JSON. Per disattivare la sovrapposizione, includi il campo ma non specificare un valore ("overlaps": []
).Per aggiornare la descrizione di un intervallo interno, effettua la seguente richiesta:
PATCH https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/internalRanges/RANGE_NAME?updateMask=description { "description": "DESCRIPTION" }
Sostituisci
DESCRIPTION
con la descrizione aggiornata.
Elimina intervalli interni
Puoi eliminare un intervallo interno se non è associato a una risorsa come una subnet. Google CloudPer eliminare un intervallo interno associato a una risorsa Google Cloud , elimina prima la risorsa associata.
Console
Nella console Google Cloud , vai alla pagina Intervalli interni.
Fai clic sul nome dell'intervallo interno che vuoi eliminare.
Fai clic su Elimina.
Per confermare, fai clic su Elimina.
gcloud
Utilizza il comando gcloud network-connectivity internal-ranges delete
.
gcloud network-connectivity internal-ranges delete RANGE_TO_DELETE
Sostituisci RANGE_TO_DELETE
con il nome dell'intervallo interno da eliminare.
API
Invia una richiesta DELETE
al metodo projects.locations.internalRanges.delete
.
DELETE https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/internalRanges/RANGE_NAME
Sostituisci quanto segue:
PROJECT_ID
: l'ID del progetto padre per l'intervallo internoRANGE_NAME
: il nome dell'intervallo interno