Istio是Google、IBM 和 Lyft一起开发的开源专案,Istio是希腊语,意思是起航
或是帆船
,跟kubernetes是有相关连的。
Istio 是 开源的服务网格 ,是这几年来使用k8s的开发人员会常常听到的组合 k8s + Istio
,为什麽Istio那麽热门~~因为它提供了不限语言平台,简单的把应用程序网路功能自动化,Istio也支援目前台面上的公有云(ex eks,aks,gcp..etc)。
Istio是个超热门开源专案,不管是排除issue或是更版的时间都很神速,以个人安装版本,今年年初安装时的istio 1.8.x到现在Istio 1.11.3 @ 2021/09/23..直接跨了三个小版号 ,缺点就真的是追不完的更新QQ...不知道明年会不会有架构性的大改版..QQ。
- 提供一致的服务网路管理体验 : 网路业者能统一管理旗下所有服务的网路,而不必增加开发人员负担。
- 运用 Istio 的优点保护服务 : 安全服务业者可轻松地实施服务对服务的安全防护机制,包括验证、授权和加密。
- 提高应用程序效能 : 实施最佳做法 (如发布初期测试版本),并深入了解应用程序,藉此找出应集中在哪些地方投入心力才能提升效能。
还没使用Istio前,service a需要写设定连线到service b
使用後
图片来源
service与sevice间的沟通都是透过envoy proxy进行处理,把沟通其他服务这层抽离出来,
service只做到逻辑处理,网路层一律使用envoy proxy统一处理。
Istio预设使用Envoy作为proxy,而Envoy基於c++开发,所以基本上效能应该是没什麽问题,不像某j..那吃的资源量,上面的架构图就清楚看的出来,Envoy主要是协调服务的进
与出
。
Envoy proxy是使用sidecar
的方式跟pod一起部署,sidecar就长的像下图这样子XD,istio就依附pod服务运行的意思
图片来源
Envoy有下列特性
- 动态服务发现(Dynamic service discovery)
- 负载均衡(Load balancing)
- TLS 终端(TLS termination)
- HTTP/2 与 gRPC 代理(HTTP/2 and gRPC proxies)
- 熔断器(Circuit breakers)
- 健康检查(Health checks)
- 基於百分比流量分割的分阶段发布(Staged rollouts with %-based traffic split)
- 故障注入(Fault injection)
- 丰富的指标(Rich metrics)
istio在1.5版後把原本独立的componet整合成istod(d是daemon的意思),里面包含了Pilot
,Citadel
跟Galley
三个componet,从这例子就很明显看的出来,istio就是个一言不合就大改的专案QQ
以上为istio的简简简述
<<: Day 13 Mailhog - 模拟 SMTP 邮件服务的开发利器
制作目标 完成系统 发现问题 Icebear将readline的终止程序放在回圈以前,造成输入料理名...
特别想吃猪脚时,我会来这里解馋。(今天选麻辣锅底) 时间又来到下午的4点,今天不用赶4点30分,因为...
Mock What's mock? 先想像一个画面,当我们要隔离我们的元件时,一个component...
Redis Request Routing 在Redis Server丛集中所有的操作透过Reque...
前言 终於进入新的篇章06-Wireless Attacks,但由於先前的Kali虚拟机环境无法进行...