Konfigurieren von IPAM für Pod-Netzwerke
ZUSAMMENFASSUNG Cloud-natives Contrail® Networking™ Version 22.1 unterstützt IP Address Management (IPAM) für Pods und Services. Konfigurieren Sie eine Subnet
Ressource, um die IP-Adressenzuweisung zu erleichtern.
IPAM in Cloud-nativem Contrail Networking
Cloud-natives Contrail Networking führt die Subnet
Ressourcen für SubnetPool
den Zweck von IPAM für Pods und Services ein. Jeder Subnet
hat eine zugeordnete SubnetPool
. Mit diesen Ressourcen können Sie die IPv4- und IPv6-Adresszuweisung in Ihrem Cluster konfigurieren. Ein VirtualNetwork
Verweist auf eine Subnet
Ressource, um die verfügbaren Subnetzen für neue Pods und Services zu ermitteln. Mehrere VirtualNetworks
können auf dasselbe Subnet
verweisen. Die Subnet
Ressource wird in IPAM übersetzt und vom Steuerungsknoten und vRouter-Agent genutzt.
SubnetPool – Übersicht
Sie SubnetPool
verwaltet einen Pool von Adressen, die Subnets
zugewiesen werden. Wenn eine Anfrage nach einer IP-Adresse auftritt, wird diese IP-Adresse aus dem zugehörigen SubnetPool
virtuellen Netzwerk zugewiesen. CIDR-Parameter (Präfixlänge, Kapazität, Bereich) für die IP-Adressenzuweisung werden beim Erstellen eines SubnetPool
ermittelt. Sie können zusätzliche Präfixe zuweisen, wenn Sie eine SubnetPool
.
Sehen Sie sich das folgende SubnetPool
Beispiel an:
apiVersion: idallocator.contrail.juniper.net/v1 capacity: 262144 count: 157 kind: Pool max: 262143 metadata: creationTimestamp: null name: subnet-id-pool-Subnet-contrail-k8s-kubemanager-ocp-rdang-q8roaw-contrail-default-podnetwork-pod-v4-subnet reserved: - 0 - 262143 - 1
Der capacity
Parameter gibt die Gesamtzahl der möglichen IDs im Pool an. Der count
Parameter gibt die Anzahl der verwendeten IDs im Pool an. Der max
Parameter gibt die maximale Anzahl von IDs an, die aus dem Pool zugewiesen werden können. Eine bestimmte ID wird einer IP-Adresse im Pool zugeteilt Subnet
.
Subnetzübersicht
Es Subnet
handelt sich um einen Block von IP-Adressen und den mit diesen Adressen verknüpften Konfigurationen. A Subnet
basiert auf einer einzelnen Adressfamilie (IPv4, IPv6) gleichzeitig. Sie müssen separate IPv4 und IPv6 Subnets
erstellen. Wenn Sie keins SubnetPool
angeben, werden die Subnet
Funktionen als Contrail Classic IPAM. Das bedeutet, dass dieser Subnet
mit einem einzigen Namespace isoliert ist.
Sehen Sie sich das folgende Subnet
Spezifikationsbeispiel an:
apiVersion: v13 kind: Subnet metadata: name: default-servicenetwork-pod-v4-subnet namespace: contrail-k8s-kubemanager-ocp spec: cidr: 10.128.0.0/16 defaultGateway: 10.128.0.1 ranges: - ipRanges: - from: 10.128.0.0 to: 10.128.0.255 key: contrail-k8s-kubemanager-ocp-user-4yu0qk-ocp-user-4yu0qk-ctrl-1
Die cidr
Parameter und defaultGateway
die Parameter sind die wichtigsten Parameter, die eine Subnet
Ressource definieren. Der cidr
Parameter bestimmt den Bereich der IP-Adresse, die für die Zuordnung in dieser Subnet
. Der defaultGateway
Parameter definiert die IP-Adresse des defaultGateway
für die Subnet
. Die Angabe einer defaultGateway
Adresse ist optional. Wenn Sie keine Adresse angeben defaultGateway
, wird diese automatisch als erste IP-Adresse in der Subnet
.
Eine Kubernetes-Knotenkonfiguration kann einen podCIDR
Konfigurationsparameter haben. Das podCIDR
ist eine Teilmenge von default-podnetwork-subnet
. Wenn dieser podCIDR
vorhanden ist, wird der IP-Adresse eines jeden pods, der auf diesem Knoten erstellt wird, eine IP-Adresse zugewiesen, die von . podCIDR
Wenn keine podCIDR
vorhanden ist, können alle IP-Adressen im CIDR des Subnet
Knotens zugewiesen werden. Der podCIDR
kann auch auf einen Wildcard-Schlüssel verweisen. In diesem Beispiel wählen IP-Adressenzuweisungsanforderungen von IP-Adressen aus, 10.128.0.0
soweit 10.128.0.255
der anfordernde Pod auf dem Knoten mit dem Schlüssel contrail-k8s-kubemanager-ocp-kparmar-4yu0qk-ocp-kparmar-4yu0qk-ctrl-1
erstellt wird.
Alternativ können Sie einen ranges
Parameter definieren. Der ranges
Parameter definiert eine Liste der für die Zuweisung verfügbaren IP-Adresse. Der ranges
Parameter setzt den CIDR-Parameter außer Kraft, wenn er in einer Spezifikation vorhanden ist. Der ranges
Parameter überschreiben den podCIDR
Parameter nicht.
VirtualNetwork – Überblick
Cloud-natives Contrail Networking aktualisiert die Ressource, um mit der VirtualNetwork
IPAM-Implementierung kompatibel zu sein. Sehen Sie sich das folgende Beispiel an:
apiVersion: v3 kind: VirtualNetwork metadata: namespace: contrail name: virtualnetwork-sample spec: v4SubnetReference: apiVersion: core.contrail.juniper.net/v1 kind: Subnet namespace: contrail name: v4subnet v6SubnetReference: apiVersion: core.contrail.juniper.net/v1 kind: Subnet namespace: contrail name: v6subnet
Beachten Sie die separaten Subnet
Verweise für die IPv4-Adressfamilie und die IPv6-Adressfamilie. Sie können die Subnet
Referenz von a VirtualNetwork
nicht über den gesamten Lebenszyklus dieser VirtualNetwork
.
Überblick über die IP-Adressen der BGP-as-a-Service-Sitzung
BGP-as-a-Service (BGPaaS) ermöglicht die Einrichtung einer BGP-Sitzung zwischen einem Steuerknoten zu einer Workload- oder Pod-IP-Adresse. Sie können ein Subnet
erstellen, wobei das DisableBGPaaSIPAutoAllocation
Flag auf false oder true festgelegt ist. Wenn Sie dies DisableBGPaaSIPAutoAllocation
auf false setzen, geschieht Folgendes:
-
Es wird keine IP-Adresse zugewiesen oder
BGPaaSSecondaryIP
sofort zugewiesenBGPaaSPrimaryIP
. Diese IPs werden nur zugewiesen (innerhalb desSubnet
CIDR-Bereichs), wenn die ersteBGPAsAService
innerhalb des Netzwerks dieserSubnet
konfiguriert wird. -
Wenn Sie alle Ressourcen löschen, die
BGPAsAService
mit aSubnet
verknüpft sind, werden die IP-Adressen, die dem Pool zugewiesenBGPaaSPrimaryIP
undBGPaaSSecondaryIP
aus diesem freigegeben werden, auf leere Werte festgelegt. Diese Adressen werden aus dem Pool erneut zugewiesen, wenn eineBGPAsAService
erneut konfiguriert wird.
Wenn Sie das DisableBGPaaSIPAutoAllocation
Flag auf true setzen, geschieht Folgendes:
-
Sie können benutzerdefinierte Werte für die Felder und
BGPaaSSecondaryIP
FelderBGPaaSPrimaryIP
verwenden. Diese IP-Felder sind Pflichtfelder und dürfen nicht leer gelassen werden. Benutzerdefinierte Werte für diese Felder werden ebenfalls imSubnet
Pool reserviert. -
Die für
BGPaaSPrimaryIP
BGPaaSSecondaryIP
denSubnet
Pool verwendeten IP-Adressen bleiben im Pool reserviert, auch wenn keineBGPAsAService
konfiguriert ist oder alleBGPAsAService
Ressourcen gelöscht werden.
Wenn Sie das DisableBGPaaSIPAutoAllocation
Feld von false in true ändern und BGPaaSPrimaryIP
BGPaaSSecondaryIP
zu Pflichtfeldern werden. Wenn die IPs automatisch zugewiesen wurden, bevor sie dieses Flag von false in true ändern, werden diese IPs aus dem Pool freigegeben und neue vom Benutzer bereitgestellte IPs im Pool reserviert.
Wenn Sie von "true" zu "false" wechselnDisableBGPaaSIPAutoAllocation
, geschieht Folgendes:
-
Wenn "no"
BGPAsAService
innerhalb desSubnet
,BGPaaSPrimaryIP
konfiguriert wird undBGPaaSSecondaryIP
Werte aus dem Pool freigegeben werden, werden diese Felder leer. -
Wenn mindestens einer
BGPAsAService
konfiguriert ist, geschieht keine Änderung an den vorhandenen Werten vonBGPaaSPrimaryIP
undBGPaaSSecondaryIP
.
Weitere Informationen zu BGP as a Service (BGPaaS) finden Sie im Abschnitt BGP as a Service aktivieren .