Aggiunta di intervalli di indirizzi IPv4 dei pod


Questa pagina mostra come configurare intervalli di indirizzi IPv4 aggiuntivi dei pod per un cluster nativo di VPC e come specificare intervalli di indirizzi IPv4 dei pod personalizzati per i pool di nodi di un cluster nativo della VPC.

Gli intervalli di indirizzi IPv4 dei pod nei cluster nativi VPC provengono sempre da intervalli di indirizzi IPv4 secondari della subnet. Quando crei un nuovo cluster, lo assegni un intervallo di indirizzi IPv4 dei pod predefinito.

  • Per i cluster Autopilot e Standard, puoi configurare un cluster 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 nei pool di nodi futuri.
  • Per i cluster standard, puoi creare pool di nodi che utilizzano ciascuno un intervallo di indirizzi IPv4 secondari di subnet personalizzata per gli indirizzi IPv4 dei pod.

Prima di iniziare

Prima di iniziare, assicurati di aver eseguito le seguenti attività:

  • Abilita l'API Google Kubernetes Engine.
  • Abilita l'API Google Kubernetes Engine
  • Se vuoi utilizzare Google Cloud CLI per questa attività, installa e initialize gcloud CLI. Se hai già installato gcloud CLI, scarica la versione più recente eseguendo gcloud components update.
  • Assicurati di disporre del ruolo di Amministratore rete Compute per Identity and Access Management (IAM) per il progetto che contiene la subnet del cluster. Questo passaggio è necessario per creare nuovi intervalli di indirizzi IPv4 secondari della subnet. Se utilizzi un VPC condiviso, dovrai coordinarti con l'amministratore di rete per il progetto host del VPC condiviso.
  • Assicurati che il cluster GKE sia un cluster nativo di VPC. I cluster basati su route non supportano intervalli di indirizzi IPv4 dei pod aggiuntivi o intervalli di indirizzi IPv4 dei pod personalizzati del pool di nodi.
  • Esamina 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 la console Google Cloud o Google Cloud CLI. Ogni subnet supporta fino a 30 intervalli di indirizzi IPv4 secondari. Per ulteriori informazioni, consulta Modificare gli intervalli IPv4 secondari nella documentazione di VPC.

Console

  1. Vai alla pagina Reti VPC nella console Google Cloud.

    Vai a Reti VPC

  2. Nell'elenco Reti VPC, seleziona la rete che vuoi espandere.

  3. Nell'elenco Subnet, seleziona quella che ti interessa.

  4. Fai clic su Modifica.

  5. Fai clic su Aggiungi intervallo IP.

  6. In Nome intervallo di subnet, inserisci il nome del nuovo intervallo di indirizzi IPv4 secondari della subnet. Ad esempio, pod-range-2.

  7. In Intervallo IP secondario, inserisci l'intervallo di indirizzi IPv4 in formato CIDR. Ad esempio, 10.2.204.0/22.

  8. 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 (la stessa subnet assegnata al cluster al momento della creazione).
  • REGION: la regione della subnet del cluster. La regione della subnet del cluster è quella che contiene il cluster GKE.
  • SECONDARY_RANGE_NAME: il nome del nuovo intervallo di indirizzi IPv4 secondari della subnet da utilizzare come intervallo di indirizzi IPv4 del pod aggiuntivo per il cluster. Ad esempio, pod-range-2.
  • SECONDARY_RANGE_CIDR: il CIDR da utilizzare dal nuovo 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 della subnet specificando coppie SECONDARY_RANGE_NAME=SECONDARY_RANGE_CIDR aggiuntive, separate da virgole, dopo il flag --add-secondary-ranges.

Assegna intervalli IPv4 dei pod aggiuntivi a un cluster

Puoi assegnare ulteriori intervalli di indirizzi IPv4 dei pod a livello di cluster, applicabili ai nuovi nodi creati nei nuovi pool di nodi che crei nel cluster. Per assegnare ulteriori intervalli di indirizzi IPv4 dei pod a un cluster, devi prima creare un nuovo intervallo di indirizzi IPv4 secondari della subnet.

L'assegnazione di intervalli di indirizzi IPv4 dei pod aggiuntivi a un cluster è supportata da:

  • Cluster Autopilot che eseguono GKE versione 1.26 e successive
  • Cluster standard

