5.7.12. 备用后端和 Weights
一个路由通常与一个服务相关联,使用 to:
令牌,带有 kind:service
。对路由的所有请求都由服务中的端点根据 负载平衡策略 处理。
支持路由可以有多达四项服务。每个服务处理的请求部分由服务 weight
进行管理。
第一项服务使用之前使用 to:
令牌输入,而且可以使用 alternateBackend:
令牌输入 3 个额外服务。每个服务都必须是 kind:service
,这是默认设置。
每一服务关联有一个 权重
。服务处理的请求部分是 weight
/ sum_of_all_weights
。当服务具有多个端点时,服务的权重会分布到端点中,每个端点至少达到 1。如果服务 weight
是 0,则服务端点将获得 0。
weight
必须介于 0-256 之间。默认值为 100。当 weight
为 0 时,服务不参与负载均衡,但继续为现有的持久连接服务。
使用 alternateBackends
也可以使用 roundrobin
负载均衡策略,确保请求根据 weight
按预期分发给服务。roundrobin
可使用路由 注解,或使用环境变量为路由设置路由。
以下是使用备用后端进行 A/B 部署的示例路由配置。
带有 alternateBackends 和 weight 的路由:
apiVersion: v1 kind: Route metadata: name: route-alternate-service annotations: haproxy.router.openshift.io/balance: roundrobin 1 spec: host: www.example.com to: kind: Service name: service-name 2 weight: 20 3 alternateBackends: - kind: Service name: service-name2 4 weight: 10 5 - kind: Service name: service-name3 6 weight: 10 7