基于 BGP 的虚拟服务意味着,VIP 是通过 BGP 通告的。对于所有启用了“通告 VIP”字段的对等体,将通告相应的 VIP。
您可以使用标签选择要通告的 VIP。在配置 VSVIP 时,您可以定义所有具有特定标签的对等体必须通告特定的 VIP。只有在虚拟服务标签与对等体的标签匹配时,前端的每个对等体才会从虚拟服务收到 VIP 路由通告。
考虑一个示例,其中
一个 SE 连接到三个前端路由器:FE-Router-1、FE-Router-2 和 FE-Router-3。
FE-Router-1、FE-Router-2 和 FE-Router-3 分别具有 Peer1、Peer2 和 Peer3 标签。
在 Global VRF 中具有三个虚拟服务:VS1、VS2 和 VS3。
为 VS1 (1.1.1.1) 配置了 Peer1 标签。这意味着,将向 Peer1 通告该虚拟服务。
同样,根据标签定义,将向 Peer2 通告 VS2,而向 Peer3 通告 VS 3。
每次为虚拟服务启用 BGP 时,将向所有前端路由器通告 VIP。不过,此处仅向选定的对等体通告 VIP。
为了实现该目的,在 VSVIP 对象配置中引入了标签列表 bgp_peer_labels
。
VsVip.bgp_peer_labels
是唯一字符串列表(最多 128 个字符串)。
每个字符串的长度最多可以为 128 个字符。标签可以由大小写字母、数字、下划线和连字符组成。
如果 VSVIP 没有任何标签,将向
advertise_vip
设置为 True 的所有 BGP 对等体通告该 VIP。如果 VSVIP 具有
bgp_peer_labels
,advertise_vip
字段设置为 True 并且标签与bgp_peer_labels
匹配的对等体将收到 VIP 通告。不过,如果 BGP 对等体配置没有标签或标签不匹配,对等体将不会收到 VIP 通告。
配置 BGP 对等标签
考虑一个示例,其中 VS1 是具有 VSVIP vs1-vsvsip
的 BGP 虚拟服务。
Global VRF 具有一个没有任何标签的对等体。
要启用选择性 VIP 通告,请为该对等体添加 Peer1 标签,并在 VsVip.bgp_peer_labels
中添加 Peer1 标签。
为 VRF 配置 BGP 对等体
以下是从 NSX Advanced Load Balancer UI 中配置 BGP 对等体标签的步骤:
导航到创建。
。单击选中启用 BGP 对等连接复选框以指定 BGP 相关详细信息,例如:
BGP 自治系统 ID
BGP 对等体类型
对等体的保持活动状态间隔
对等体的保持时间
要用于通告的路由的本地首选项。
必须考虑本地 AS 的次数。
选择用于向该对等体通告路由的标签。
选择放置网络。
启用向对等体通告 VIP 选项。
单击保存。
或者,也可以使用 CLI 配置 BGP 对等体,如下所示:
configure vrfcontext global Updating an existing object. Currently, the object is: +----------------------------+------------------------------------------+ | Field | Value | +----------------------------+------------------------------------------+ | uuid | vrfcontext-a1c097dd-f58e-45ca-b90a-6de72a4fd19d | | name | global | | bgp_profile | | | local_as | 65000 | | ibgp | True | | peers[1] | | | remote_as | 65000 | | peer_ip | 10.10.114.19/24 | | subnet | 10.10.114.0/24 | | bfd | True | | network_ref | vxw-dvs-34-virtualwire-15-sid-1060014-blr-01-vc06-avi-dev010 | | advertise_vip | True | | advertise_snat_ip | True | | advertisement_interval | 5 | | connect_timer | 10 | | ebgp_multihop | 0 | | shutdown | False | | keepalive_interval | 60 | | hold_time | 180 | | send_community | True | | shutdown | False | | system_default | True | | lldp_enable | True | | tenant_ref | admin | | cloud_ref | Default-Cloud | +----------------------------+------------------------------------------+ [admin:]: vrfcontext> bgp_profile [admin:]: vrfcontext:bgp_profile> peers index 1 [admin:]: vrfcontext:bgp_profile:peers> label Peer1 [admin:]: vrfcontext:bgp_profile:peers> save [admin:]: vrfcontext:bgp_profile> save [admin:]: vrfcontext> save
配置 VSVIP 1
从 NSX Advanced Load Balancer 的 VS VIP 创建屏幕中,根据需要添加 BGP 对等体标签:
configure vsvip vs1-vsvip Updating an existing object. Currently, the object is: +-----------------------------+-----------------------------------------+ | Field | Value | +-----------------------------+-----------------------------------------+ | uuid | vsvip-0cab1bbb-d474-4365-8ba4-9d6a3f0add34 | | name | vs1-vsvip | | vip[1] | | | vip_id | 0 | | ip_address | 1.1.1.1 | | enabled | True | | auto_allocate_ip | False | | auto_allocate_floating_ip | False | | avi_allocated_vip | False | | avi_allocated_fip | False | | auto_allocate_ip_type | V4_ONLY | | prefix_length | 32 | | vrf_context_ref | global | | east_west_placement | False | | tenant_ref | admin | | cloud_ref | Default-Cloud | +-----------------------------+-----------------------------------------+ [admin:]: vsvip> bgp_peer_labels Peer1 [admin:]: vsvip> save
注意事项
该功能仅适用于 BGP 虚拟服务。对于不使用 BGP 的虚拟服务,无法启用
bgp_peer_labels
字段。在配置了选择性 VIP 通告时,无法启用
use_vip_as_snat
选项。
基于 BGP 标签的虚拟服务放置
在 NSX Advanced Load Balancer 21.1.4 版本之前,BGP 虚拟服务放置限制为最多 4 个不同的对等网络,并且无法感知标签。如果具有超过 4 个不同的对等网络,控制器将从中随机选择任意 4 个网络。
从 NSX Advanced Load Balancer 21.1.4 版本开始,虚拟服务放置是基于 BGP 对等体标签配置进行的。
用例 1:带有标签 X 的虚拟服务 VIP 只能放置在与包含标签 X 的对等体建立 BGP 对等连接的 SE 上。
VRF
BGP 对等体标签
VSVIP BGP 对等体标签
网络 1
标签 1
标签 1
网络 2
标签 2
标签 2
网络 3
标签 3
标签 3
网络 4
标签 4
标签 4
网络 5
标签 5
在该用例中,虚拟服务放置在网络 1、网络 2、网络 3 和网络 4 上。
用例 2:没有标签的虚拟服务 VIP 可以放置在与任何子网中的对等体建立 BGP 对等连接的 SE 上。即,如果 BGP 对等体具有标签,但 BGP 虚拟服务 VIP 没有标签,则通告将虚拟服务 VIP 放置在所有对等体网卡(最多 4 个不同的对等网络)上。
VRF
BGP 对等体标签
VSVIP BGP 对等体标签
网络 1
标签 1
网络 2
标签 2
网络 3
标签 3
网络 4
标签 4
网络 5
标签 5
在该用例中,虚拟服务随机放置在 4 个网络中的任一网络上。
用例 3:如果稍后更新虚拟服务 VIP 以与一个标签相关联,则 SE 接收虚拟服务
SE_List
更新,从所有其他对等体中撤消该 VIP,并仅将其放置在与具有匹配标签的对等体相关的网卡上(中断性更新)。例如,初始配置如下所示:VRF
BGP 对等体标签
VSVIP BGP 对等体标签
网络 1
标签 1
标签 1
网络 2
标签 2
标签 2
网络 3
标签 3
标签 3
网络 4
标签 4
网络 5
标签 5
注:如果在 VS VIP 上进行更新以与这些标签相关联,将导致中断性的虚拟服务更新。
更新的配置如下所示:VRF
BGP 对等体标签
VSVIP BGP 对等体标签
网络 1
标签 1
标签 1
网络 2
标签 2
标签 2
网络 3
标签 3
标签 3
网络 4
标签 4
标签 4
网络 5
标签 5
用例 4:如果从虚拟服务中移除标签,而虚拟服务 VIP 不再具有标签,虚拟服务 VIP 将放置在所有对等体网卡(最多 4 个不同的对等网络)上。
用例 5:如果在创建虚拟服务 VIP 时使用的标签没有匹配的对等体,则由于配置无效而阻止创建 VS VIP,无论是在创建虚拟服务时,还是以后更新虚拟服务 VIP 标签时。
VRF
BGP 对等体标签
VSVIP BGP 对等体标签
网络 1
标签 1
标签 5
网络 2
标签 2
网络 3
标签 3
网络 4
标签 4
在该用例中,由于没有匹配的 VS VIP BGP 对等体标签,将阻止创建 VS VIP,并出现不存在具有匹配标签的 BGP 对等体错误。