vSphere IaaS control plane non supporta la modifica del file di configurazione di NCP ncp.ini. È possibile creare CRD (CustomResourceDefinitions) in NCP per configurare i parametri di rete e del bilanciamento del carico.

CRD NCPSetting

Creare una CRD NCPSetting e impostare i valori per la configurazione di NCP.

La tabella seguente descrive i parametri di rete e bilanciamento del carico che è possibile configurare:
Parametro Descrizione
log_dropped_traffic Indica se le regole DENY del firewall distribuito vengono registrate.

Valori: True, False

Il valore predefinito è false

log_firewall_traffic Indica se le regole DFW vengono registrate.
I valori sono:
  • ALL. Abilita la registrazione di tutte le regole DFW.
  • DENY. Abilita la registrazione solo delle regole DENY.
pool_algorithm Opzione per impostare l'algoritmo di bilanciamento del carico nell'oggetto pool del bilanciamento del carico.
I valori sono:
  • Round_Robin
  • Weighted_Round_Robin
  • Least_Connection
  • Weighted_Least_Connection
  • IP-Hash

Il valore predefinito è Round-Robin.

service_size Opzione per impostare le dimensioni del bilanciamento del carico.

I valori sono Small, Medium e Large.

Il valore predefinito è Small.

l7_persistence Opzione per impostare l'opzione di persistenza del bilanciamento del carico.
I valori sono:
  • cookie.
  • source_ip
l7_persistence_timeout Valore del timeout della persistenza in secondi nel profilo di persistenza L7.
cookie_name Specifica un nome di cookie quando l7_persistence type è impostato su cookie.
x_forward_for Abilita X_forward_for per le intestazioni in ingresso.
I valori sono:
  • Insert
  • Replace
snat_rule_logging Opzione per selezionare la registrazione per le regole SNAT.
I valori sono:
  • None
  • Basic. Registrazione per tutti gli spazi dei nomi.
  • Extended. Registrazione per tutti gli spazi dei nomi e i servizi.
vs_access_log Proprietà del registro del server virtuale per l'ingresso e la route.
I valori sono:
  • VS_access_log_none
  • access_log_enabled. Abilita la registrazione per il server virtuale di livello 7.
  • log_significant_event_only. Le richieste con uno stato di risposta HTTP >=400 vengono trattate come evento significativo.

Il valore predefinito è VS_access_log_none.

ip_reallocation_time Tempo, in secondi, che deve trascorrere prima che un IP rilasciato possa essere riallocato.

Per ulteriori informazioni su NCP e gli oggetti NSX, vedere la documentazione di NSX.

Per abilitare questa funzionalità, eseguire i passaggi seguenti:
  1. Impostare enable_ncp_setting_crd su True.
  2. Creare un file YAML con il modello seguente:
    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
    Ad esempio:
    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. Applicare il file YAML con il comando seguente:

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

Per impedire che più CRD sostituiscano lo stesso valore di configurazione, NCP elabora solo l'oggetto CRD con nome ncp-setting-crd. Le altre CRD con nomi diversi vengono annotate con errori e NCP non elabora tali CRD.

Sostituzione della configurazione di NCP

I parametri di configurazione in CRD potrebbero avere oggetti NSX corrispondenti. Quando si crea una CRD per sostituire i parametri, la CRD non modifica i parametri negli oggetti, ad eccezione dei casi seguenti:
  • l7_persistence, l7_persistence_timeout e cookie_name. Se l7_persistence viene modificato da CRD, NCP crea un nuovo profilo di persistenza con i valori di l7_persistence, l7_persistence_timeout e cookie_name.

    Se l7_persistence_timeout e cookie_name vengono modificati tramite CRD, il profilo esistente viene aggiornato in base ai nuovi valori.

  • x_forwarded_for. Se x_forwarded_for viene modificato da CRD, NCP crea un nuovo profilo applicazione in base al suo valore.
  • vs_access_log. Se vs_access_log viene modificato da CRD, NCP aggiorna l'opzione di registrazione dei server virtuali di conseguenza.