本节介绍了与创建 NSX Advanced Load Balancer OpenStack 云相关的高级配置选项。
可以通过 NSX Advanced Load Balancer 云编辑器向导的 OpenStack 选项卡访问高级配置选项,如图中所示:
Security-Groups
默认值为
True
。
security-groups Neutron 扩展支持为输入和输出指定允许的规则。NSX Advanced Load Balancer 将使用此扩展为每个 NSX Advanced Load Balancer 服务引擎 (SE) 创建一个服务组。此服务组是使用所有输出和安全 Shell (SSH) 以及 Internet 控制消息协议 (ICMP) 输入创建的。在创建虚拟服务 (Virtual Service, VS) 并将其放置在该 SE 上时,会将相应的服务端口添加到服务组中。同样,从 SE 中取消放置虚拟服务时,将从服务组中移除相应的服务端口(如果不再被同一 SE 上的任何其他 VS 使用)。在设置为 True
时,将使用 security-group 扩展。如果底层网络插件不支持该功能,除非使用其他方法达到相同的效果,否则,虚拟 IP (VIP) 流量无法正常传输。如果底层网络支持在端口上禁用安全筛选器规则,则可以禁用该选项。
此示例显示了一个 SE 的安全组,其中服务端口为“80”的虚拟服务放置在该 SE 上。
[root@sivacos ~(keystone_admin)]# neutron security-group-list | 5544b75d-2a57-4f56-b1d0-ef68242293ba | avi-se-30af06c4-09c6-4c94-92be-f39d4dfddf91 | egress, IPv4 | | | | egress, IPv6 | | | | ingress, IPv4,22/tcp, remote_ip_prefix: 0.0.0.0/0 | | | | ingress, IPv4,80/tcp, remote_ip_prefix: 0.0.0.0/0 | | | | ingress, IPv4,icmp, remote_ip_prefix: 0.0.0.0/0 |
Anti-Affinity
默认值为
True
。
计算将会使用 nova-scheduler 服务,根据各种条件和筛选器来确定要在其上启动虚拟机 (VM) 的主机。其中一个筛选器 ServerGroupAntiAffinityFilter
可确保反关联性组中的每个实例位于该组的不同主机上。NSX Advanced Load Balancer 会对每个 SE 组使用一个反关联性组,从而允许将 SE 组中的每个 SE 放置在不同的主机上。这样可以在主机发生故障时更好地隔离 SE。如果将此选项设置为 False
,则不会使用反关联性筛选器。如果 nova-compute 只有一个计算节点,则可以禁用此选项。
此示例显示了具有两个 SE 虚拟机的租户中的反关联性组 serviceenginegroup-37dac996-7c88-4761-a920-6dc9d265c786
。
root@node-17:~# nova server-group-list +--------------------------------------+-------------------------+ | ID | Name | Project ID | User ID | Policies | Members | Metadata | +--------------------------------------+-------------------------+ | c605a898-86fa-457f-80c8-f1db21dfb68a | avi-aasg-serviceenginegroup-37dac996-7c88-4761-a920-6dc9d265c786 | fefb594ef03e4670beaffe3305440e24 | aba3667db25e44afb5aff73f3f363027 | [u'anti-affinity'] | [u'd7509390-6afe-4865-ade2-231e9a664421', u'1867c24e-8495-4cbf-80d0-06a2328656c6'] | {} | +--------------------------------------+-------------------------+ root@node-17:~# nova list | egrep "d7509390|1867c24e"| d7509390-6afe-4865-ade2-231e9a664421 | cc_os-se-ozmkj | ACTIVE | - | Running | avimgmt=10.10.44.231 | | 1867c24e-8495-4cbf-80d0-06a2328656c6 | cc_os-se-xmrzn | ACTIVE | - | Running | network-80.21=10.80.21.13;avimgmt=10.10.44.230
External-Networks
默认值为
False
。
如果设置为 True
,此选项将允许为 NSX Advanced Load Balancer 管理、VIP 或数据网络选择标记为“external
”的 OpenStack 网络。
Map-admin-to-cloudadmin
默认值为 False
。
默认情况下,NSX Advanced Load Balancer admin 租户将映射到 OpenStack admin 租户。如果设置为 True
,NSX Advanced Load Balancer admin 租户将映射到在 NSX Advanced Load Balancer 云中配置的 admin_tenant
。这会将与负载均衡器相关的操作直接映射到 OpenStack 中的相应租户上。
Neutron-rbac
默认值为 True
。
默认情况下,NSX Advanced Load Balancer 会查询 Neutron 基于角色的访问控制 (Role-Based Access Control, RBAC) 规则,以检索租户的“可用”网络列表。此列表通常包括租户的网络、与“全部”租户广泛共享的所有非租户网络,以及与使用 RBAC 的租户明确共享的所有非租户网络。此标记在提供程序模式 SE 配置中非常有用,如果设置为 False
,则 RBAC 共享网络不会包含在“可用”列表中。
在 OpenStack 中配置多队列
以下是使用 CLI 在 NSX Advanced Load Balancer 云中配置多队列属性的步骤(该示例中的云名称为 Default-Cloud):
在 SE 组中,参数 max_queues_per_vnic 是一个引导属性。此标记是服务引擎组引导属性,如果激活或停用此标记,将需要重新引导相应服务引擎组下的所有服务引擎。
[admin:avi-controller]: > configure cloud Default-Cloud [admin:avi-controller]: cloud> openstack_configuration [admin:avi-controller]: cloud:openstack_configuration> custom_se_image_properties New object being created [admin:avi-controller]: cloud:openstack_configuration:custom_se_image_properties> name hw_vif_multiqueue_enabled [admin:avi-controller]: cloud:openstack_configuration:custom_se_image_properties> value true [admin:avi-controller]: cloud:openstack_configuration:custom_se_image_properties> save [admin:avi-controller]: cloud:openstack_configuration> save [admin:avi-controller]: cloud> save
以下是移除配置的步骤:
[admin:avi-controller]: > configure cloud Default-Cloud [admin:avi-controller]: cloud> openstack_configuration [admin:avi-controller]: cloud:openstack_configuration> no custom_se_image_properties name hw_vif_multiqueue_enabled Removed custom_se_image_properties with name=hw_vif_multiqueue_enabled +-------------------------+-------------------------------+ | Field | Value | +-------------------------+-------------------------------+ | username | admin | | password | | | admin_tenant | admin | | mgmt_network_name | public | | privilege | WRITE_ACCESS | | use_keystone_auth | True | | region | RegionOne | | hypervisor | KVM | | tenant_se | True | | import_keystone_tenants | True | | anti_affinity | True | | security_groups | True | | allowed_address_pairs | True | | free_floatingips | False | | img_format | OS_IMG_FMT_AUTO | | use_admin_url | True | | role_mapping[1] | | | os_role | * | | avi_role | Tenant-Admin | | use_internal_endpoints | False | | config_drive | True | | auth_url | http://10.79.170.82:5000/v2.0 | | insecure | False | | external_networks | True | | neutron_rbac | True | | map_admin_to_cloudadmin | False | | contrail_plugin | False | | contrail_endpoint | http://10.79.170.82:8082 | | name_owner | True | | contrail_disable_policy | False | +-------------------------+-------------------------------+ [admin:avi-controller]: cloud:openstack_configuration> save [admin:avi-controller]: cloud> save</code></pre>