VMware Avi Load Balancer 30.2.5 发布 - 多云负载均衡平台

VMware Avi Load Balancer 30.2.5 发布 - 多云负载均衡平台

应用交付:多云负载均衡、Web 应用防火墙和容器 Ingress 服务

请访问原文链接:https://sysin.org/blog/vmware-avi-load-balancer-30/ 查看最新版。原创作品,转载请保留出处。

作者主页:sysin.org


负载均衡平台
VMware Avi Load Balancer

VMware Avi Load Balancer 可简化应用交付,并提供多云负载均衡、Web 应用防火墙和容器 Ingress 服务。

VMware Avi Load Balancer 概述

新增功能

最后更新:2025 年 11 月 17 日

本节包含版本 30.2.5 及该版本所有补丁的发布说明。

30.2.5 补丁发布说明

30.2.5-2p1

发布日期:2025 年 11 月 01 日

  • AV-228704:使用 DataScript 函数 avi.http.response() 返回本地响应(200)可能导致客户端连接提前关闭。
  • AV-248459:在使用 Cloud Services 的中央授权模式下,当注册新的 SE 时,可能显示错误 “Insufficient licensable resources available to register Service VM”,即使 Controller 拥有带宽许可的 Service Engine,也会出现此提示。
  • AV-254455:升级至版本 30.2.5 时可能被阻止,并显示错误 “Invalid SAN values found for certificate”,因为 SAN 验证在存在短名称的条目时会失败。

30.2.5 修复问题

发布日期:2025 年 9 月 25 日

这是一次仅包含错误修复的维护版本。

  • AV-205033:虚拟服务日志 UI 中每请求显示缺少端到端时间数据。
  • AV-217806:Basic 和 Essentials 授权类型下的不支持指标导致池和服务器的健康评分计算不正确。
  • AV-219297:仅捕获基于 SSL 的健康监控 PCAP 可能导致磁盘耗尽。
  • AV-226698:Service Engine 升级至 30.2.3 及更高版本可能失败并进入挂起状态,原因是磁盘空间不足。
  • AV-231693:当 SE 版本早于 30.2.1 而 Controller 版本高于 30.2.1 时,虚拟服务流量捕获可能为空。
  • AV-232603:当 PKI 配置错误地附加到应用了 SSL 配置文件的 L4 SSL 虚拟服务的池时,Service Engine 可能失败。
  • AV-232616:vCenter 云环境:在扩展设置中,Service Engine 可能错误地显示处于 Creating 状态(UI)或 OPER_CREATING 状态(CLI),即使已连接到 Controller 并已放置虚拟服务。
  • AV-233616:如果虚拟服务使用带有无效 SAN 的 CSR 证书,升级后可能失败。
  • AV-234924:缺少 Common Name 的证书未链接到其颁发者,导致证书链不完整并在虚拟服务中出现客户端验证错误。
  • AV-237321:当选择 Packet Flow to CaptureHealth Monitor Only 时,虚拟服务的包捕获会在会话中途停止,而 UI 错误显示为 Running,导致捕获不完整。
  • AV-238664:CLI 错误允许非联邦 SSL 配置文件附加到联邦健康监控器,导致 GSLB 同步失败。
  • AV-241116:DNS 刷新可能在池中第一个服务器处于禁用状态时,禁用所有 FQDN 服务器。
  • AV-241172:在 NSX 云中,如果虚拟服务的启用状态快速多次切换,路由添加可能因竞争条件失败。
  • AV-242267:在大量证书对象和高更新率的部署中,SSLKeyAndCertificate 对象的某些创建、更新或删除操作可能失败。
  • AV-242578:L7 VS 应用日志中显示的 Start timeEnd time 不一致。
  • AV-242748:错误切换虚拟服务应用配置文件到/从 FTP 应用配置文件时导致 Service Engine 失败。
  • AV-243572:使用 Mellanox ConnectX-6 网卡通过带内管理的 Linux Server 云 Service Engine,在 SE 重启后可能无法连接 Controller。
  • AV-243799:GSLB 服务在主站切换期间被禁用,重新启用后无法恢复到 UP 状态。
  • AV-243865:Service Engine 可能因 Controller 集群主节点的瞬时 CPU 锁定问题进入 Partitioned 状态。
  • AV-244065:Azure:从 Avi Load Balancer 30.x 版本迁移 Controller 集群 VIP 时,默认无法使用 Azure Standard LB,而是继续使用 Azure Basic LB。
  • AV-244651:使用带内管理的 Linux Server 云 Service Engine,当主机运行 OEL/RHEL 8.x 或 9.x 时,可能丢失网络路由。
  • AV-245258:在启用 SE 组集群范围的多主机 vCenter 扩展环境中,Service Engine 创建可能超时。
  • AV-245521:SE 日志代理在日志压缩过程中可能失败,导致 SE 重启。
  • AV-245830:当 Controller 与 SE 之间的安全通道健康检查失败时,新请求可能失败,导致指标、日志和配置同步问题。
  • AV-245854:即使 “Health Monitors to be considered Up” 设置大于 0,池也可能配置为未附加健康监控器。此无效配置会导致服务器或池标记为 down。
  • AV-245968:升级失败并显示错误 Se-Scale-in Operations for SE failed,将 Service Engine 移入 Suspended 状态。
  • AV-246103:证书验证因 UserNotice 部分包含非 UTF-8 字符而失败。
  • AV-246454:在父虚拟服务或其他子虚拟服务更新时,SNI 子虚拟服务的包捕获可能停止。
  • AV-247175:Service Engine 之间的持久性同步可能因连接分布而失败。
  • AV-247346:如果 Controller 管理 IP 使用 change_ip.py 脚本修改,在 Controller 升级至 30.2.1 及以上版本后,Service Engine 可能无法连接。
  • AV-247909:如果升级期间主节点的重启 API 失败,Controller 升级中止无法完成。

