本节详细介绍了支持 NSX Advanced Load Balancer IPAM 配置的云。
以下云支持 IPAM 配置:
容器(Mesos、OpenShift、Docker UCP、Rancher)
Linux 服务器云(裸机)
VMware
无权访问
配置 IPAM
NSX Advanced Load Balancer 从配置的子网内的 IP 地址池中分配 IP 地址,如下所列:
导航到
。您可以从选择云下拉菜单中选择云,然后单击创建。
指定网络名称。
在 IP 地址管理下,选中启用 DHCP 和启用 IPv6 自动配置复选框。
添加 IPv4 和 IPv6 网络以分配 IP 地址。
单击添加。
指定子网前缀。
选中将静态 IP 地址用于 VIP 和 SE 复选框。在 IP 地址范围下指定池范围。
单击保存。
对于用于 IP 地址分配的每个网络,请重复步骤 1 至 4。
单击保存。
如果静态 IP 地址池为空或已用完,虚拟服务创建将失败。
对于东西向 IPAM,创建另一个具有相应链路本地子网和单独 IPAM/DNS 配置文件的网络。
NSX Advanced Load Balancer Kubernetes/OpenShift 云不受支持。
在 NSX Advanced Load Balancer IPAM 上,不支持添加或删除 VIP 或者更改
vip_id
(例如当虚拟服务上存在多个 VIP 时)。
同时使用 IPv4 和 IPv6 子网创建 IPAM 网络
以下是同时使用 IPv4 和 IPv6 子网创建 IPAM 网络的示例:
导航到
,并为 IPAM 创建一个占位符。如果在虚拟服务配置中未提供特定的网络或子网,您可以将一个或多个创建的网络分配为默认的可用网络。
支持 VRF 的 IPAM
您可以启用在 VRF 中分配 IP 复选框,以使 NSX Advanced Load Balancer 从虚拟服务 VRF 中的网络分配 IP。该选项仅适用于 NSX Advanced Load Balancer IPAM。
选择网络以进行 IP 分配
为分配的给定 IP 请求选择网络基于以下内容:
如果在创建虚拟服务期间指定了网络和子网,系统将从该特定网络/子网中进行分配。如果该子网没有可用的静态 IP,API 请求将失败。
如果在创建虚拟服务期间未指定网络/子网(只能通过 CLI 或 API 指定),系统将考虑 IPAM/DNS 配置文件的可用网络中的所有网络,并随机选择一个具有可用 IP 的网络。
对于 v4 请求,系统先检查具有 v4 子网的网络中的可用 IP,然后再考虑具有 v4 和 v6 子网的网络。
对于 v6 请求,系统先检查具有 v6 子网的网络中的可用 IP,然后再考虑具有 v4 和 v6 子网的网络。
如果 VIP 的 IPv4 或 IPv6 地址发生任何变化,都会中断虚拟服务。如果更改了虚拟服务的自动分配类型,则可能会发生这种情况。例如,如果虚拟服务的 IPv4 地址是使用具有 v4
和 v6
子网的网络分配的,其 auto_allocate_type
从 v4
更改为 v4_v6
并选择了相应的 v6
子网,系统将尝试为该虚拟服务分配 IPv6 地址。如果分配成功,则会发生虚拟服务中断。
IPAM 对用户首选的 IP 地址的支持
NSX Advanced Load Balancer IPAM 支持使用用户首选的 IP 地址和/或具有自动分配类型的 IPv6 地址以创建虚拟服务。要使用该功能,请执行以下操作:
设置
VsVip
对象的ip_address
或ip6_address
字段。将
auto_allocate_ip
字段设置为True
,并相应地设置auto_allocate_ip_type
字段。
控制器为虚拟服务分配该特定 IP 地址。如果该 IP 地址不可用,虚拟服务创建将失败。指定的 IP 地址必须在网络或子网上已配置的静态池中存在。
此功能支持所有三种自动分配类型,即 v4、v6 和 v4_v6。在使用 v4_v6 分配创建虚拟服务 IP 地址时,必须同时指定 IPv4 和 IPv6 地址,或者将它们都留空。此外,不允许将现有的自动分配 IP 地址更新为相同类型(v4 或 v6)的不同首选 IP 地址。
以下是允许的操作列表:
创建具有首选静态 IP 的 VIP(v4、v6 和 v4_v6 都支持)。
将现有 VIP 的分配类型从 v4 更改为 v6,并指定首选的 IPv6。
将现有 VIP 的分配类型从 v4 更改为 v4_v6,并指定首选的 IPv6。
如果 IPAM 网络和子网相同,则必须取消设置 IPv4 地址字段或将其保持不变(在两种情况下,都会保留现有的 IPv4 地址)。
如果 IPAM 网络或子网不相同,则必须取消设置 IPv4 地址字段。
将现有 VIP 的分配类型从 v6 更改为 v4,并指定首选的 IPv4。
将现有 VIP 的分配类型从 v6 更改为 v4_v6,并指定首选的 IPv4。
如果 IPAM 网络和子网相同,则必须取消设置 IPv6 地址字段或将其保持不变(在两种情况下,都会保留现有的 IPv6 地址)。
如果 IPAM 网络或子网不相同,则必须取消设置 IPv6 地址字段。
IPv6 地址字段必须保持不变以将 IPAM 网络保持不变,或者将其留空以更改 IPAM 网络。
NSX Advanced Load Balancer 不支持以下操作。
创建具有 v4_v6 分配并仅设置了
ip_address
或ip6_address
的 VIP。必须设置(首选)或取消设置这两个 IP 地址。
将现有的自动分配 IP 地址更新为相同类型(v4 或 v6)的不同首选 IP 地址。
无法将具有
IPv4-A
的现有 VIP 更新为不同的首选IPv4-B
。如果需要更改 VIP 的分配网络或子网,则 ip_address/ip6_address 字段必须保留空白(控制器将为用户选择 IP 地址)。
如果需要相同类型的新首选 IP,请删除该 VIP 并重新创建。
使用自动分配 IP 地址配置虚拟服务
登录到 CLI,并使用 configure vsvip <name>
设置自动分配 IP 地址。
[admin:10-79-108-162]: > show network network1 +----------------------------+----------------------------------------------+ | Field | Value | +----------------------------+----------------------------------------------+ | uuid | network-eea5aaa2-2225-40bd-b27d-60d7fe046d01 | | name | network1 | | vcenter_dvs | True | | dhcp_enabled | True | | exclude_discovered_subnets | False | | configured_subnets[1] | | | prefix | 10.10.10.0/24 | | static_ranges[1] | | | begin | 10.10.10.100 | | end | 10.10.10.150 | | vrf_context_ref | global | | synced_from_se | False | | ip6_autocfg_enabled | True | | tenant_ref | admin | | cloud_ref | Default-Cloud | +----------------------------+----------------------------------------------+ [admin:10-79-108-162]: > configure vsvip vsvip1 [admin:10-79-108-162]: vsvip> vip vip_id 1 New object being created [admin:10-79-108-162]: vsvip:vip> auto_allocate_ip [admin:10-79-108-162]: vsvip:vip> ip_address 10.10.10.120 [admin:10-79-108-162]: vsvip:vip> save [admin:10-79-108-162]: vsvip> save +-----------------------------+--------------------------------------------+ | Field | Value | +-----------------------------+--------------------------------------------+ | uuid | vsvip-54aa9247-d807-458d-b9e3-a8956bcb266a | | name | vsvip1 | | vip[1] | | | vip_id | 1 | | ip_address | 10.10.10.120 | | enabled | True | | discovered_networks[1] | | | network_ref | network1 | | subnet[1] | 10.10.10.0/24 | | auto_allocate_ip | True | | auto_allocate_floating_ip | False | | avi_allocated_vip | False | | avi_allocated_fip | False | | ipam_network_subnet | | | network_ref | network1 | | subnet | 10.10.10.0/24 | | auto_allocate_ip_type | V4_ONLY | | prefix_length | 32 | | vrf_context_ref | global | | east_west_placement | False | | tenant_ref | admin | | cloud_ref | Default-Cloud | +-----------------------------+--------------------------------------------+
为 SE 和虚拟 IP 分配不同的 IPAM 范围
您可以指定一组静态 IP 是仅用于 SE vNIC,仅用于 VIP,还是同时用于两者。对于任何给定的子网,仅支持以下配置:
VIP 的 IP 范围和/或 SE 的 IP 范围
两者的 IP 范围
如果子网包含两者的 IP 范围以及 VIP 或 SE 的 IP 范围,系统将显示错误消息。
使用 UI
以下是允许为 VIP 和 SE 配置单独 IP 范围的步骤:
从 NSX Advanced Load Balancer UI 中,导航到 。
单击编辑。
在编辑网络设置屏幕中,禁用将静态 IP 地址用于 VIP 和 SE 选项。如果选择该选项,IP 范围将同时用于 VIP 和 SE。
在网络概览页面中,单击一个现有网络以显示配置的各种静态 IP 范围。将在子网前缀旁边显示子网中的所有
ip_range_runtimes
的组合可用/总 IP 计数。
使用 CLI
在 static_ip_ranges
字段中指定一个静态 IP 地址范围以及如何分配 IP 范围。
以下是 static_ip_ranges
配置:
configure network vxw-dvs-34-virtualwire-33-sid-2140032-wdc-02-vc14-avi-dev026 [admin:1234]: network> configured_subnets prefix 100.64.34.0/24 [admin:1234]: network:configured_subnets> static_ip_ranges New object being created [admin:1234]: network:configured_subnets:static_ip_ranges> range begin 100.64.34.100 [admin:1234]: network:configured_subnets:static_ip_ranges:range> end 100.64.34.110 [admin:1234]: network:configured_subnets:static_ip_ranges:range> save [admin:1234]: network:configured_subnets:static_ip_ranges> type static_ips_for_vip [admin:1234]: network:configured_subnets:static_ip_ranges> save [admin:1234]: network:configured_subnets> static_ip_ranges [admin:1234]: network:configured_subnets:static_ip_ranges> range begin 100.64.34.140 [admin:1234]: network:configured_subnets:static_ip_ranges:range> end end 100.64.34.150 [admin:1234]: network:configured_subnets:static_ip_ranges:range> save [admin:1234]: network:configured_subnets:static_ip_ranges> type static_ips_for_vip [admin:1234]: network:configured_subnets:static_ip_ranges> save [admin:1234]: network:configured_subnets:static_ip_ranges> save [admin:1234]: network:configured_subnets> static_ip_ranges [admin:1234]: network:configured_subnets:static_ip_ranges> range begin 100.64.34.240 [admin:1234]: network:configured_subnets:static_ip_ranges:range> end end 100.64.34.250 [admin:1234]: network:configured_subnets:static_ip_ranges:range> save [admin:1234]: network:configured_subnets:static_ip_ranges> type static_ips_for_se [admin:1234]: network:configured_subnets:static_ip_ranges> save [admin:1234]: network:configured_subnets> static_ip_ranges [admin:1234]: network:configured_subnets:static_ip_ranges> range begin 100.64.34.195 [admin:1234]: network:configured_subnets:static_ip_ranges:range> end end 100.64.34.195 [admin:1234]: network:configured_subnets:static_ip_ranges:range> save [admin:1234]: network:configured_subnets:static_ip_ranges> type static_ips_for_se [admin:1234]: network:configured_subnets:static_ip_ranges:range> save [admin:1234]: network:configured_subnets:static_ip_ranges>save [admin:1234]: network:configured_subnets>save
在
ip_range_runtimes
中,分配的 IP 存储在allocated_ips
字段(以前命名为ip_allocated
)中。在分配的 IP 中,
mac
字段已重命名为obj_info
,而se_ref
字段已重命名为obj_ref
。默认情况下,
STATIC_IPS_FOR_VIP_AND_SE
选项配置为分配类型。在升级 NSX Advanced Load Balancer 时,所有现有的static_ips
和static_ranges
都将转换为STATIC_IPS_FOR_VIP_AND_SE
类型的static_ip_ranges
。static_ips
和 static_ranges 字段已弃用。引入了
type
字段,以指定如何分配 IP 范围。
static_ip_ranges
配置如下所示:
configure network vxw-dvs-34-virtualwire-33-sid-2140032-wdc-02-vc14-avi-dev026 [admin:1234]: network> configured_subnets prefix 100.64.34.0/24 [admin:1234]: network:configured_subnets> static_ip_ranges New object being created [admin:1234]: network:configured_subnets:static_ip_ranges> range begin 100.64.34.100 [admin:1234]: network:configured_subnets:static_ip_ranges:range> end 100.64.34.110 [admin:1234]: network:configured_subnets:static_ip_ranges:range> save [admin:1234]: network:configured_subnets:static_ip_ranges> type static_ips_for_vip [admin:1234]: network:configured_subnets:static_ip_ranges> save [admin:1234]: network:configured_subnets> static_ip_ranges [admin:1234]: network:configured_subnets:static_ip_ranges> range begin 100.64.34.140 [admin:1234]: network:configured_subnets:static_ip_ranges:range> end end 100.64.34.150 [admin:1234]: network:configured_subnets:static_ip_ranges:range> save [admin:1234]: network:configured_subnets:static_ip_ranges> type static_ips_for_vip [admin:1234]: network:configured_subnets:static_ip_ranges> save [admin:1234]: network:configured_subnets:static_ip_ranges> save [admin:1234]: network:configured_subnets> static_ip_ranges [admin:1234]: network:configured_subnets:static_ip_ranges> range begin 100.64.34.240 [admin:1234]: network:configured_subnets:static_ip_ranges:range> end end 100.64.34.250 [admin:1234]: network:configured_subnets:static_ip_ranges:range> save [admin:1234]: network:configured_subnets:static_ip_ranges> type static_ips_for_se [admin:1234]: network:configured_subnets:static_ip_ranges> save [admin:1234]: network:configured_subnets> static_ip_ranges [admin:1234]: network:configured_subnets:static_ip_ranges> range begin 100.64.34.195 [admin:1234]: network:configured_subnets:static_ip_ranges:range> end end 100.64.34.195 [admin:1234]: network:configured_subnets:static_ip_ranges:range> save [admin:1234]: network:configured_subnets:static_ip_ranges> type static_ips_for_se [admin:1234]: network:configured_subnets:static_ip_ranges:range> save [admin:1234]: network:configured_subnets:static_ip_ranges>save [admin:1234]: network:configured_subnets>save
以下是配置的网络:
+----------------------------+--------------------------------------------------------------+ | Field | Value | +----------------------------+--------------------------------------------------------------+ | uuid | dvportgroup-233-cloud-4b5fd097-0a9a-444f-b328-1f016eb99987 | | name | vxw-dvs-34-virtualwire-33-sid-2140032-wdc-02-vc14-avi-dev026 | | vcenter_dvs | True | | vimgrnw_ref | vxw-dvs-34-virtualwire-33-sid-2140032-wdc-02-vc14-avi-dev026 | | dhcp_enabled | True | | exclude_discovered_subnets | False | | configured_subnets[1] | | | prefix | 100.64.34.0/24 | | static_ip_ranges[1] | | | range | | | begin | 100.64.34.100 | | end | 100.64.34.110 | | type | STATIC_IPS_FOR_VIP | | static_ip_ranges[2] | | | range | | | begin | 100.64.34.200 | | end | 100.64.34.210 | | type | STATIC_IPS_FOR_VIP | | static_ip_ranges[3] | | | range | | | begin | 100.64.34.140 | | end | 100.64.34.150 | | type | STATIC_IPS_FOR_SE | | static_ip_ranges[4] | | | range | | | begin | 100.64.34.240 | | end | 100.64.34.250 | | type | STATIC_IPS_FOR_SE | | static_ip_ranges[5] | | | range | | | begin | 100.64.34.195 | | end | 100.64.34.195 | | type | STATIC_IPS_FOR_SE | | vrf_context_ref | global | | synced_from_se | True | | ip6_autocfg_enabled | False | | tenant_ref | admin | | cloud_ref | Default-Cloud | +----------------------------+--------------------------------------------------------------+
网络运行时下的 subnet_runtime
字段也已修改。IP 分配和 IP 计数信息将存储在 ip_range_runtimes
字段中。subnet_runtime
下的 ip_alloced
、total_ip_count
、used_ip_count
和 free_ip_count
字段已弃用。每个 ip_range_runtimes
条目将包含特定类型(SE 和/或 VIP)的所有静态 IP 范围的组合 IP 分配和计数信息。
VIP 标签的内部 IPAM
您可以使用 IPAM 配置文件中的特定网络集进行 VIP 分配。标签将添加到 IPAM 配置文件中的可用网络和 vsvip
。
目前,仅支持通过 CLI/API 使用该功能。
可用网络和 vsvip 按以下方式进行匹配:
具有标签 X 的
vsvip
只能使用 IPAM 配置文件中具有标签 X 的网络。没有标签的
vsvip
可以使用 IPAM 配置文件中的任何网络(具有标签或没有标签)。
IPAM 配置文件中的网络的标签是在配置文件的 usable_networks
字段中配置的。vsvip
上的标签是在 ipam_selector
字段中配置的。
登录到控制器并为 VIP 标签配置内部 IPAM,如下所示:
[admin:1234]: > configure vsvip vsvip1 [admin:1234]: vsvip> vip vip_id 1 New object being created [admin:1234]: vsvip:vip> auto_allocate_ip [admin:1234]: vsvip:vip> save [admin:1234]: vsvip> ipam_selector [admin:1234]: vsvip:ipam_selector> type selector_ipam [admin:1234]: vsvip:ipam_selector> labels New object being created [admin:1234]: vsvip:ipam_selector:labels> key key2 [admin:1234]: vsvip:ipam_selector:labels> value value2 [admin:1234]: vsvip:ipam_selector:labels> save [admin:1234]: vsvip:ipam_selector> save [admin:1234]: vsvip> save
internal_profile
下的 usable_networks_refs
字段已弃用。要添加网络,请使用 usable_networks
字段。
允许更改现有可用网络的标签或 vsvip 的标签,这不会影响现有的分配。新标签将适用于新分配。
每个可用网络和每个 vsvip
仅支持一个标签。