Istio 0.1——开启 Service Mesh 的新纪元
在用户将应用部署到 Kubernetes 上之后,如何管理容器之间的流量及确保应用的安全性,就成了突出问题,Service Mesh 的出现就是为了解决这一问题。在 Istio 开源之前,市场上只有创业公司 Buoyant 一家的 Service Mesh 产品 Linkerd,2017 年正值 Kubernetes 赢得容器编排之战,云原生社区中急需找到新的增长点,有人开始叫嚣“Kubernetes is becoming boring”,Service Mesh 开始抬头,Istio 的推出更使得该领域急剧升温。
2017 年 5 月 24 日,Google、IBM 和 Lyft 发布了 Istio 0.1。Istio 基于 Envoy 构建,在开源之初就确立的链接、保护、控制和观测”微服务”的使命。(注意,“微服务”后来在 Istio 的官网描述中被改成了服务,)该版本只支持 Kubernetes 环境,并计划在接下来的几个月添加诸如虚拟机和 Cloud Foundry 等环境的支持。计划每三个月发布一个大版本。
该版本发布时仅一个命令行工具 istioctl
,但是它的意义是划时代的,它确立了 Service Mesh 的 sidecar 模式,即在应用容器 pod 中注入一个 proxy 来管理服务间通信,再通过控制平面统一管控这些 sidecar,后续的所有声称为 Service Mesh 的产品都应用了该模式。