Envoy 的负载均衡功能通过将流量分配到一个上游集群中的多个主机,以有效利用可用资源。Envoy Gateway 支持以下负载均衡策略:
- 轮询(Round Robin):按顺序将请求分配给每个可用的上游主机。
- 随机(Random):随机选择一个可用主机进行请求处理。
- 最少请求(Least Request):根据主机的请求数选择负载最轻的主机。
- 一致性哈希(Consistent Hash):基于哈希算法将请求始终发送到特定主机。
这些负载均衡策略可以通过创建并应用 BackendTrafficPolicy
资源来实现,并可绑定到 Gateway
、HTTPRoute
或 GRPCRoute
上。
配置示例:
定义一个 BackendTrafficPolicy
资源,为名为 source-ip-route
的 HTTPRoute 启用基于源 IP 的一致性哈希负载均衡策略。
apiVersion: gateway.envoyproxy.io/v1alpha1
kind: BackendTrafficPolicy
metadata:
name: source-ip-policy
spec:
targetRefs:
- group: gateway.networking.k8s.io
kind: HTTPRoute
name: source-ip-route
loadBalancer:
type: ConsistentHash
consistentHash:
type: SourceIP