为 ALB 部署高可用 VIP

ALB 的高可用性需要一个 VIP。获取 VIP 有两种方式。

方法一:使用 LoadBalancer 类型的 Service 提供 VIP

在 container 网络模式下创建 ALB 时,系统会自动创建一个 LoadBalancer 类型的 Service,为该 ALB 提供 VIP。

使用前请确保集群支持 LoadBalancer 类型的 Service。你可以使用平台内置的实现。具体配置请参见 配置 MetalLB。

MetalLB 准备就绪后,可以在 alb.spec.config.vip.lbSvcAnnotations 中添加以下注解以调整 MetalLB 的行为。详见 ALB 网络配置。

注解说明
metallb.universe.tf/loadBalancerIPs分配给 Service 的 VIP,多个 VIP 用逗号分隔,用于多 VIP 或双栈,例如:192.0.2.10,2001:db8::10。
metallb.universe.tf/address-poolMetalLB 分配地址的地址池。

方法二:使用外部 ALB 设备提供 VIP

  • 部署前请与网络工程师确认 ALB 服务的 IP 地址(公网 IP、私网 IP、VIP)或域名。如果希望使用域名作为外部流量访问 ALB 的地址,需要提前申请域名并配置域名解析。建议使用商用负载均衡器设备提供 VIP,若无,可使用 纯软件数据中心 LB 方案(Alpha)。

  • 根据业务场景,外部 ALB 需要为所有使用的端口配置健康检查,以减少 ALB 升级时的停机时间。健康检查配置如下:

    健康检查参数说明
    端口
    • 全局集群填写:11782。
    • 业务集群填写:1936。
    协议健康检查的协议类型,建议使用 TCP。
    响应超时接收健康检查响应所需时间,建议配置为 2 秒。
    检查间隔健康检查的时间间隔,建议配置为 5 秒。
    不健康阈值连续失败次数,达到该次数后判定后端服务器健康检查状态为失败,建议配置为 3 次。