一个梦想环游世界的DevOps
——快来看看呀

service mesh sidecar 在k8s中的优势

简答来说,sidecar会提供服务请求的代理,也就是说,每个服务pod都通过自己的sidecar来进行集群的内部访问。这种部署是不需要写进代码里。

这样做的好处有:

服务之间的通信可以加密(mTLS)

服务之间可以进行7层负载均衡的路由,比如HTTP协议中的header可以添加到pod之间访问

可以统计服务之间的指标,定位通讯问题 

解决跨语言服务之间的通信,比如不同的服务使用python和java之间

​​传统微服务架构痛点​​​​启用Sidecar后的优势​​
SDK与业务代码耦合,升级困难 非侵入式代理,治理逻辑独立升级
2
5
多语言支持成本高 跨语言统一治理,异构系统互通
1
4
手动配置熔断、路由规则 动态配置,自动化弹性机制
4
5
服务间通信无加密或分散实现 默认mTLS,统一安全策略
1
5
监控分散,全链路追踪困难 集成化可观测性,全链路透明
1
5

 

对比于k8s集群中传统的service(比如clusterIP,nodeport)这些内部自带的服务功能主要区别有以下:

​​维度​​​​Kubernetes ClusterIP​​​​Service Mesh Sidecar​​
​​流量层级​​ 四层(IP+端口) 七层(HTTP/gRPC等应用协议)
​​路由能力​​ 简单轮询/随机 按请求头、路径、权重等智能路由
​​故障恢复​​ 无自动重试/熔断 自动重试、熔断、超时控制
​​安全能力​​ 无内置加密/鉴权 mTLS加密、细粒度访问控制
​​观测能力​​ 基础连接统计 全链路指标、日志、追踪
​​适用场景​​ 简单内部服务调用 复杂微服务治理、多云/混合环境

 

 

对比于k8s ingress 来说,区别主要有以下:

​​维度​​​​Ingress​​​​Sidecar​​
​​流量类型​​ 南北流量(外部到集群) 东西流量(服务间通信)
​​功能粒度​​ 粗粒度(路径/域名路由) 细粒度(请求头、熔断、重试)
​​安全性​​ TLS 终止,无服务间加密 默认 mTLS,端到端加密 + 身份鉴权
​​可观测性​​ 入口层基础指标 全链路追踪 + 深度服务指标
​​架构扩展性​​ 集中式,易成瓶颈

分布式,无单点故障

 

posted on 2025-04-28 17:24  朝澈  阅读(28)  评论(0)    收藏  举报