部署 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 或双栈,例如: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 次。