vSphere IaaS control plane unterstützt nicht die Bearbeitung der NCP-Konfigurationsdatei ncp.ini. Sie können CustomResourceDefinitions (CRDs) in NCP erstellen, um Netzwerk- und Lastausgleichsdienstparameter zu konfigurieren.

NCPSetting-CRD

Erstellen Sie eine NCPSetting-CRD und legen Sie Werte für die NCP-Konfiguration fest.

In der folgenden Tabelle werden die Netzwerk- und Lastausgleichsdienstparameter beschrieben, die Sie konfigurieren können:
Parameter Beschreibung
log_dropped_traffic Gibt an, ob DENY-Regeln für verteilte Firewalls protokolliert werden.

Werte: True, False

Der Standardwert lautet false.

log_firewall_traffic Gibt an, ob DFW-Regeln protokolliert werden.
Werte sind:
  • ALL. Aktiviert die Protokollierung für alle DFW-Regeln.
  • DENY. Aktiviert die Protokollierung nur für DENY-Regeln.
pool_algorithm Option zum Festlegen des Lastausgleichsalgorithmus im Poolobjekt des Lastausgleichsdiensts.
Werte sind:
  • Round_Robin
  • Weighted_Round_Robin
  • Least_Connection
  • Weighted_Least_Connection
  • IP-Hash

Der Standardwert ist Round-Robin.

service_size Option zum Festlegen der Größe des Lastausgleichsdiensts.

Werte sind Small, Medium und Large.

Der Standardwert lautet Small.

l7_persistence Option zum Festlegen der Persistenzoption des Lastausgleichsdiensts.
Werte sind:
  • cookie.
  • source_ip
l7_persistence_timeout Persistenz-Zeitüberschreitungswert in Sekunden für das L7-Persistenzprofil.
cookie_name Geben Sie einen Cookie-Namen an, wenn l7_persistence type auf cookie festgelegt ist.
x_forward_for Aktivieren Sie X_forward_for für Kopfzeilen im Ingress.
Werte sind:
  • Insert
  • Replace
snat_rule_logging Option zur Auswahl der Protokollierung für SNAT-Regeln.
Werte sind:
  • None
  • Basic. Protokollierung für alle NamespacesNamensräume.
  • Extended. Protokollierung für alle Namespaces Namensräume und Dienste.
vs_access_log Protokolleigenschaften des virtuellen Servers für Ingress und Route.
Werte sind:
  • VS_access_log_none
  • access_log_enabled. Aktiviert die Protokollierung für den virtuellen Layer 7-Server.
  • log_significant_event_only. Anforderungen mit einem HTTP-Antwortstatus >=400 werden als wichtiges Ereignis behandelt.

Der Standardwert lautet VS_access_log_none.

ip_reallocation_time Zeit in Sekunden, bevor eine freigegebene IP-Adresse neu zugewiesen werden kann.

Weitere Informationen zu NCP- und NSX-Objekten finden Sie in der NSX-Dokumentation.

Führen Sie die folgenden Schritte aus, um diese Funktion zu aktivieren:
  1. Legen Sie enable_ncp_setting_crd auf True fest.
  2. Erstellen einer YAML-Datei mit der folgenden Vorlage:
    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
    Beispiel:
    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. Wenden Sie die YAML-Datei mit dem folgenden Befehl an:

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

Um zu verhindern, dass mehrere CRDs denselben Konfigurationswert überschreiben, verarbeitet NCP nur das CRD-Objekt mit dem Namen ncp-setting-crd. Andere CRDs mit unterschiedlichen Namen werden mit Fehlern vermerkt, und NCP verarbeitet diese CRDs nicht.

NCP-Konfiguration wird überschrieben

Die Konfigurationsparameter in der CRD haben möglicherweise entsprechende NSX-Objekte. Wenn Sie eine CRD erstellen, um die Parameter zu überschreiben, ändert die CRD die Parameter in den Objekten nicht, außer in folgenden Fällen:
  • l7_persistence, l7_persistence_timeout und cookie_name. Wenn l7_persistence von der CRD geändert wird, erstellt NCP ein neues Persistenzprofil mit den Werten von l7_persistence, l7_persistence_timeout und cookie_name.

    Wenn l7_persistence_timeout und cookie_name über die CRD geändert werden, wird das vorhandene Profil basierend auf den neuen Werten aktualisiert.

  • x_forwarded_for. Wenn x_forwarded_for von der CRD geändert wird, erstellt NCP ein neues Anwendungsprofil basierend auf seinem Wert.
  • vs_access_log. Wenn vs_access_log durch die CRD geändert wird, aktualisiert NCP die Protokollierungsoption der virtuellen Server entsprechend.