Implementare il modello di rete in modalità IPv4 piatto

Panoramica

In un modello di rete in modalità a schermo piatto, i pod hanno indirizzi IP univoci nei 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 per gli altri CIDR dei pod in altri cluster. Questi indirizzi IP sono accessibili esternamente e quindi 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 la traduzione dell'indirizzo di rete (NAT). Per scoprire di più sul modello di rete in modalità piatta e su come si posiziona rispetto al modello di rete predefinito, consulta Confronto tra i modelli di rete in modalità piatta e in isola.

I modelli di rete in modalità piatta sono di due tipi: rete in modalità statica e rete in modalità dinamica (utilizzando il protocollo gateway di confine). La modalità piatta statica può essere utilizzata quando i nodi spandono un singolo dominio di livello 2. Per i nodi che coprono più domini di livello 2, utilizza la modalità IP semplice con BGP.

Utilizza un modello di rete a modalità piatta quando disponi di uno spazio di indirizzi IP di grandi dimensioni e puoi assegnare un CIDR del pod univoco per un cluster. Puoi configurare i CIDR dei pod utilizzando i ClusterCIDRConfigs in modo dinamico. Puoi aggiungere o eliminare ClusterCIDRConfigs dopo la creazione del cluster.

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

Informazioni sulla raggiungibilità dell'indirizzo IP del pod

In modalità rete piatta per IPv4, la raggiungibilità dell'indirizzo IP dei pod si basa sui pacchetti ARP (Address Resolution Protocol). Pertanto, 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 tuoi pod (mediante 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, quindi seleziona una subnet più piccola nella subnet per i pod 222.1.2.0/24. Assicurati che nessun'altra risorsa nel cluster utilizzi un indirizzo IP dall'intervallo allocato per i tuoi pod.

La sezione seguente descrive la configurazione per le reti in modalità piatta per IPv4.

Come implementare una rete statica in modalità piatta

Per impostazione predefinita, il cluster Anthos clusters on bare metal viene creato nel networking in modalità isola. Questa sezione descrive come configurare il networking in modalità piatta per il cluster.

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

Puoi abilitare il networking in modalità piatta per un cluster solo durante la creazione del cluster. Per creare un nuovo cluster con networking in modalità piatta, segui questi passaggi:

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

    Quando abiliti il networking in modalità piatta, 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.

    Includi nel file manifest ClusterCIDRConfig le seguenti informazioni:

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

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

    • perNodeMaskSize: i controlli preflight in fase di creazione 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 del nodo rimane in attesa e la creazione del cluster non è completa.

Il seguente estratto di un file di configurazione del cluster mostra come implementare il networking in modalità piatta senza supporto per BGP. I CIDR che compaiono in questo estratto sono solo degli esempi e dovrai sostituirli con i tuoi. Quando sostituisci i CIDR con i tuoi, assicurati che soddisfino i criteri di raggiungibilità dei pod come specificato in Informazioni sulla raggiungibilità dell'indirizzo IP del 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à piatta per cluster Anthos su Bare Metal presenta le seguenti limitazioni:

  • I pod che utilizzano reti in modalità piatta sarebbero raggiungibili all'interno del singolo dominio di livello 2. Possono raggiungere i pod anche qualsiasi altra macchina che non sia nel cluster, ma nello stesso dominio di livello 2. Questo limite esiste anche per IPv6 quando vengono creati cluster dualstack e quando IPv6 è in modalità piatta senza BGP. Per ulteriori informazioni, consulta la pagina Informazioni sulla raggiungibilità dell'indirizzo IP del pod.

  • Il controller IPAM Bare Metal in cluster Anthos monitora la disponibilità dell'indirizzo IP all'interno dei CIDR dei pod configurati. Non monitora gli IP già in uso da altri dispositivi. Pertanto, qualsiasi altro IP nel dominio di livello 2 non deve interferire con i CIDR del POD. Per ulteriori informazioni, consulta la pagina Informazioni sulla raggiungibilità dell'indirizzo IP del pod.