Sie können die v1beta1-API verwenden, um ein Cluster-Netzwerk mit routingfähigen Pods zu erstellen. Dazu überschreiben Sie den Standardcluster mit benutzerdefinierten Konfigurationen für AntreaConfig
und VSphereCPIConfig
.
Informationen zu routingfähigen Pods-Netzwerken mithilfe der v1beta1-API
Die folgende Beispiel-YAML veranschaulicht, wie Sie mit der v1beta1-API einen Cluster mit der aktivierten Antrea RoutablePod-Funktion bereitstellen. Dieses Beispiel basiert auf dem v1beta1-Beispiel: Standardcluster.
Um die Routing-Pod-Funktion zu aktivieren, benötigt der Cluster AntreaConfig
und VSphereCPIConfig
mit einer speziellen Konfiguration.
Der AntreaConfig
muss trafficEncapMode: noEncap
und noSNAT: true
festlegen.
VSphereCPIConfig
muss
antreaNSXPodRoutingEnabled: true
,
mode: vsphereParavirtualCPI
und festlegen.
tlsCipherSuites: TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
Der Name der AntreaConfig
muss genau als <cluster-name>-antrea-package
formatiert werden. Der Name der VSphereCPIConfig
muss genau als <cluster-name>-vsphere-cpi-package
formatiert werden.
Erstellen Sie die Konfigurationsdateien, erstellen Sie das Clusterspezifikationsobjekt, das auf die Konfigurationsdateien verweist. Während der Clustererstellung werden die Konfigurationsdateien verwendet und um den Cluster bereitzustellen und die Standardkonfiguration zu überschreiben.
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 Deaktivieren Sie diese Option, um die Netzwerkadressübersetzung (Network Address Translation, NAT) zu deaktivieren. Namespace-Netzwerk 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.
Achtung: Stellen Sie sicher, dass sich das von Ihnen hinzugefügte routingfähige IP-Netzwerk nicht mit dem CIDR der Dienste überschneidet, der die IP-Adressen für Clusterknoten zuweist. Sie können den CIDR der Dienste unter überprüfen.Namespace-Subnetzpräfix Geben Sie beispielsweise ein Subnetzpräfix im Format „/28“ an.
Das Subnetzpräfix wird verwendet, um das Pod-Subnetz für jeden Knoten aus dem Namespace-Netzwerk zu entfernen.
- 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 v1beta1-Cluster mit einem Netzwerk routingfähiger Pods konfiguriert wird.
spec.clusterNetwork.pod
aus der Clusterspezifikation entfernen, da die Pod-IP-Adressen von cloud-provider-vsphere zugeteilt werden.
AntreaConfig
, dann die benutzerdefinierte Ressource
VSphereCPIConfig
und danach den Cluster target-cluster.
--- apiVersion: cni.tanzu.vmware.com/v1alpha1 kind: AntreaConfig metadata: name: target-cluster-antrea-package spec: antrea: config: defaultMTU: "" disableUdpTunnelOffload: false featureGates: AntreaPolicy: true AntreaProxy: true AntreaTraceflow: true Egress: false EndpointSlice: true FlowExporter: false NetworkPolicyStats: false NodePortLocal: false noSNAT: true tlsCipherSuites: TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_256_GCM_SHA384 trafficEncapMode: noEncap --- apiVersion: cpi.tanzu.vmware.com/v1alpha1 kind: VSphereCPIConfig metadata: name: target-cluster-vsphere-cpi-package spec: vsphereCPI: antreaNSXPodRoutingEnabled: true insecure: false mode: vsphereParavirtualCPI tlsCipherSuites: TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 --- apiVersion: cluster.x-k8s.io/v1beta1 kind: Cluster metadata: name: target-cluster spec: clusterNetwork: services: cidrBlocks: ["198.51.100.0/12"] serviceDomain: "cluster.local" topology: class: tanzukubernetescluster version: v1.25.7---vmware.3-fips.1-tkg.1 controlPlane: replicas: 3 workers: machineDeployments: - class: node-pool name: node-pool-1 replicas: 3 variables: - name: vmClass value: guaranteed-medium - name: storageClass value: tkg2-storage-policy