vSphere IaaS control plane ne prend pas en charge la modification du fichier de configuration NCP ncp.ini. Vous pouvez créer des CustomResourceDefinitions (CRD) dans NCP pour configurer les paramètres réseau et d'équilibreur de charge.

CRD NCPSetting

Créez une CRD NCPSetting et définissez des valeurs pour la configuration NCP.

Le tableau suivant décrit les paramètres réseau et d'équilibreur de charge que vous pouvez configurer :
Paramètre Description
log_dropped_traffic Indiquez si les règles DENY de pare-feu distribué sont consignées.

Valeurs : True, False

Valeur par défaut : false

log_firewall_traffic Indiquez si les règles DFW sont consignées.
Les valeurs sont les suivantes :
  • ALL. Active la journalisation pour toutes les règles DFW.
  • DENY. Active la journalisation uniquement pour les règles DENY.
pool_algorithm Cette option permet de définir l'algorithme d'équilibrage de charge dans l'objet de pool d'équilibreur de charge.
Les valeurs sont les suivantes :
  • Round_Robin
  • Weighted_Round_Robin
  • Least_Connection
  • Weighted_Least_Connection
  • IP-Hash

La valeur par défaut Round-Robin.

service_size Cette option permet de définir la taille de l'équilibreur de charge.

Les valeurs sont Small, Medium et Large.

La valeur par défaut est Small.

l7_persistence Cette option permet de définir l'option de persistance de l'équilibreur de charge.
Les valeurs sont les suivantes :
  • cookie.
  • source_ip
l7_persistence_timeout Valeur du délai d'expiration de persistance en secondes sur le profil de persistance de couche 7.
cookie_name Spécifiez un nom de cookie lorsque l7_persistence type est défini sur cookie.
x_forward_for Activez X_forward_for pour les en-têtes d'entrée.
Les valeurs sont les suivantes :
  • Insert
  • Replace
snat_rule_logging Cette option permet de sélectionner la journalisation pour les règles SNAT.
Les valeurs sont les suivantes :
  • None
  • Basic. Journalisation pour tous les espaces de noms.
  • Extended. Journalisation pour tous les espaces de noms et services.
vs_access_log Propriétés de journal du serveur virtuel pour l'entrée et le routage.
Les valeurs sont les suivantes :
  • VS_access_log_none
  • access_log_enabled. Active la journalisation pour le serveur virtuel de couche 7.
  • log_significant_event_only. Les demandes avec un état de réponse HTTP de > = 400 sont considérées comme un événement significatif.

La valeur par défaut est VS_access_log_none.

ip_reallocation_time Durée en secondes avant qu'une adresse IP libérée puisse être réaffectée.

Pour plus d'informations sur les objets NCP et NSX, consultez la documentation de NSX.

Effectuez les étapes suivantes pour activer cette fonctionnalité :
  1. Définissez le paramètre enable_ncp_setting_crd sur True.
  2. Créez un fichier YAML avec le modèle suivant :
    apiVersion: apiextensions.k8s.io/v1
    kind: CustomResourceDefinition
    metadata:
      name: ncpsettings.vmware.com
    spec:
      group: vmware.com
      versions:
        - name: v1
          served: true
          storage: true
          schema:
            openAPIV3Schema:          
              type: object
                properties:
                  spec:
                    type: object
                    properties:
                      nsx_v3:
                        type: object
                        properties:
                          log_dropped_traffic:
                            description: 'Indicates whether distributed firewall DENY rules are logged.'
                            type: boolean
                          log_firewall_traffic:
                            description: 'Indicate whether DFW rules are logged.'
    ........ All configs that are allow to be configured via CRD........
                           
      scope: Cluster
      names:
        plural: ncpsettings
        singular: ncpsetting
        kind: NCPSetting
        shortNames:
        - ncpstg
    Par exemple :
    apiVersion: vmware.com/v1alpha2
    kind: NCPSetting
    metadata:
        name: ncp-setting-crd
    spec:
        nsx_v3:
            log_dropped_traffic: True
            log_firewall_traffic: ALL
            pool_algorithm: Round_Robin
            l7_persistence: cookie
            x_forwarded_for: Insert
  3. Appliquez le fichier YAML à l'aide de la commande suivante :

    kubectl apply -f ncp-setting-crd.yaml.j2

Pour empêcher que plusieurs CRD ne remplacent la même valeur de configuration, NCP traite uniquement l'objet CRD portant le nom ncp-setting-crd. Les autres CRD portant des noms différents sont annotées avec des erreurs et NCP ne les traite pas.

Remplacement de la configuration NCP

Les paramètres de configuration dans la CRD peuvent avoir des objets NSX correspondants. Lorsque vous créez une CRD pour remplacer les paramètres, celle-ci ne modifie pas les paramètres dans les objets, sauf dans les cas suivants :
  • l7_persistence, l7_persistence_timeout et cookie_name. Si le paramètre l7_persistence est modifié par la CRD, NCP crée un nouveau profil de persistance avec les valeurs de l7_persistence, l7_persistence_timeout et cookie_name.

    Si le l7_persistence_timeout et le cookie_name sont modifiés via la CRD, le profil existant est mis à jour en fonction des nouvelles valeurs.

  • x_forwarded_for. Si le paramètre x_forwarded_for est modifié par la CRD, NCP crée un profil d'application en fonction de sa valeur.
  • vs_access_log. Si le paramètre vs_access_log est modifié par la CRD, NCP met à jour l'option de journalisation des serveurs virtuels en conséquence.