|
Dieses Dokument wurde mithilfe automatisierter maschineller Übersetzungstechnologie übersetzt. Wir bemühen uns um korrekte Übersetzungen, übernehmen jedoch keine Gewähr für die Vollständigkeit, Richtigkeit oder Zuverlässigkeit der übersetzten Inhalte. Im Falle von Abweichungen ist die englische Originalversion maßgebend und stellt den verbindlichen Text dar. |
IP-Pool
Der IP-Pool ist eine integrierte Lösung zur Verwaltung von IP-Adressen (IPAM), die ausschließlich für SUSE Virtualization Lastenausgleicher (LBs) verfügbar ist.
Funktionen
-
Mehrere IP-Bereiche: Jeder IP-Pool kann mehrere IP-Bereiche oder CIDRs enthalten.
-
Zuweisungshistorie: Der IP-Pool verfolgt die Zuweisungshistorie jeder IP-Adresse und priorisiert die Zuweisung zuvor zugewiesener Adressen nach dem Namen des Lastenausgleichers.
status: allocatedHistory: 192.168.178.8: default/rke2-default-lb-pool-2fab9ac0 -
Einsatzbereich: IP-Pools können auf ein bestimmtes Netzwerk, Projekt, Namespace oder Gast-Cluster beschränkt werden.
Einen IP-Pool erstellen
-
Gehen Sie im SUSE Virtualization UI zu Netzwerke → IP-Pools.
-
Wählen Sie Erstellen.
-
Geben Sie einen Namen für den IP-Pool ein.
-
Geben Sie im Bereich Tab einen oder mehrere IP-Bereiche an.
-
Geben Sie im Auswahl Tab die Prioritätsstufe und den Geltungsbereich (Namespace) des IP-Pools an.
Einen IP-Pool über die Rancher UI erstellen
Wenn Sie den SUSE Virtualization Cluster in Rancher importiert haben, können Sie einen IP-Pool über die Rancher UI erstellen (Virtualisierungsmanagement → IP-Pool: Erstellen*). Der Geltungsbereich Abschnitt im Auswahl Tab erfordert, dass Sie das Projekt und den Gast-Kubernetes-Cluster zusätzlich zum Namespace angeben. Für weitere Informationen siehe Multi-Tenancy-Beispiel und Projekte und Kubernetes-Namensräume mit Rancher.
Ein IP-Pool wird als globale Ressource bezeichnet, wenn der Abschnitt Geltungsbereich nur einen Eintrag mit den Feldern Projekt, Namespace und Gast-Kubernetes-Cluster hat, die auf Alle gesetzt sind.
Auswahlrichtlinie
Jeder IP-Pool hat einen spezifischen Bereich, und Sie können die entsprechenden Anforderungen im LB annotations angeben. IP-Pools, die die angegebenen Anforderungen erfüllen, weisen automatisch IP-Adressen an LBs zu.
-
LBs nutzen die folgenden Annotationen, um Anforderungen auszudrücken (alle Annotationen sind optional):
-
loadbalancer.harvesterhci.io/networkgibt das VM-Netzwerk an, das die Knoten des Gastclusters verwenden. -
loadbalancer.harvesterhci.io/projectundloadbalancer.harvesterhci.io/namespaceidentifizieren das Projekt und den Namespace der VMs, die den Gast-Cluster bilden. -
loadbalancer.harvesterhci.io/clusterbezeichnet den Namen des Gast-Clusters.
-
-
Der IP-Pool hat einen Selektor, einschließlich Netzwerk und Geltungsbereich, um die Anforderungen des LBs zu erfüllen.
-
Netzwerk ist eine harte Bedingung. Der optionale IP-Pool muss mit dem Wert der LB-Annotation
loadbalancer.harvesterhci.io/networkübereinstimmen. -
Jeder IP-Pool, außer dem globalen IP-Pool, hat einen einzigartigen Bereich, der sich von anderen unterscheidet, wenn seine Priorität
0ist. Das Projekt, der Namespace oder der Clustername von LBs sollte im Geltungsbereich des IP-Pools liegen, wenn sie eine IP aus diesem Pool erhalten möchten.
-
-
spec.selector.prioritygibt die Priorität des IP-Pools an. Je größer die Zahl, desto höher die Priorität. Wenn die Priorität nicht0ist, sollte der Wert unterschiedlich sein. Die Priorität hilft Ihnen, den alten IP-Pool in den neuen zu migrieren. -
Wenn der IP-Pool einen Bereich hat, der mit allen Projekten, Namensräumen und Gastclustern übereinstimmt, wird er als globaler IP-Pool bezeichnet, und es ist nur ein globaler IP-Pool erlaubt. Wenn es keinen IP-Pool gibt, der den Anforderungen des LBs entspricht, wird das IPAM eine IP-Adresse aus dem globalen IP-Pool zuweisen, falls dieser existiert.
Beispiele
-
Beispiel 1: Sie möchten einen IP-Pool im Bereich
192.168.100.0/24für den Namespacedefaulteinrichten. In diesem Szenario erhalten alle Lastenausgleicher im Namespacedefaulteine IP-Adresse aus diesem zugewiesenen IP-Pool:apiVersion: networking.harvesterhci.io/v1beta1 kind: IPPool metadata: name: default-ip-pool spec: ranges: - subnet: 192.168.100.0/24 selector: scope: namespace: default -
Beispiel 2: Sie haben einen Gast-Cluster
rke2im Netzwerkdefault/vlan1bereitgestellt, und seinproject/namespaceName istproduct/default. Wenn Sie einen exklusiven IP-Pool-Bereich192.168.10.10-192.168.10.20dafür konfigurieren möchten. Lesen Sie die folgendeYAMLKonfiguration:apiVersion: networking.harvesterhci.io/v1beta1 kind: IPPool metadata: name: rke2-ip-pool spec: ranges: - subnet: 192.168.10.0/24 rangeStart: 192.168.10.10 rangeEnd: 192.168.10.20 selector: network: default/vlan1 scope: - project: product namespace: default guestCluster: rke2 -
Beispiel 3: Wenn Sie den IP-Pool
default-ip-poolfür den Namespacedefaultangegeben haben, möchten Sie den IP-Pooldefault-ip-poolin einen anderen IP-Pooldefault-ip-pool-2mit dem Bereich192.168.200.0/24migrieren. Es ist nicht erlaubt, mehr als einen IP-Pool für denselben Geltungsbereich anzugeben, aber Sie können dem IP-Pooldefault-ip-pool-2eine höhere Priorität alsdefault-ip-poolgeben. Lesen Sie die folgendeYAMLKonfiguration:apiVersion: networking.harvesterhci.io/v1beta1 kind: IPPool metadata: name: default-ip-pool-2 spec: ranges: - subnet: 192.168.200.0/24 selector: priority: 1 # The priority is higher than default-ip-pool scope: namespace: default -
Beispiel 4: Sie möchten einen globalen IP-Pool mit einem CIDR-Bereich von
192.168.20.0/24konfigurieren:apiVersion: networking.harvesterhci.io/v1beta1 kind: IPPool metadata: name: global-ip-pool labels: loadbalancer.harvesterhci.io/global-ip-pool: 'true' # Added by the controller automatically spec: ranges: - subnet: 192.168.20.0/24 selector: scope: - project: "*" namespace: "*" guestCluster: "*"
Zuteilungsrichtlinie
-
Der IP-Pool priorisiert die Zuteilung zuvor zugewiesener IP-Adressen basierend auf ihrer Zuteilungshistorie.
-
IP-Adressen werden in aufsteigender Reihenfolge zugewiesen.
Best Practices
IP-Pool für VM-Typ Lastenausgleicher
-
Erstellen Sie einen IP-Pool unter Verwendung der SUSE Virtualization UI, der die Felder Projekt und Gast-Kubernetes-Cluster des Geltungsbereichs leer lässt.
-
Wenn Sie die Rancher UI verwenden müssen, setzen Sie die Felder Projekt und Gast-Kubernetes-Cluster auf entweder Alle oder Keine.
IP-Pool für Gast-Cluster-Typ Lastenausgleicher
-
Erstellen Sie einen IP-Pool unter Verwendung der Rancher UI, der es Ihnen ermöglicht, das Zielprojekt und den Gast-Kubernetes-Cluster für eine bessere Ressourcenverwaltung und Isolation anzugeben.
-
Seien Sie vorsichtig beim Erstellen globaler IP-Pools. Ein einzelner Gast-Cluster kann den gesamten Pool erschöpfen, sodass andere Cluster keine Dienste bereitstellen können. Darüber hinaus können Sie einen Pool nicht löschen, wenn eine der Adressen noch in Verwendung ist.