Sie können einen Tanzu Kubernetes-Cluster (TanzuKubernetesCluster) mit routingfähigen Pods-Netzwerken erstellen, indem Sie ein routingfähiges Namespace-Netzwerk auf Supervisor konfigurieren und antrea-nsx-routed
als CNI für den Cluster angeben.
Informationen zum Netzwerk von routingfähigen Pods
Wenn Sie einen Tanzu Kubernetes-Cluster mithilfe der Plug-Ins antrea
oder calico
bereitstellen, erstellt das System das Standardnetzwerk für Pods 192.168.0.0/16
. Dieses Subnetz ist ein privater Adressbereich, der nur innerhalb des Clusters eindeutig und nicht im Netzwerk routingfähig ist.
Die TKG-v1alpha3-API unterstützt routingfähige Pod-Netzwerke mithilfe des antrea-nsx-routed
-CNI-Plug-Ins. Diese Netzwerkschnittstelle ist ein angepasstes Antrea-Plug-In, das zur Unterstützung routingfähiger Pod-Netzwerke für TKG-Cluster konfiguriert ist. In der Clusterspezifikation muss das Feld „pods CIDR blocks“ explizit Null sein, damit die IP-Adressenverwaltung (IP Address Management, IPAM) vom Supervisor verarbeitet wird. Weitere Informationen finden Sie in dem folgenden Beispiel.
- Der Datenverkehr ist zwischen einem TKG-Cluster-Pod und einem vSphere Pod in demselben vSphere-Namespace zulässig.
- Der Datenverkehr wird zwischen einem TKG-Cluster-Pod und einem vSphere Pod in demselben vSphere-Namespaces gelöscht.
- Knoten der Supervisor-Steuerungsebene können TKG-Cluster-Pods erreichen.
- TKG-Cluster-Pods können das externe Netzwerk erreichen.
- Externes Netzwerk kann TKG-Cluster-Pods nicht erreichen. Der Datenverkehr wird von den Isolierungsregeln der verteilten Firewall (DFW) auf den Clusterknoten verworfen.
Erstellen eines routingfähigen Pod-Netzwerks: Supervisor-Konfiguration
- Erstellen Sie einen neuen vSphere-Namespace.
Weitere Informationen finden Sie unter Erstellen eines vSphere-Namespace für das Hosting von TKG-Dienst-Clustern.
- Aktivieren Sie das Kontrollkästchen Supervisor-Netzwerkeinstellungen außer Kraft setzen.
Weitere Informationen finden Sie unter Überschreiben der Einstellungen für das Arbeitslastennetzwerk für einen vSphere-Namespace.
- Konfigurieren Sie das routingfähige Pod-Netzwerk wie folgt.
Bereich Beschreibung NAT-Modus Da Sie ein routingfähiges Subnetz verwenden, deaktivieren Sie diese Option, um die Netzwerkadressübersetzung (Network Address Translation, NAT) zu deaktivieren. Namespace-Netzwerk-CIDR Das Namespace-Netzwerk-CIDR ist ein Subnetz, das als IP-Pool für den vSphere-Namespace betrieben wird. Mit dem Namespace-Subnetzpräfix wird die Größe eines beliebigen nachfolgenden CIDR-Blocks beschrieben, der aus diesem IP-Pool entfernt wird.
Befüllen Sie dieses Feld mit einem routingfähigen IP-Subnetz im Format „IP-Adresse/Bit“ (z. B. 10.0.0.6/16). NCP erstellt einen oder mehrere IP-Pools aus den für das Netzwerk angegebenen IP-Blöcken.
Sie sollten mindestens eine /23-Subnetzgröße angeben. Wenn Sie beispielsweise ein routingfähiges /23-Subnetz mit einem /28-Subnetzpräfix angeben, erhalten Sie 32 Subnetze, die für einen Cluster mit 6 Knoten ausreichen sollten. Ein /24-Subnetz mit einem /28-Präfix ergibt nur 2 Subnetze, die nicht ausreichen.
Namespace-Subnetzpräfix Mit dem Namespace-Subnetzpräfix wird die Größe eines beliebigen nachfolgenden CIDR-Blocks beschrieben, der aus diesem IP-Pool des Namespace-Netzwerks entfernt wird.
Geben Sie beispielsweise ein Subnetzpräfix im Format „/28“ an.
- Klicken Sie auf Erstellen, um ein Netzwerk routingfähiger Pods zu erstellen.
Erstellen eines routingfähigen Pod-Netzwerks: TKG-Clusterkonfiguration
Die folgende Beispiel-YAML zeigt, wie ein Cluster mit einem Netzwerk routingfähiger Pods konfiguriert wird.
Die Clusterspezifikation deklariert antrea-nsx-routed
als CNI, um Netzwerke routingfähiger Pods zu aktivieren. Wenn antrea-nsx-routed
angegeben ist, schlägt die Clusterbereitstellung fehl, wenn kein NSX-T-Netzwerk verwendet wird.
antrea-nsx-routed
“ angegeben ist, muss das Feld „
pods.cidrBlock
“ leer sein.
apiVersion: run.tanzu.vmware.com/v1alpha3 kind: TanzuKubernetesCluster metadata: name: tkc-routable-pods namespace: tkg-cluster-ns spec: topology: controlPlane: replicas: 3 vmClass: guaranteed-medium storageClass: tkg-storage-policy tkr: reference: name: v1.25.7---vmware.3-fips.1-tkg.1 nodePools: - name: worker-nodepool-a1 replicas: 3 vmClass: guaranteed-large storageClass: tkg-storage-policy tkr: reference: name: v1.25.7---vmware.3-fips.1-tkg.1 settings: storage: defaultClass: tkg-storage-policy network: #antrea-nsx-routed is the required CNI cni: name: antrea-nsx-routed services: cidrBlocks: ["10.97.0.0/24"] #pods.cidrBlocks must be null (empty) pods: cidrBlocks: serviceDomain: cluster.local