为 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 次。