在一次技术调研中理解istio流量拦截原理

背景

笔者接到上级任务,需要根据用户特征做全链路的灰度发布,经过讨论采用istio作为技术方案,istio上手极为简单,
在部署好istio后,只需要对namespace加一个标签istio-injection=enabled,即可将此namespace下的pod纳入istio服务网关,
从而实现流量转移,镜像等功能。笔者不禁好奇,加了这个标签后istio做了啥。

istio-injection=enabled背后的原理

先说结论

istio通过注入sidecar(istio-prxoy)到容器里,因为与处于同一pod的应用同用一个network namspace,从而可以实现对应用进出口流量进行劫持。

“为啥处于同一个 network namspace,就可以实现流量劫持?”,感兴趣可以参考我往期文章《用nsenter排查容器网络问题及原理》

分步剖析

理解istio的sidecar模式

sidecar模式:设计的核心思想在于控制和逻辑分离。我们只需要专注地做好和业务逻辑相关的代码,然后由sidecar来实现这些与业务逻辑没有关系的控制功能,比如监视、日志记录、限流、熔断等。

对istio而言,istio-proxy组件就是sidecar,跟业务容器伴生,非侵入式地将业务容器纳入服务网格中。

istio-proxy的原理

istio-proxy容器内部运行着 pilot-agent 与 envo

  • 13
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值