Istio 是 Google/IBM/Lyft 联合开发的开源项目,2017 年 5 月发布第一个 release 0.1.0,官方定义 Istio 是一个连接、管理和保护微服务的开放平台。在越来越多的企业和项目实践微服务的环境下,Istio 也正在逐渐被采纳使用。但是很多开发者对于 Istio 的版本迭代和性能提升很感兴趣。
为了让读者更多的了解 Istio,7 月 6-9 日, ArchSummit 全球架构师峰会将在深圳华侨城洲际酒店举行。大会设置了《微服务架构》专题来深入当前关注度较高的 Istio、Conduit、Service Mesh 等在一线企业的技术和精进案例,其中邀请了IBM 高级技术委员会成员 Lin Sun 前来分享《Istio- 构造、守护、监控微服务的守护神》。
我们借此机会邀请了敖小剑老师采访Lin Sun 老师,以下是对话内容,经过简单整理。如果读者想了解更多 Service-Mesh 如何帮助微服务过渡及 Istio 项目的进展和生态效果等,欢迎报名参加 ArchSummit 与 Lin Sun 老师进一步交流。
Disclaimer: below is personal view point, especialy anything related to timing.
InfoQ:我们看到本月 Istio 如期发布了 0.7 版本,从 Release Note 中看到,0.7 版本专注于改进构建和测试,修复了很多 bug,但是并没有提供新的特性。我的问题是:这是否代表着 Istio 的功能集已经趋近稳定?或者说,在 1.0 版本之前,RoadMap 上是不是已经没有大的重量级的新特性?
Lin Sun:对,Istio 0.7.1 版本主要是提升稳定性。现在 Istio 最大的的一块变动是故障管理。我们打算在 0.8 版本推出全新的 v1alpha3 故障管理规则和 Gateway,并且支持 Envoy v2。0.8 版本是维一的一个 Istio 版本支持老的和新的故障管理规则。我们希望用户们可以通过这个新版本的发布移到新的规则上。
InfoQ:之所以特别关心新特性,是因为我们觉得 Istio 的特性已经很多且很强大,但是稳定性不足。社区更希望尽快得到一个 Production Ready 的可用版本。我和社区所有人最关心的问题:1.0 版本何时发布?
Lin Sun:很可能今年夏天。当然 Istio 是个开源社区项目,时间上会受各方面的影响。
InfoQ:Istio 从去年 5 月开源,至今接近一年时间,期间我们看到几乎没有生产级的应用案例。请问,目前阻碍 Istio 上生产的最大障碍在哪里?
Lin Sun:现在有几个用户在使用 Istio, 比如说 Namely 最近在 Istio 的用户会上向大家介绍了他们怎么在生产环境里用 Istio 的。Istio 有很多功能,用户可以在初期先用一个功能,然后再慢慢加上别的功能。
InfoQ:我们看到 Istio 最近引入了 LTS (long term support) 的概念,能否给我们解释一下 LTS 的具体运作方式?
Lin Sun:LTS 是 Istio 技术管理委员会推出来的概念。一般来讲,LTS 本意是这个版本相对稳定,经过验证的,Istio 社区也会支持得久一些。如果用户发现严重问题,Istio 社区会尽量修复。
InfoQ:最近的 0.6 和 0.7 版本都只是常规的 Monthly Release,都不是 LTS。然后我们看到 5 月份的 0.8 版本将会成为(第一个?)LTS 版本,能否透露一下 0.8 版本除了继续 bugfix 和性能改进外,还会有哪些重要的内容?
Lin Sun:第一个 LTS 是 0.2。 0.8 是第二个 LTS,可能五月份。主要的新功能就是新的故障管理规则,Gateway 和 Envoy v2 以及其他一些功能的提升和改进。
InfoQ:0.8 版本之后,1.0 版本之前,还会有其他的 LTS 版本吗?
Lin Sun:很有可能会以月为单位来发布,中间可能不会再有 LTS 版本了。
InfoQ:看到近期几个版本都在做性能提升,能否介绍一下最近具体完成了哪些大的改进?
Lin Sun:除了前面说的功能之外,还有一些安全方面的功能,比如每个服务 mTLS 启动或者不启动、可插拔 CA、灵活的 TLS 配置,也会有 Envoy 习惯过滤器的支持,通过用户写一个 pilot webhook 来提供用户自定义的 Envoy 过滤器。此外还有增量采用 Istio,初始多集群支持,Mixer 性能提升,以上只是其中一部分
InfoQ:以及后续性能提升的重点在哪里?目前社区反馈,Istio 的性能还是不够理想,诸如启动速度,运行时性能,资源占用等。
Lin Sun:是的,我们知道大家想了解的问题。0.8 版本后主要的关注会在稳定性上,包括性能,连续性测试(long run test),更多 e-2-e 自动化测试,包括来自 Istio.io 的不同任务和指引,而这些也都是 Istio 的核心功能。
InfoQ:关于流量接管,我们觉得通过 Iptables 做流量劫持稍显粗暴,Istio 后续会不会规划其他的方式?
Lin Sun:1.0 后有可能,具体看用户提供的要求和用户案例。据目前看来,还没多个用户说这个会阻碍 Istio 的使用,这一部份是通过 init 容器做的,如果有更好的想法,欢迎试着把这个换成别的方法,并且向 Istio 社区提出这样的方案和样品。
InfoQ:关于扩展性,Istio 是否容许对 Envoy 进行扩展,比如类似 Nginx 那样支持 Lua 脚本,这样方便实现各种定制化需求。
Lin Sun:现在 Istio 已经支持 pilot webhook,用户可已通过 pilot webhook 来进行特别的 Envoy 配置。Istio 社区也打算提出更简单好用的对 Envoy 过滤器的支持。
InfoQ:我们觉得 Istio 和云平台会是一个很好的搭档,也看到 Google 的 Google Kubernetes Engine 提供了 Istio 的支持,但是国内几个公有云都未见有支持 Istio 的举动。想了解 Istio 后续是否会和国内几大公有云合作,直接部署 Istio 作为基础服务提供给客户?
Lin Sun:这要看中国国内的几个公有云了,只要他们支持 K8s, 而且能通过 K8s 一致性测试,用户都可以自己安装 Istio。我个人觉得他们很可能会在 Istio 1.0 后开始支持 Istio,因为这样会给客户带来更大的可移植性。Istio 社区也欢迎他们能来做贡献。
InfoQ:在去年年底,我们组建了 Service Mesh 中国社区,追踪 Service Mesh 技术的最新动态。而 Istio 是我们关注的重点,在 1.0 版本即将到来之际,我们殷切的希望 Istio 官方可以组织 Istio 的开发者为我们做深入介绍和讲解。请问在 2018 年 Istio 在这方面有什么样的安排?
Lin Sun:Istio 社区有指导委员会,这个可以向社区指导委员会提出要求。指导委员会对 Istio 项目有控制管理权,市场推广等权利。我现在是指导委员会成员,也可以通过我向委员会提出要求。
感谢 Lin Sun 老师接受采访,期待您在 ArchSummit 深圳站的分享:《Istio- 构造、守护、监控微服务的守护神》,更多 ArchSummit的分享及培训内容可戳此了解,目前大会 8 折优惠即将结束,如在报名过程中遇到任何问题,随时联系小助手豆包(微信:aschina666),或直接致电:010-84780850。
嘉宾介绍:
Lin Sun:IBM Senior Technical Staff Member
Lin 是 Istio 项目的核心贡献者和维护者,对于新技术有很浓厚的热情,并且愿意投身其中,同时也是一个技术能力很强的发明者,目前拥有 100 多个包括待批的专利,并且在 IP.com 网站上发布上百篇文章。
评论