Questa pagina mostra come configurare intervalli di indirizzi IPv4 dei pod aggiuntivi per un cluster nativo di VPC e come specificare un indirizzo IPv4 del pod personalizzato per i pool di nodi di un cluster nativo di VPC.
Intervalli di indirizzi IPv4 dei pod in VPC-native i cluster provengono sempre da una subnet intervalli di indirizzi IPv4 secondari. Quando crei un nuovo cluster, assegni un intervallo di indirizzi IPv4 dei pod predefinito.
- Per i cluster Autopilot e Standard, puoi configurare per utilizzare intervalli di indirizzi IPv4 dei pod aggiuntivi. GKE utilizza questi intervalli di indirizzi IPv4 dei pod aggiuntivi per gli indirizzi IPv4 dei pod sui nodi creati in futuri pool di nodi.
- Per i cluster standard, puoi creare pool di nodi che utilizzano ciascuno un intervallo di indirizzi IPv4 secondari della subnet personalizzato per gli indirizzi IPv4 dei pod.
Prima di iniziare
Prima di iniziare, assicurati di aver eseguito le seguenti attività:
- Attiva l'API Google Kubernetes Engine. Abilita l'API Google Kubernetes Engine
- Se vuoi utilizzare Google Cloud CLI per questa attività,
install e poi
inizializzare
con gcloud CLI. Se hai già installato gcloud CLI, scarica la versione più recente
eseguendo
gcloud components update
.
- Assicurati di avere la rete Compute Engine Amministratore il ruolo Identity and Access Management (IAM) per il progetto che contiene le risorse del cluster una subnet. Questa operazione è necessaria per creare nuovi intervalli di indirizzi IPv4 secondari della subnet. Quando si utilizza un VPC condiviso, sarà necessario coordinarsi Amministratore del progetto host del VPC condiviso.
- Assicurati che il tuo cluster GKE sia un VPC nativo in un cluster Kubernetes. I cluster basati su route non supportano indirizzi IPv4 dei pod aggiuntivi o intervalli di indirizzi IPv4 personalizzati del pool di nodi.
- Rivedi la sezione Passaggi di follow-up.
Crea un nuovo intervallo di indirizzi IPv4 secondari della subnet
Per creare un nuovo intervallo di indirizzi IPv4 secondari della subnet, utilizza il metodo console Google Cloud o Google Cloud CLI. Ogni subnet supporta fino a 30 Intervalli di indirizzi IPv4. Per ulteriori informazioni, consulta Modificare l'IPv4 secondario intervalli in consulta la documentazione del VPC.
Console
Vai alla pagina Reti VPC nella console Google Cloud.
Nell'elenco Reti VPC, seleziona la rete che vuoi espandere.
Nell'elenco Subnet, seleziona la subnet che preferisci.
Fai clic su Modifica.
Fai clic su Aggiungi intervallo IP.
In Nome intervallo di subnet, inserisci il nome della nuova subnet secondaria Intervallo di indirizzi IPv4. Ad esempio,
pod-range-2
.Per Intervallo IP secondario, inserisci l'intervallo di indirizzi IPv4 nel formato CIDR. Ad esempio,
10.2.204.0/22
.Fai clic su Salva.
gcloud
gcloud compute networks subnets update SUBNET_NAME \
--region=REGION \
--add-secondary-ranges=SECONDARY_RANGE_NAME=SECONDARY_RANGE_CIDR
Sostituisci quanto segue:
SUBNET_NAME
: il nome della subnet del cluster (il la stessa subnet assegnata al cluster al momento della creazione).REGION
: la regione della subnet della subnet del cluster. La regione della subnet del cluster è quella che contiene cluster GKE.SECONDARY_RANGE_NAME
: il nome del nuovo l'intervallo di indirizzi IPv4 secondari della subnet da usare come IPv4 del pod aggiuntivo per il cluster. Ad esempio,pod-range-2
.SECONDARY_RANGE_CIDR
: il CIDR che deve essere utilizzato dal nuovo nell'intervallo di indirizzi IPv4 secondari della subnet. Ad esempio,10.2.204.0/22
.
Puoi aggiungere due o più nuovi intervalli di indirizzi IPv4 secondari di subnet specificando
SECONDARY_RANGE_NAME
=SECONDARY_RANGE_CIDR
in più
separate da virgole, dopo il flag --add-secondary-ranges
.
Assegna intervalli IPv4 dei pod aggiuntivi a un cluster
Puoi assegnare intervalli di indirizzi IPv4 dei pod aggiuntivi a livello di cluster, applicabile ai nuovi nodi creati nei nuovi pool di nodi che crei nel cluster. A per assegnare intervalli di indirizzi IPv4 dei pod aggiuntivi a un cluster, devi prima creare un nuovo indirizzo IPv4 secondario della subnet intervallo.
L'assegnazione di intervalli di indirizzi IPv4 dei pod aggiuntivi a un cluster è supportata da:
- Cluster Autopilot che eseguono GKE 1.26 e versioni successive
- Cluster standard
Console
Vai alla pagina Google Kubernetes Engine nella console Google Cloud.
Fai clic su more_vert accanto al cluster da modificare. Azioni, poi fai clic su edit Modifica.
Nella sezione Networking, accanto a Intervalli IPv4 dei pod del cluster (aggiuntivo), fai clic su edit Modifica.
Nella finestra di dialogo Modifica intervalli IPv4 dei pod del cluster aggiuntivi, fai clic su Intervalli CIDR secondari dei pod e seleziona i nomi di uno o più intervalli di indirizzi IPv4 secondari della subnet esistente nella subnet del cluster. Se non sono disponibili intervalli di indirizzi IPv4 secondari aggiuntivi della subnet, prima Crea un nuovo indirizzo IPv4 secondario della subnet intervallo, quindi ripeti questi passaggi.
Fai clic su Salva modifiche.
gcloud
Aggiorna il cluster utilizzando il flag
--additional-pod-ipv4-ranges
:gcloud container clusters update CLUSTER_NAME \ --additional-pod-ipv4-ranges=SECONDARY_RANGE_NAME \ --location=COMPUTE_LOCATION
Sostituisci quanto segue:
CLUSTER_NAME
: il nome del cluster.SECONDARY_RANGE_NAME
: il nome di uno o più gli intervalli di indirizzi IPv4 secondari della subnet esistente nella subnet del cluster, separati da virgole. Se non sono disponibili intervalli di indirizzi IPv4 secondari disponibile, Crea un nuovo indirizzo IPv4 secondario della subnet per prima cosa.COMPUTE_LOCATION
: il valore Località di Compute Engine per il cluster.
Cerca intervalli IPv4 dei pod del cluster
Per cercare l'intervallo di indirizzi IPv4 del pod predefinito di un cluster e qualsiasi altro Gli intervalli di indirizzi IPv4 dei pod assegnati al cluster, utilizza seguente comando:
gcloud container clusters describe CLUSTER_NAME \
--location=COMPUTE_LOCATION
Sostituisci quanto segue:
CLUSTER_NAME
: il nome del cluster.COMPUTE_LOCATION
: il valore Località di Compute Engine per il cluster.
L'output è simile al seguente, che include i dati IPAllocationPolicy:
ipAllocationPolicy:
clusterSecondaryRangeName: cluster-pods
clusterIpv4CidrBlock: 10.10.0.0/23
additionalPodRangesConfig:
podRangeNames:
- pod-range-1
- pod-range-2
dove:
clusterSecondaryRangeName
: il nome dell'indirizzo IPv4 secondario della subnet utilizzato come intervallo di indirizzi IPv4 dei pod predefinito del cluster, definito quando è stato creato il cluster.clusterIpv4CidrBlock
: il CIDR dell'indirizzo IPv4 secondario della subnet per gli indirizzi IPv4 dei pod, definito al momento della creazione del cluster.additionalPodRangesConfig.podRangeNames
: un elenco di tutti gli altri elementi assegnati intervallo di indirizzi IPv4 secondari della subnet per gli indirizzi IPv4 dei pod.
Intervalli di indirizzi IPv4 personalizzati del pool di nodi
Per i cluster Standard che eseguono GKE 1.20.4-gke.500 o in seguito, puoi assegnare un intervallo IPv4 del pod personalizzato a un nuovo pool di nodi utilizzando uno seguenti metodi:
Intervallo di indirizzi IPv4 del pod personalizzato del pool di nodi gestito da GKE: con questa opzione, crea un nuovo pool di nodi e fornisce a GKE le informazioni per creare un nuovo intervallo di indirizzi IPv4 secondari nella subnet una subnet. A ogni nuovo nodo creato nel nuovo pool di nodi viene assegnato un IP alias per gli indirizzi IPv4 dei pod e ciascun intervallo di indirizzi IP alias proviene dal nuovo intervallo di indirizzi IPv4 secondari della subnet che GKE crea. Questa opzione può essere utilizzata solo se sia il cluster che La rete VPC contenente la subnet del cluster si trova nella stessa progetto.
Indirizzo IPv4 del pod personalizzato del pool di nodi gestito dall'utente intervallo: con questa opzione, crei un nuovo pool di nodi in cui GKE utilizza un IPv4 secondario della subnet esistente di indirizzi IP esterni. A ogni nuovo nodo creato nel nuovo pool di nodi viene assegnato un alias Intervallo di indirizzi IP per gli indirizzi IPv4 dei pod e ciascun intervallo di indirizzi IP alias proviene dall'intervallo di indirizzi IPv4 secondari della subnet indicato GKE. Se il cluster si trova in un progetto di servizio VPC condiviso e, se del cluster si trova nella rete VPC condiviso del progetto host, devi utilizzare questa opzione.
L'intervallo di indirizzi IPv4 del pod personalizzato di un pool di nodi esegue l'override di tutti gli indirizzi IPv4 dei pod di intervalli definiti a livello di cluster, tra cui l'indirizzo IPv4 del pod aggiuntivo assegnati al cluster. Intervalli di indirizzi IPv4 dei pod personalizzati assegnati al nodo I pool sono anche chiamati CIDR multi-pod discontinui.
Esempio di intervallo di indirizzi IPv4 del pod personalizzato di un pool di nodi
Il seguente diagramma mostra un cluster nativo di VPC con intervalli di indirizzi IPv4 dei pod gestiti dall'utente:
Nel diagramma precedente:
- Il numero massimo di pod per nodo per ogni pool di nodi nel cluster è stato
impostato su
64
. Per ospitare un massimo di 64 pod per nodo, crea ogni nodo con un intervallo di indirizzi IP alias/25
, fornendo128
pod Indirizzi IPv4 per nodo. - L'intervallo di indirizzi IPv4 dei pod predefinito del cluster è
/24
. Poiché ogni nodo richiede un/25
per gli indirizzi IPv4 dei pod, l'indirizzo IPv4 predefinito del pod del cluster supporta solo due nodi. - Per supportare nodi aggiuntivi, un amministratore del cluster ha creato
pool di nodi, mantenendo il numero massimo di pod per nodo (
64
). Il nodo aggiuntivo utilizza un intervallo di indirizzi IPv4 del pod/20
personalizzato, che supporta 32 nodi.
Intervallo di indirizzi IPv4 del pod personalizzato del pool di nodi gestito da GKE
Creare un pool di nodi con un intervallo di indirizzi IPv4 del pod personalizzato gestito da GKE, usa gcloud CLI o l'API GKE che segue:
gcloud
gcloud container node-pools create POOL_NAME \
--cluster=CLUSTER_NAME \
--location=COMPUTE_LOCATION \
--create-pod-ipv4-range=name=SECONDARY_RANGE_NAME,range=CIDR_OR_NETMASK
Sostituisci quanto segue:
POOL_NAME
: il nome del nuovo pool di nodi.CLUSTER_NAME
: il nome del cluster.COMPUTE_LOCATION
: il valore Località di Compute Engine per il cluster.SECONDARY_RANGE_NAME
: il nome della subnet di indirizzi IPv4 secondari creato da GKE. Se omettiname=SECONDARY_RANGE_NAME
, GKE genera il nome del nuovo intervallo di indirizzi IPv4 secondari della subnet automaticamente.CIDR_OR_NETMASK
: l'intervallo di indirizzi IPv4 del pod espresso in formato CIDR (ad esempio10.12.4.0/20
) o come subnet (ad esempio,/20
).- Se fornisci solo una subnet mask, GKE tenta di creare nuovo intervallo di indirizzi IPv4 secondari della subnet che non sia in conflitto con gli intervalli di indirizzi IPv4 della subnet esistente nella rete VPC contiene la subnet del cluster.
- Se ometti
range=CIDR_OR_NETMASK
, GKE tenta di creare un nuovo IPv4 secondario della subnet/14
che non è in conflitto con l'indirizzo IPv4 della subnet esistente di intervalli nella rete VPC che contiene una subnet.
API
"nodePool": {
"name": "POOL_NAME",
...
"networkConfig": {
"createPodRange": true,
"podRange": "SECONDARY_RANGE_NAME",
"podIpv4CidrBlock": "CIDR_OR_NETMASK"
}
}
Sostituisci quanto segue:
POOL_NAME
: il nome del nuovo pool di nodi.SECONDARY_RANGE_NAME
: facoltativo: il nome del dell'intervallo di indirizzi IPv4 secondari della subnet creato da GKE. Se utilizza""
come valore pernetworkConfig.podRange
oppure se ometti il parametropodRange
nella richiesta, GKE genera il nome. del nuovo intervallo di indirizzi IPv4 secondari della subnet.CIDR_OR_NETMASK
: l'intervallo di indirizzi IPv4 del pod espresso in formato CIDR (ad esempio10.12.4.0/20
) o come subnet (ad esempio,/20
).- Se fornisci solo una subnet mask, GKE tenta di creare nuovo intervallo di indirizzi IPv4 secondari della subnet che non sia in conflitto con gli intervalli di indirizzi IPv4 della subnet esistente nella rete VPC contiene la subnet del cluster.
- Se utilizzi
""
come valore pernetworkConfig.podIpv4CidrBlock
, Tentativi di creazione da parte di GKE di un nuovo IPv4 secondario della subnet/14
che non è in conflitto con l'indirizzo IPv4 della subnet esistente di intervalli nella rete VPC che contiene una subnet.
Intervallo di indirizzi IPv4 del pod personalizzato del pool di nodi gestito dall'utente
Per creare un pool di nodi con un intervallo di indirizzi IPv4 del pod personalizzato gestito dall'utente, utilizza gcloud CLI o l'API GKE come segue:
gcloud
gcloud container node-pools create POOL_NAME \
--cluster=CLUSTER_NAME \
--location=COMPUTE_LOCATION \
--pod-ipv4-range SECONDARY_RANGE_NAME
Sostituisci quanto segue:
POOL_NAME
: il nome del nuovo pool di nodi.CLUSTER_NAME
: il nome del cluster.COMPUTE_LOCATION
: il valore Località di Compute Engine per il cluster.SECONDARY_RANGE_NAME
: il nome di un elemento esistente nell'intervallo di indirizzi IPv4 secondari della subnet del cluster. Se necessario, crea un nuovo indirizzo IPv4 secondario di subnet per prima cosa.
API
"nodePool": {
"name": "POOL_NAME",
...
"networkConfig": {
"createPodRange": false,
"podRange": "SECONDARY_RANGE_NAME"
}
}
Sostituisci quanto segue:
POOL_NAME
: il nome del nuovo pool di nodi.SECONDARY_RANGE_NAME
: il nome di un elemento esistente nell'intervallo di indirizzi IPv4 secondari della subnet del cluster. Se necessario, crea un nuovo indirizzo IPv4 secondario di subnet per prima cosa.
Cercare gli intervalli IPv4 dei pod del pool di nodi
Per cercare l'intervallo di indirizzi IPv4 del pod di un pool di nodi, utilizza il comando seguente:
gcloud container node-pools describe POOL_NAME \
--cluster=CLUSTER_NAME \
--location=COMPUTE_LOCATION
Sostituisci quanto segue:
POOL_NAME
: il nome del pool di nodi.CLUSTER_NAME
: il nome del cluster.COMPUTE_LOCATION
: il valore Località di Compute Engine per il cluster.
L'output è simile al seguente, che include i pool di nodi NodeNetworkConfig:
networkConfig:
podRange: podrange
podIpv4CidrBlock: 192.168.0.0/18
dove:
podRange
: il nome dell'intervallo di indirizzi IPv4 secondari della subnet per il nodo agli indirizzi IPv4 dei pod del pool.podIpv4CidrBlock
: il CIDR dell'intervallo di indirizzi IPv4 secondari della subnet per agli indirizzi IPv4 dei pod del pool di nodi.
Se il pool di nodi utilizza un intervallo di indirizzi IPv4 del pod personalizzato, i valori podRange
e
I valori di podIpv4CidrBlock
sono diversi dall'IPv4 del pod predefinito del cluster
di indirizzi IP esterni.
Passaggi di follow-up
Dopo aver assegnato intervalli di indirizzi IPv4 dei pod aggiuntivi a un cluster
configurati per gli intervalli di indirizzi IPv4 dei pod personalizzati per il pool di nodi, aggiornamenti GKE
il gke-[cluster-name]-[cluster-hash]-all
creato automaticamente
Firewall VPC
regolabile in modo che
l'intervallo di origine include tutti gli indirizzi IPv4 dei pod.
Potresti anche dover:
Aggiorna la masquerade degli IP del cluster dell'agente. Il set effettivo di CIDR non mascherati deve includere tutti gli indirizzi IPv4 dei pod utilizzati dal tuo cluster (e dai relativi pool di nodi). Per ulteriori informazioni, vedi Controllo di
ip-masq-agent
in corso e configurare e distribuireip-masq-agent
,Rivedi le risorse del tuo cluster
NetworkPolicy
configurazione. Potresti dover aggiornare gli attributiipBlock
che fanno riferimento Intervalli di indirizzi IPv4 dei pod.Risolvi i problemi di connettività utilizzando Flusso VPC Log e regole firewall Logging.
Passaggi successivi
- Scopri di più sui cluster nativi VPC.
- Leggi Panoramica della rete GKE.
- Scopri di più sull'ottimizzazione dell'allocazione degli indirizzi IP.