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 会相应地更新虚拟服务器的日志记录选项。