vSphere IaaS control plane 不支援編輯 NCP 組態檔 ncp.ini
。您可以在 NCP 中建立自訂資源定義 (CRD),以設定網路參數和負載平衡器參數。
NCPSetting CRD
建立 NCPSetting CRD,並為 NCP 組態設定值。
下表介紹了使用者可以設定的網路參數和負載平衡器參數:
參數 | 說明 |
---|---|
log_dropped_traffic | 指示是否記錄分散式防火牆拒絕規則。 值: 預設值為 |
log_firewall_traffic | 指示是否記錄 DFW 規則。
值為:
|
pool_algorithm | 此選項用於在負載平衡器集區物件中設定負載平衡演算法。
值為:
預設值為 Round-Robin。 |
service_size | 此選項用於設定負載平衡器大小。 值為 預設值為 |
l7_persistence | 此選項用於設定負載平衡器持續性選項。
值為:
|
l7_persistence_timeout | L7 持續性設定檔上的持續性逾時值 (以秒為單位)。 |
cookie_name | 當 l7_persistence type 設定為 cookie 時,指定 cookie 名稱。 |
x_forward_for | 為輸入中的標頭啟用 X_forward_for。
值為:
|
snat_rule_logging | 此選項用於選取 SNAT 規則的記錄。
值為:
|
vs_access_log | 記錄入口和路由的虛擬伺服器內容。
值為:
預設值為 |
ip_reallocation_time | 可重新配置已釋放的 IP 之前的時間 (以秒為單位)。 |
如需有關 NCP 和 NSX 物件的詳細資訊,請參閱 NSX 說明文件。
執行下列步驟以啟用此功能:
- 將 enable_ncp_setting_crd 設定為 True。
- 使用以下範本建立 YAML 檔案:
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
例如: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
- 使用下列命令套用 YAML 檔案:
kubectl apply -f ncp-setting-crd.yaml.j2
為防止多個 CRD 覆寫相同的組態值,NCP 僅處理名稱為 ncp-setting-crd 的 CRD 物件。具有不同名稱的其他 CRD 將標註為有錯誤,NCP 不會處理這些 CRD。
覆寫 NCP 組態
CRD 中的組態參數可能具有相應的
NSX 物件。建立 CRD 以覆寫參數時,CRD 不會變更物件中的參數,下列情況除外:
- l7_persistence、l7_persistence_timeout 和 cookie_name。如果透過 CRD 變更了 l7_persistence,NCP 會使用值 l7_persistence、l7_persistence_timeout 和 cookie_name 建立新的持續性設定檔。
如果透過 CRD 變更了 l7_persistence_timeout 和 cookie_name,則會根據新值更新現有設定檔。
- x_forwarded_for.如果透過 CRD 變更了 x_forwarded_for,NCP 會根據其值建立新的應用程式設定檔。
- vs_access_log.如果透過 CRD 變更了 vs_access_log,NCP 會相應地更新虛擬伺服器的記錄選項。