30.2.5 关键更改

  • 在 DNS 解析过程中,当 delete_server_on_dns_refresh 为 true 时,新池成员将继承每个 FQDN:Port 的现有成员启用状态。

兼容性

VMware Avi Load Balancer 与 vSphere 互操作性:

Avi Load Balancer

下载地址

VMware Avi Load Balancer 30.2.x


相关产品:VMware NSX 4.2.3 - 网络安全虚拟化平台

更多:VMware 产品下载汇总

<think>好的,我现在需要帮助用户了解如何在Spring Cloud LoadBalancer中自定义负载均衡策略。首先,我应该回顾一下用户提供的引用内容,看看里面有哪些关键信息。 引用[1]提到LoadBalancer默认有两种策略:随机和轮询,并提到可以通过创建配置类来自定义策略。引用[2]详细说明了两种实现方式,一种是使用IRule接口,另一种是使用LoadBalancer,还涉及到Maven依赖和配置。引用[3]展示了如何通过注解配置特定的服务使用自定义策略,特别是基于nacos权重的例子。引用[4]说明了Spring Cloud LoadBalancer替代Ribbon的背景。引用[5]给出了一个动态配置的例子,通过配置文件指定自定义策略的类路径。 用户的问题是如何在Spring Cloud LoadBalancer中修改负载均衡策略,所以需要整理这些引用的内容,形成一个步骤清晰的回答。首先,可能需要介绍两种主要的自定义方法:基于配置类和使用注解,以及动态配置的方式。同时,需要确保覆盖Maven依赖、配置类的编写、注解的使用,以及可能的动态配置方法。 还需要注意用户提到的示例代码中的格式要求,比如数学公式的格式,但这个问题主要涉及配置和代码,可能不太需要数学公式。不过要确保代码块正确使用反引号,并且步骤结构清晰。 可能还需要验证各个步骤是否正确,比如配置类是否需要继承特定的接口,或者如何正确使用@LoadBalancerClient注解。同时,需要确认是否在配置文件中需要额外的配置,如启用某些特性或禁用默认策略。 最后,根据用户的要求生成相关问题,可能需要涉及性能优化、不同策略的比较、动态配置的实现等。</think>### Spring Cloud LoadBalancer自定义负载均衡策略配置方法 在Spring Cloud LoadBalancer中自定义负载均衡策略,可通过以下两种主要方式实现: --- #### 一、基于配置类的实现方式 1. **添加Maven依赖** 确保项目中已包含`spring-cloud-starter-loadbalancer`依赖: ```xml <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-loadbalancer</artifactId> </dependency> ``` 2. **创建自定义策略类** 实现`ReactorLoadBalancer`接口或继承`RoundRobinLoadBalancer`类。以下为基于权重的示例: ```java public class WeightLoadBalancer implements ReactorLoadBalancer<ServiceInstance> { private final String serviceId; private final Environment environment; public WeightLoadBalancer(String serviceId, Environment environment) { this.serviceId = serviceId; this.environment = environment; } @Override public Mono<Response<ServiceInstance>> choose(Request request) { List<ServiceInstance> instances = discoveryClient.getInstances(serviceId); // 根据nacos元数据中的权重值选择实例 return calculateWeightedInstance(instances); } } ``` 3. **配置策略生效范围** 在主启动类或配置类中添加注解,指定目标服务使用自定义策略: ```java @LoadBalancerClients({ @LoadBalancerClient(name = "service-provider", configuration = WeightLoadBalancerConfig.class) }) ``` --- #### 二、基于动态配置的实现方式 1. **通过配置文件指定策略** 在`application.yml`中直接配置策略类的全路径: ```yaml service-provider: loadbalancer: configuration-class-name: com.example.WeightLoadBalancerConfig ``` 此方式支持运行时动态调整策略[^5]。 --- #### 三、注意事项 1. **禁用默认策略** 若需完全覆盖默认策略,需在配置中禁用Ribbon(若存在): ```yaml spring: cloud: loadbalancer: ribbon: enabled: false ``` 2. **策略优先级** 注解配置的优先级高于全局配置文件[^3]。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值