Überblick
In einem Netzwerk im Flat-Modus haben Pods eindeutige IP-Adressen für alle Cluster. Achten Sie darauf, dass die zugewiesenen Pod-CIDRs eindeutig sind und sich nicht mit anderen Subnetzen überschneiden. IP-Adressen dürfen sich beispielsweise nicht mit IP-Adressen überschneiden, die für die Knoten oder die anderen Pod-CIDRs in anderen Clustern verwendet werden. Auf diese IP-Adressen kann extern zugegriffen werden. Daher können Pods auf jedem Knoten mit allen Pods auf allen anderen Knoten kommunizieren. Für die Kommunikation vom Pod zu einer externen IP-Adresse ist keine Netzwerkadressübersetzung (NAT) erforderlich. Weitere Informationen zum Netzwerkmodell im Flat Mode und zum Vergleich mit dem standardmäßigen Inselnetzwerkmodell finden Sie unter Netzwerkmodelle mit flachem und Inselmodus.
Netzwerkmodelle im Flat Mode-Modus sind zwei Netzwerktypen – statischen und dynamischen Modus (mit Border Gateway Protocol). Der statische Flat Mode kann verwendet werden, wenn Knoten eine einzelne Layer-2-Domain umfassen. Verwenden Sie für Knoten, die sich über mehrere Layer-2-Domains erstrecken, den flachen IP-Modus mit BGP.
Verwenden Sie ein flaches Netzwerkmodell, wenn Sie einen großen IP-Adressbereich haben und einem Cluster ein eindeutiges Pod-CIDR zuweisen können. Sie können die Pod-CIDRs mithilfe von ClusterCIDRConfigs dynamisch konfigurieren. Sie können ClusterCIDRConfigs hinzufügen oder löschen, nachdem der Cluster erstellt wurde.
Weitere Informationen zum Flat-Modus mit BGP finden Sie unter Implementierung des Flat-Modus-Modells mit BGP-Unterstützung.
Erreichbarkeit der Pod-IP-Adresse
Im statischen flachen Netzwerkmodus für IPv4 basiert die Erreichbarkeit der Pod-IP-Adresse auf ARP-Paketen (Address Resolution Protocol). Daher sind Pod-IP-Adressen nur erreichbar, wenn sich die Pods in derselben Layer-2-Domain befinden. Die Knoten müssen zur selben Layer-2-Domain gehören. Die IP-Adressen, die Sie für Ihre Pods (mit ClusterCIDRConfigs) angeben, müssen sich im selben Subnetz wie die Clusterknoten befinden. Die konfigurierten Pod-CIDRs müssen aus dem Subnetz der Knoten stammen. Das Subnetz 222.1.0.0/16 wird beispielsweise von den Knoten in einem Cluster verwendet und wählt dann ein kleineres Subnetz innerhalb des Subnetzes für die Pods aus, 222.1.2.0/24. Achten Sie darauf, dass keine andere Ressource in Ihrem Cluster eine IP-Adresse aus dem Bereich verwendet, der Ihren Pods zugewiesen ist.
Im folgenden Abschnitt wird die Konfiguration für IPv4-Netzwerke im flachen Modus beschrieben.
Statisches Flat-Network-Netzwerk implementieren
Standardmäßig werden Anthos-Cluster auf Bare-Metal-Clustern im Netzwerk im Inselmodus erstellt. In diesem Abschnitt wird beschrieben, wie Sie ein Flat-Mode-Netzwerk für Ihren Cluster einrichten.
Nehmen Sie die folgenden Änderungen an der Clusterkonfigurationsdatei vor, um einen Cluster mit einem Flat-Network-Netzwerkmodell bereitzustellen:
Flat-Mode-Netzwerke können für einen Cluster nur während der Clustererstellung aktiviert werden. So erstellen Sie einen neuen Cluster mit Flat-Network-Netzwerken:
Bearbeiten Sie die Clusterkonfigurationsdatei, um
clusterNetwork.flatIPv4
hinzuzufügen und auftrue
festzulegen.Wenn Sie das Netzwerk im Flat Mode aktivieren, wird das in der Cluster-Konfigurationsdatei (
clusterNetwork.pods.cidrBlocks
) angegebene Pod-CIDR ignoriert.Ein ClusterCIDRConfig-Manifest an die Clusterkonfigurationsdatei anhängen.
Fügen Sie im ClusterCIDRConfig-Manifest die folgenden Informationen ein:
metadata.namespace
ist der Namespace Ihres Clusters.spec.ipv4.cidr
: Der Bereich der IP-Adressen im CIDR-Blockformat, der für Pods in Ihrem Cluster verwendet werden soll. Dieser Bereich muss aus demselben Subnetz wie die Clusterknoten stammen.perNodeMaskSize
: Preflight-Prüfungen für die Clustererstellung prüfen, ob der WertperNodeMaskSize
ausreicht, um die inmaxPodsPerNode
angegebene Anzahl von Pods bereitzustellen.nodeSelector
: Wenn keine Knotenlabels mit dem WertnodeSelector
übereinstimmen, bleibt der Knotenabgleich ausstehend und die Clustererstellung wird nicht abgeschlossen.
Der folgende Auszug aus einer Cluster-Konfigurationsdatei zeigt, wie Flat-Network-Netzwerke ohne BGP-Unterstützung implementiert werden. Die in diesem Auszug angezeigten CIDRs sind nur Beispiele und Sie müssen sie durch Ihre eigenen CIDRs ersetzen. Achten Sie beim Ersetzen der CIDRs durch Ihre eigenen darauf, dass sie die Kriterien für die Pod-Erreichbarkeit erfüllen, wie unter Erreichbarkeit der Pod-IP-Adresse beschrieben.
---
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
Beschränkungen
Das statische Flat-Modus-Netzwerk für Anthos-Cluster auf Bare Metal hat folgende Einschränkungen:
Pods mit Flat-Mode-Netzwerken sind innerhalb der einzelnen Layer-2-Domain erreichbar. Alle anderen Maschinen, die sich nicht im Cluster, aber in derselben Layer-2-Domain befinden, können die Pods ebenfalls erreichen. Diese Einschränkung gilt auch für IPv6, wenn Dual-Stack-Cluster erstellt werden und IPv6 im Flachmodus ohne BGP ist. Weitere Informationen finden Sie unter Erreichbarkeit der Pod-IP-Adresse.
Der Anthos-Cluster auf Bare-Metal-IPAM-Controller verfolgt die Verfügbarkeit der IP-Adresse innerhalb der konfigurierten Pod-CIDRs. Die IP-Adressen, die bereits von anderen Geräten verwendet werden, werden nicht erfasst. Daher dürfen keine anderen IP-Adressen in der Layer-2-Domain die POD-CIDRs beeinträchtigen. Weitere Informationen finden Sie unter Erreichbarkeit der Pod-IP-Adresse.
Wenn Sie den flachen IPv4-Modus verwenden, ist die Maskierung von IP-Adressen deaktiviert. Da die Funktion für ausgehendes NAT-Gateway von der IP-Maskierung abhängig ist, können Sie kein NAT-Gateway für ausgehenden Traffic in Verbindung mit einem flachen IPv4-Modus verwenden.