La API v1beta1 se puede utilizar para crear un clúster con una red de pods enrutables. Para ello, se reemplaza el clúster predeterminado con configuraciones personalizadas para AntreaConfig
y VSphereCPIConfig
.
Acerca de las redes de pods enrutables mediante la API v1beta1
El siguiente ejemplo de YAML demuestra cómo utilizar la API v1beta1 para aprovisionar un clúster con una función RoutablePod de Antrea habilitada. Este ejemplo se basa en el ejemplo de v1beta1: clúster predeterminado.
Para habilitar la función RoutablePod, el clúster requiere AntreaConfig
y VSphereCPIConfig
con una configuración especial.
AntreaConfig
debe establecer trafficEncapMode: noEncap
y noSNAT: true
.
VSphereCPIConfig
debe establecer
antreaNSXPodRoutingEnabled: true
,
mode: vsphereParavirtualCPI
y
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
El nombre de AntreaConfig
debe tener el mismo formato que <cluster-name>-antrea-package
. El nombre de VSphereCPIConfig
debe tener el formato <cluster-name>-vsphere-cpi-package
.
Una vez que se hayan creado los archivos de configuración, se crea el objeto de especificación del clúster que hace referencia a los archivos de configuración. Durante la creación del clúster, los archivos de configuración se utilizarán para aprovisionar el clúster y sobrescribir la configuración predeterminada.
Crear una red de pods enrutables: configuración de Supervisor
- Cree un nuevo espacio de nombres de vSphere.
Consulte Crear un espacio de nombres de vSphere para alojar clústeres de Servicio TKG.
- Seleccione la opción de casilla de verificación para Anular configuración de red de supervisor.
Consulte Anular la configuración de la red de cargas de trabajo para un espacio de nombres de vSphere para obtener instrucciones.
- Configure la red de pods enrutables de la siguiente manera.
Campo Descripción Modo NAT Anule la selección de esta opción para deshabilitar la traducción de direcciones de red (NAT). Red de espacio de nombres Rellene este campo con una subred IP enrutable con el formato Dirección IP/Bits (p. ej., 10.0.0.6/16).
NCP creará uno o varios grupos de direcciones IP a partir de los bloques de IP especificados para la red.
Como mínimo, debe especificar un tamaño de subred /23. Por ejemplo, si especifica una subred enrutable /23 con un prefijo de subred /28, obtendrá 32 subredes que deberían ser suficientes para un clúster de 6 nodos. Una subred /24 con un prefijo /28 solo obtendrá 2 subredes, que no son suficientes.
Atención: Asegúrese de que la subred de IP enrutable que agregue no se superponga con el CIDR de servicios que asigna las direcciones IP para los nodos de clúster. Puede comprobar el CIDR de servicios en .Prefijo de subred de espacio de nombres Especifique un prefijo de subred con el formato /28, por ejemplo.
El prefijo de subred se utiliza para dividir la subred del pod para cada nodo de la red de espacio de nombres.
- Haga clic en Crear para crear la red de pods enrutables.
Crear una red de pods enrutables: configuración de un clúster de TKG
El siguiente ejemplo de YAML muestra cómo configurar un clúster v1beta1 con una red de pods enrutables.
spec.clusterNetwork.pod
de la especificación del clúster, ya que cloud-provider-vsphere asignará las direcciones IP del pod.
AntreaConfig
y
VSphereCPIConfig
y después el clúster de 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