Console

  1. Vai alla pagina Google Kubernetes Engine nella console Google Cloud.

    Vai a Google Kubernetes Engine

  2. Accanto al cluster che vuoi modificare, fai clic su Azioni e poi su Modifica.

  3. Nella sezione Networking, accanto a Intervalli IPv4 dei pod del cluster (aggiuntivi), fai clic su Modifica.

  4. Nella finestra di dialogo Modifica intervalli IPv4 dei pod aggiuntivi del cluster, fai clic su Intervalli CIDR secondari dei pod e seleziona i nomi di uno o più intervalli di indirizzi IPv4 secondari della subnet esistenti nella subnet del cluster. Se non sono disponibili intervalli di indirizzi IPv4 secondari aggiuntivi, devi prima creare un nuovo intervallo di indirizzi IPv4 secondari della subnet e poi ripetere questi passaggi.

  5. Fai clic su Salva modifiche.

gcloud

  1. Aggiorna il cluster utilizzando il flag --additional-pod-ipv4-ranges:

    gcloud container clusters update CLUSTER_NAME \
        --additional-pod-ipv4-ranges=SECONDARY_RANGE_NAME \
        --location=ZONE_OR_REGION
    

    Sostituisci quanto segue:

    • CLUSTER_NAME: il nome del cluster.
    • SECONDARY_RANGE_NAME: il nome di uno o più intervalli di indirizzi IPv4 secondari esistenti nella subnet del cluster, separati da virgole. Se non sono disponibili intervalli di indirizzi IPv4 secondari della subnet, crea prima un nuovo intervallo di indirizzi IPv4 secondari della subnet.
    • ZONE_OR_REGION: per i cluster a livello di zona, la zona di Compute Engine in cui si trova il cluster. Per i cluster a livello di regione, la regione di Compute Engine in cui si trova il cluster. Per un elenco di zone e regioni, consulta Regioni e zone nella documentazione di Compute Engine.

Cerca intervalli IPv4 dei pod del cluster

Per cercare l'intervallo di indirizzi IPv4 dei pod predefinito di un cluster e gli eventuali intervalli di indirizzi IPv4 dei pod aggiuntivi assegnati al cluster, utilizza il comando seguente:

gcloud container clusters describe CLUSTER_NAME \
  --location=ZONE_OR_REGION

Sostituisci quanto segue:

  • CLUSTER_NAME: il nome del cluster.
  • ZONE_OR_REGION: per i cluster a livello di zona, la zona di Compute Engine in cui si trova il cluster. Per i cluster a livello di regione, la regione di Compute Engine in cui si trova il cluster.

L'output è simile al seguente, che include IPAllocationPolicy del cluster:

ipAllocationPolicy:
  clusterSecondaryRangeName: cluster-pods
  clusterIpv4CidrBlock: 10.10.0.0/23
  additionalPodRangesConfig:
    podRangeNames:
      - pod-range-1
      - pod-range-2

dove:

  • clusterSecondaryRangeName: il nome dell'intervallo di indirizzi IPv4 secondari della subnet utilizzato come intervallo di indirizzi IPv4 del pod predefinito del cluster, definito al momento della creazione del cluster.
  • clusterIpv4CidrBlock: il CIDR dell'intervallo di indirizzi IPv4 secondari della subnet per gli indirizzi IPv4 dei pod, definito al momento della creazione del cluster.
  • additionalPodRangesConfig.podRangeNames: un elenco di eventuali altri intervalli di indirizzi IPv4 secondari della subnet assegnati per gli indirizzi IPv4 dei pod.

Intervalli di indirizzi IPv4 dei pod personalizzati del pool di nodi

