Implementa un modello di rete in modalità IPv4 stabile

Panoramica

I modelli di rete in modalità fissa sono di due tipi: rete in modalità statica e rete in modalità dinamica (utilizzando il protocollo BGP (Border Gateway Protocol). La modalità flat statico può essere usata quando i nodi coprono un singolo dominio di livello 2. Per i nodi che coprono più domini di livello 2, utilizza la modalità IP flat con BGP.

In un modello di rete in modalità flat, i pod hanno indirizzi IP univoci nei vari cluster. Assicurati che i CIDR dei pod assegnati siano univoci e non si sovrappongano ad altre subnet. Ad esempio, gli indirizzi IP non possono sovrapporsi agli indirizzi IP utilizzati per i nodi o agli altri CIDR dei pod in altri cluster. Questi indirizzi IP sono accessibili esternamente e i pod su qualsiasi nodo possono comunicare con tutti i pod su tutti gli altri nodi. La comunicazione dal pod a qualsiasi indirizzo IP esterno non richiede il Network Address Translation (NAT). Per saperne di più sul modello di rete in modalità flat e sul confronto con il modello di rete predefinito a isola, consulta l'articolo Modelli di rete in modalità flat e isola.

Utilizza un modello di rete in modalità flat quando disponi di uno spazio di indirizzi IP di grandi dimensioni e puoi assegnare un CIDR univoco del pod per un cluster. Puoi configurare i CIDR dei pod utilizzando ClusterCIDRConfig in modo dinamico. Puoi aggiungere o eliminare ClusterCIDRConfig dopo la creazione del cluster. Per ulteriori informazioni su ClusterCIDRConfig e per esempi sul relativo utilizzo, consulta Comprendere la risorsa personalizzata ClusterCIDRConfig.

Per ulteriori informazioni sulla modalità flat con BGP, consulta Implementare il modello di rete in modalità flat con supporto BGP.

Informazioni sulla raggiungibilità degli indirizzi IP del pod

Nella modalità di rete piatta statica per IPv4, la connettività degli indirizzi IP dei pod si basa sui pacchetti ARP (Address Resolution Protocol). Di conseguenza, gli indirizzi IP dei pod sono raggiungibili solo quando i pod si trovano nello stesso dominio di livello 2. I nodi devono appartenere allo stesso dominio di livello 2. Gli indirizzi IP specificati per i pod (utilizzando ClusterCIDRConfigs) devono trovarsi nella stessa subnet dei nodi del cluster. I CIDR dei pod configurati devono provenire dalla subnet dei nodi. Ad esempio, la subnet 222.1.0.0/16 viene utilizzata dai nodi in un cluster e, successivamente, seleziona una subnet più piccola all'interno della subnet per i pod, 222.1.2.0/24. Assicurati che nessun'altra risorsa del cluster utilizzi un indirizzo IP dell'intervallo allocato per i tuoi pod.

La sezione seguente descrive la configurazione delle reti in modalità flat per IPv4.

Come implementare una rete in modalità flat statica

Per impostazione predefinita, il cluster GDCV per il cluster Bare Metal viene creato in modalità isola. Questa sezione descrive come configurare il networking in modalità flat per il cluster.

Per eseguire il deployment di un cluster con un modello di rete in modalità flat, apporta le seguenti modifiche al file di configurazione del cluster:

Il networking in modalità flat può essere abilitato per un cluster solo durante la creazione del cluster. Per creare un nuovo cluster con networking in modalità flat, segui questi passaggi:

  1. Modifica il file di configurazione del cluster per aggiungere clusterNetwork.flatIPv4 e impostalo su true.

    Quando attivi il networking in modalità flat, il CIDR del pod specificato nel file di configurazione del cluster (clusterNetwork.pods.cidrBlocks) viene ignorato.

  2. Aggiungi un manifest ClusterCIDRConfig al file di configurazione del cluster.

    Nel manifest ClusterCIDRConfig, includi le seguenti informazioni:

    • metadata.namespace: lo spazio dei nomi del cluster.

    • spec.ipv4.cidr: l'intervallo di indirizzi IP in formato di blocco CIDR da utilizzare per i pod nel cluster. Questo intervallo deve provenire dalla stessa subnet dei nodi del cluster.

    • perNodeMaskSize: i controlli preflight per la creazione del cluster verificano che il valore perNodeMaskSize sia sufficiente per eseguire il provisioning del numero di pod specificato in maxPodsPerNode.

    • nodeSelector: se nessuna etichetta del nodo corrisponde al valore nodeSelector, la riconciliazione dei nodi rimane in attesa e la creazione del cluster non viene completata.

Il seguente estratto di un file di configurazione del cluster mostra come implementare il networking in modalità piatta senza supporto BGP. I CIDR visualizzati in questo estratto sono solo esempi e dovrai sostituirli con i tuoi CIDR. Quando sostituisci i CIDR con i tuoi, assicurati che soddisfino i criteri di raggiungibilità dei pod specificati in Informazioni sulla raggiungibilità dell'indirizzo IP dei pod.

---
apiVersion: baremetal.cluster.gke.io/v1
kind: Cluster
metadata:
  name: flat-mode
  namespace: cluster-flat-mode
spec:
... (other cluster config omitted)

...
  # Cluster networking configuration
  clusterNetwork:
    flatIPv4: true
    services:
      cidrBlocks:
      - 10.96.0.0/12
... (other cluster config omitted)

...
---
apiVersion: baremetal.cluster.gke.io/v1alpha1
kind: ClusterCIDRConfig
metadata:
  name: cluster-wide-1
  namespace: cluster-flat-mode
spec:
  ipv4:
    cidr: "222.1.0.0/16"
    perNodeMaskSize: 24

Limitazioni

La rete statica in modalità flat per GDCV per Bare Metal prevede le seguenti limitazioni:

  • I pod che utilizzano reti in modalità flat sono raggiungibili all'interno del singolo dominio di livello 2. Anche qualsiasi altra macchina non presente nel cluster, ma nello stesso dominio di livello 2, può raggiungere i pod. Questa limitazione esiste anche per IPv6 quando vengono creati cluster dualstack e quando IPv6 è in modalità flat senza BGP. Per maggiori informazioni, consulta Informazioni sulla connettività degli indirizzi IP dei pod.

  • Il controller IPAM GDCV per Bare Metal monitora la disponibilità degli indirizzi IP all'interno dei CIDR dei pod configurati. Non monitora gli IP già utilizzati da altri dispositivi. Pertanto, eventuali altri indirizzi IP nel dominio di livello 2 non devono interferire con i CIDR dei POD. Per maggiori informazioni, consulta Informazioni sulla connettività degli indirizzi IP dei pod.