Reportez-vous à l'exemple de YAML pour provisionner un TanzuKubernetesCluster à l'aide de l'API v1alpha3 avec des paramètres réseau personnalisés.

Exemple v1alpha3 : TKC avec paramètres réseau personnalisés

Le réseau est personnalisé comme suit. Pour plus d'informations, reportez-vous à la Spécification de l'API v1alpha3.
  • Le CNI Calico est utilisé à la place de l'Antrea par défaut
  • Les sous-réseaux non définis par défaut pour les espaces et les services sont utilisés
  • Un serveur proxy et des certificats TLS sont déclarés
apiVersion: run.tanzu.vmware.com/v1alpha3
kind: TanzuKubernetesCluster
metadata:
  name: tkc-custom-network
  namespace: tkg2-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
      replicas: 3
      vmClass: guaranteed-medium
      storageClass: tkg-storage-policy
      tkr:
        reference:
          name: v1.25.7---vmware.3-fips.1-tkg.1
      volumes:
      - name: containerd
        mountPath: /var/lib/containerd
        capacity:
          storage: 50Gi
      - name: kubelet
        mountPath: /var/lib/kubelet
        capacity:
          storage: 50Gi
  settings:
    storage:
      defaultClass: tkg-storage-policy
    network:
      cni:
        name: calico
      services:
        cidrBlocks: ["172.16.0.0/16"]
      pods:
        cidrBlocks: ["192.168.0.0/16"]
      serviceDomain: cluster.local
      proxy:
        httpProxy: http://<user>:<pwd>@<ip>:<port>
        httpsProxy: http://<user>:<pwd>@<ip>:<port>
        noProxy: [10.246.0.0/16,192.168.144.0/20,192.168.128.0/20]
      trust:
        additionalTrustedCAs:
          - name: CompanyInternalCA-1
            data: LS0tLS1C...LS0tCg==
          - name: CompanyInternalCA-2
            data: MTLtMT1C...MT0tPg==

Considérations relatives à la personnalisation du réseau de l'espace TKC

Le paramètre de spécification de cluster spec.settings.network.pods.cidrBlocks est défini par défaut sur 192.168.0.0/16.

Si vous personnalisez ce paramètre, la taille minimale de bloc CIDR des espaces est de /24. Cependant, soyez prudent lorsque vous limitez le masque de sous-réseau pods.cidrBlocks au-delà de /16.

TKG alloue à chaque nœud de cluster un sous-réseau /24 alloué à partir de pods.cidrBlocks. Cette allocation est déterminée par le paramètre du gestionnaire de contrôleur Kubernetes NodeIPAMController nommé NodeCIDRMaskSize, qui définit la taille du masque de sous-réseau pour le CIDR de nœud dans le cluster. Le masque de sous-réseau de nœud par défaut est /24 pour IPv4.

Étant donné que chaque nœud d'un cluster obtient un sous-réseau /24 à partir de pods.cidrBlocks, vous pouvez manquer d'adresses IP de nœud si vous utilisez une taille de masque de sous-réseau trop restrictive pour le cluster que vous provisionnez.

Les limites de nœud suivantes s'appliquent à un cluster Tanzu Kubernetes provisionné avec le CNI Antrea ou Calico.

/16 == 150 nœuds max. (selon ConfigMax)

/17 == 128 nœuds max.

/18 == 64 nœuds max.

/19 == 32 nœuds max.

/20 == 16 nœuds max.

/21 == 8 nœuds max.

/22 == 4 nœuds max.

/23 == 2 nœuds max.

/24 == 1 nœud max.