Implementa un modello di rete in modalità IPv4 flat

Panoramica

I modelli di rete in modalità piatta sono di due tipi━ (utilizzando il protocollo BGP (Border Gateway Protocol).) La modalità flat-mode statico può essere utilizzata quando i nodi abbracciano un singolo dominio di livello 2. Per i nodi che si estendono su più livelli 2 utilizzare la modalità IP flat con BGP.

In un modello di rete in modalità flat, i pod hanno indirizzi IP univoci nei cluster. Assicurati che i CIDR dei pod assegnati siano univoci e non si sovrappongano ad altri subnet. Ad esempio, gli indirizzi IP non possono sovrapporsi agli indirizzi IP utilizzati per la nodi o gli altri CIDR dei pod di altri cluster. Questi indirizzi IP possono essere a cui si accede esternamente, perciò i pod su qualsiasi nodo possono comunicare con tutti i pod per tutti gli altri nodi. La comunicazione dal pod a qualsiasi indirizzo IP esterno richiedono Network Address Translation (NAT). Per ulteriori informazioni sull' e confronto con il modello di rete dell'isola predefinito, vedi Modelli di rete piatti e in modalità a isola.

Utilizza un modello di rete in modalità piatta quando disponi di uno spazio di indirizzi IP ampio e assegnare un CIDR del pod univoco per un cluster. Puoi configurare i CIDR dei pod utilizzando il clusterCIDRConfigs in modo dinamico. Puoi aggiungere o eliminare ClusterCIDRConfig dopo la creazione del cluster. Per ulteriori informazioni su ClusterCIDRConfig ed esempi su consulta la sezione Informazioni sulla risorsa personalizzata ClusterCIDRConfig.

Per saperne di più sulla modalità flat con BGP, vedi Implementa un modello di rete in modalità piatta con il supporto BGP.

Comprendere la connettività degli indirizzi IP dei pod

In modalità di rete piatta statica per IPv4, la connettività degli indirizzi IP dei pod si basa su e pacchetti ARP (Address Resolution Protocol). Di conseguenza, gli indirizzi IP dei pod solo quando i pod si trovano nello stesso dominio di livello 2. I nodi devono appartengono 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 dai nodi una subnet. Ad esempio, 222.1.0.0/16 viene utilizzata dai nodi di un cluster, quindi seleziona una subnet più piccola all'interno per i pod, 222.1.2.0/24. Assicurati che nessun'altra risorsa nel tuo cluster utilizza un indirizzo IP dell'intervallo allocato per i tuoi pod.

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

Come implementare una rete in modalità piatta statica

Per impostazione predefinita, il cluster Google Distributed Cloud viene creato in modalità di networking in modalità isola. Questo che descrive come configurare il networking flat per il tuo 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 impostare a true.

    Quando abiliti il networking in modalità flat, il CIDR del pod specificato nel cluster file di configurazione (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 tuo cluster.

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

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

    • nodeSelector: se nessuna etichetta dei nodi corrisponde al valore nodeSelector, il valore la riconciliazione dei nodi rimane in attesa, così come la creazione del cluster completato.

Il seguente estratto di un file di configurazione del cluster mostra come implementare networking in modalità piatta senza supporto BGP. I CIDR visualizzati in questo estratto sono solo esempi e dovrai sostituirli con i tuoi CIDR. Quando sostituendo i CIDR con i tuoi, assicurati che soddisfino i criteri per i pod la connettività come specificato 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 in modalità flat statica per Google Distributed Cloud include quanto segue limitazioni:

  • I pod che utilizzano reti in modalità piatta sarebbero raggiungibili all'interno del singolo livello 2 dominio. Qualsiasi altra macchina che non si trova nel cluster, ma nello stesso livello possono raggiungere anche i pod. Questa limitazione esiste anche per IPv6 quando vengono creati cluster dualstack e quando IPv6 è in modalità flat senza BGP. Per ulteriori informazioni, vedi Informazioni sulla raggiungibilità dell'indirizzo IP del pod.

  • Il controller Google Distributed Cloud IPAM monitora la disponibilità degli indirizzi IP all'interno dei CIDR dei pod configurati. Non tiene traccia degli IP già in uso da parte di altri dispositivi. Pertanto, qualsiasi altro indirizzo IP nel dominio di livello 2 non deve interferire con i CIDR POD. Per ulteriori informazioni, vedi Informazioni sulla raggiungibilità dell'indirizzo IP del pod.