Per i cluster standard che eseguono GKE 1.20.4-gke.500 o versioni successive, puoi assegnare un intervallo IPv4 dei pod personalizzato a un nuovo pool di nodi utilizzando uno dei seguenti metodi:

  • Intervallo di indirizzi IPv4 dei pod personalizzati del pool di nodi gestito da GKE: con questa opzione puoi creare un nuovo pool di nodi e fornire a GKE le informazioni necessarie per creare un nuovo intervallo di indirizzi IPv4 secondari della subnet nella subnet del cluster. A ogni nuovo nodo creato nel nuovo pool di nodi viene assegnato un intervallo di indirizzi IP alias per i relativi indirizzi IPv4 dei pod e ogni intervallo di indirizzi IP alias proviene dal nuovo intervallo di indirizzi IPv4 secondari della subnet creato da GKE. Questa opzione può essere utilizzata solo se il cluster e la rete VPC contenente la subnet del cluster si trovano nello stesso progetto.

  • Intervallo di indirizzi IPv4 del pod personalizzato del pool di nodi gestito dall'utente: con questa opzione puoi creare un nuovo pool di nodi in cui GKE utilizza un intervallo di indirizzi IPv4 secondari della subnet esistente. A ogni nuovo nodo creato nel nuovo pool di nodi viene assegnato un intervallo di indirizzi IP alias per gli indirizzi IPv4 dei pod e ogni intervallo di indirizzi IP alias proviene dall'intervallo di indirizzi IPv4 secondari della subnet che specifichi a GKE di utilizzare. Se il cluster si trova in un progetto di servizio VPC condiviso e se la subnet del cluster si trova nella rete VPC condivisa del progetto host, devi utilizzare questa opzione.

L'intervallo di indirizzi IPv4 dei pod personalizzato di un pool di nodi esegue l'override di tutti gli intervalli di indirizzi IPv4 dei pod definiti a livello di cluster, inclusi intervalli di indirizzi IPv4 dei pod aggiuntivi assegnati al cluster. Gli intervalli di indirizzi IPv4 dei pod personalizzati assegnati ai pool di nodi sono anche denominati CIDR multipli dei pod.

Esempio di intervallo di indirizzi IPv4 del pod personalizzato del pool di nodi

Il seguente diagramma mostra un cluster nativo di VPC con intervalli di indirizzi IPv4 dei pod gestiti dall'utente:

Aggiunta di un pool di nodi a un cluster con un intervallo di indirizzi IP del pod secondario esaurito utilizzando un CIDR multi-pod discontinuo
Diagramma: esempio di intervallo di indirizzi IPv4 del pod personalizzato del pool di nodi

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, GKE crea ogni nodo con un intervallo di indirizzi IP alias /25, fornendo indirizzi IPv4 di pod 128 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'intervallo di indirizzi IPv4 dei pod predefinito del cluster supporta solo due nodi.
  • Per supportare nodi aggiuntivi, un amministratore del cluster ha creato un pool di nodi aggiuntivo, mantenendo il numero massimo di pod per nodo (64). Il pool di nodi aggiuntivo utilizza un intervallo di indirizzi IPv4 del pod /20 personalizzato, che supporta altri 32 nodi.

Intervallo di indirizzi IPv4 dei pod personalizzati del pool di nodi gestito da GKE

Per creare un pool di nodi con un intervallo di indirizzi IPv4 dei pod personalizzato gestito da GKE, utilizza gcloud CLI o l'API GKE come segue:

gcloud

gcloud container node-pools create POOL_NAME \
  --cluster=CLUSTER_NAME \
  --location=ZONE_OR_REGION \
  --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.
  • ZONE_OR_REGION: per i cluster a livello di zona, la zona di Compute Engine in cui si trova il cluster. Per i cluster a livello di regione, la regione di Compute Engine in cui si trova il cluster. Per un elenco di zone e regioni, consulta Regioni e zone.
  • SECONDARY_RANGE_NAME: il nome dell'intervallo di indirizzi IPv4 secondari della subnet creato da GKE. Se ometti name=SECONDARY_RANGE_NAME, GKE genera automaticamente il nome del nuovo intervallo di indirizzi IPv4 secondari della subnet.
  • CIDR_OR_NETMASK: l'intervallo di indirizzi IPv4 dei pod espresso in formato CIDR (ad esempio 10.12.4.0/20) o come subnet mask (ad esempio /20).
    • Se fornisci solo una subnet mask, GKE tenta di creare un nuovo intervallo di indirizzi IPv4 secondari della subnet che non sia in conflitto con gli intervalli di indirizzi IPv4 della subnet esistenti nella rete VPC che contiene la subnet del cluster.
    • Se ometti range=CIDR_OR_NETMASK, GKE tenta di creare un nuovo intervallo di indirizzi IPv4 secondari della subnet /14 che non sia in conflitto con gli intervalli di indirizzi IPv4 della subnet esistenti nella rete VPC che contiene la subnet del cluster.

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 dell'intervallo di indirizzi IPv4 secondari della subnet creato da GKE. Se utilizzi "" come valore per networkConfig.podRange o se ometti il parametro podRange nella richiesta, GKE genera automaticamente il nome del nuovo intervallo di indirizzi IPv4 secondari della subnet.
  • CIDR_OR_NETMASK: l'intervallo di indirizzi IPv4 dei pod espresso in formato CIDR (ad esempio 10.12.4.0/20) o come subnet mask (ad esempio /20).
    • Se fornisci solo una subnet mask, GKE tenta di creare un nuovo intervallo di indirizzi IPv4 secondari della subnet che non sia in conflitto con gli intervalli di indirizzi IPv4 della subnet esistenti nella rete VPC che contiene la subnet del cluster.
    • Se utilizzi "" come valore per networkConfig.podIpv4CidrBlock, GKE tenta di creare un nuovo intervallo di indirizzi IPv4 secondari della subnet /14 che non entri in conflitto con gli intervalli di indirizzi IPv4 della subnet esistenti nella rete VPC che contiene la subnet del cluster.

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 dei pod personalizzati gestito dall'utente, utilizza gcloud CLI o l'API GKE come segue:

