Kubernetes生产实践系列之十八:ServiceMesh之在Kubernetes中对gRPC流量进行负载均衡

本文探讨了在Kubernetes中处理gRPC流量负载均衡的策略,包括集群内外部服务的交互。介绍了使用iptables/IPVS、etcd服务发现、Kubernetes Ingress Nginx、sidecar代理如Linkerd/Istio等方式,并强调了长连接在gRPC中的影响。此外,还讨论了如何将外部gRPC服务暴露给Kubernetes集群内部服务。
摘要由CSDN通过智能技术生成

一、前言

gRPC服务在部署到Kubernetes之后,有来自Kubernetes内部和外部的gRPC访问请求,所以对负责请求接入和负载均衡的LB提出了更高的要求,除了实施传统的负载均衡策略,还要在七层实施数据包分解和路由。

业务的典型场景是外部客户端通过短连接访问API,经过外部LB、Kong、内部LB、Ingress到达内部请求接入服务,之后的内部调用通过gRPC长连接进行:

Kubernetes平台内部和外部gRPC调用

转载自https://blog.csdn.net/cloudvtech

 

二、访问Kubernetes集群内gRPC服务的负载均衡

2.1 K8S集群内服务访问集群内gRPC服务的负载均衡

集群内服务访问集群内其它gRPC服务的时候,如果使用kube-proxy提供的基于iptables或者IPVS的四层负载均衡服务,则会造成gRPC长连接被绑定在某个固定的后端POD上,造成负载均衡的失效,要解决这个问题可以有两个方向进行选择:

  • 集中式LB:Kubernetes Ingress Nginx
  • 分布式客户端LB:
    • 基于etcd服务发现的客户端负载均衡
    • 基于k8s sidecar的
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值