gcloud

gcloud container node-pools create POOL_NAME \
  --cluster=CLUSTER_NAME \
  --location=ZONE_OR_REGION \
  --pod-ipv4-range SECONDARY_RANGE_NAME

Sostituisci quanto segue:

  • POOL_NAME: il nome del nuovo pool di nodi.
  • CLUSTER_NAME: il nome del cluster.
  • ZONE_OR_REGION: per i cluster a livello di zona, la zona di Compute Engine in cui si trova il cluster. Per i cluster a livello di regione, la regione di Compute Engine in cui si trova il cluster. Per un elenco di zone e regioni, consulta Regioni e zone nella documentazione di Compute Engine.
  • SECONDARY_RANGE_NAME: il nome di un intervallo di indirizzi IPv4 secondari della subnet esistente nella subnet del cluster. Se necessario, crea prima un nuovo intervallo di indirizzi IPv4 secondario della subnet.

API

"nodePool": {
  "name": "POOL_NAME",
  ...
  "networkConfig": {
    "createPodRange": false,
    "podRange": "SECONDARY_RANGE_NAME"
    }
}

Sostituisci quanto segue:

Cerca intervalli IPv4 dei pod del pool di nodi

Per cercare l'intervallo di indirizzi IPv4 dei pod di un pool di nodi, utilizza il comando seguente:

gcloud container node-pools describe POOL_NAME \
  --cluster=CLUSTER_NAME \
  --location=ZONE_OR_REGION

Sostituisci quanto segue:

  • POOL_NAME: il nome del pool di nodi.
  • CLUSTER_NAME: il nome del cluster.
  • ZONE_OR_REGION: per i cluster a livello di zona, la zona di Compute Engine in cui si trova il cluster. Per i cluster a livello di regione, la regione di Compute Engine in cui si trova il cluster.

L'output è simile al seguente, che include il valore NodeNetworkConfig del pool di nodi:

  networkConfig:
    podRange: podrange
    podIpv4CidrBlock: 192.168.0.0/18

dove:

  • podRange: il nome dell'intervallo di indirizzi IPv4 secondari della subnet per gli indirizzi IPv4 dei pod del pool di nodi.
  • podIpv4CidrBlock: il CIDR dell'intervallo di indirizzi IPv4 secondari della subnet per gli indirizzi IPv4 dei pod del pool di nodi.

Se il pool di nodi utilizza un intervallo di indirizzi IPv4 dei pod personalizzato, i valori podRange e podIpv4CidrBlock sono diversi dall'intervallo di indirizzi IPv4 dei pod predefinito del cluster.

Passaggi successivi

Dopo aver assegnato ulteriori intervalli di indirizzi IPv4 dei pod a un cluster o configurato intervalli di indirizzi IPv4 dei pod personalizzati del pool di nodi, GKE aggiorna la regola firewall VPC gke-[cluster-name]-[cluster-hash]-all creata automaticamente in modo che l'intervallo di origine includa tutti gli indirizzi IPv4 dei pod.

Potrebbe essere necessario anche:

Passaggi successivi