转载

微服务守护神Istio:关于1.0版本以及性能优化

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.

敖小剑:我们看到本月 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 版本支持老的和新的故障管理规则。我们希望用户们可以通过这个新版本的发布移到新的规则上。

敖小剑:之所以特别关心新特性,是因为我们觉得 Istio 的特性已经很多且很强大,但是稳定性不足。社区更希望尽快得到一个 Production Ready 的可用版本。我和社区所有人最关心的问题:1.0版本何时发布?

Lin Sun:很可能今年夏天。当然 Istio 是个开源社区项目,时间上会受各方面的影响。

敖小剑:Istio 从去年5月开源,至今接近一年时间,期间我们看到几乎没有生产级的应用案例。请问,目前阻碍 Istio 上生产的最大障碍在哪里?

Lin Sun:现在有几个用户在使用 Istio, 比如说 Namely 最近在 Istio 的用户会上向大家介绍了他们怎么在生产环境里用 Istio的。Istio 有很多功能,用户可以在初期先用一个功能,然后再慢慢加上别的功能。

敖小剑:我们看到 Istio 最近引入了 LTS (long term support) 的概念,能否给我们解释一下 LTS 的具体运作方式?

Lin Sun:LTS 是 Istio 技术管理委员会 推出来的概念。一般来讲,LTS本意是这个版本相对稳定,经过验证的,Istio 社区也会支持得久一些。如果用户发现严重问题,Istio 社区会尽量修复。

敖小剑:最近的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 以及其他一些功能的提升和改进。

敖小剑:0.8版本之后,1.0版本之前,还会有其他的 LTS 版本吗?

Lin Sun:很有可能会以月为单位来发布,中间可能不会再有 LTS 版本了。

敖小剑:看到近期几个版本都在做性能提升,能否介绍一下最近具体完成了哪些大的改进?

Lin Sun:除了前面说的功能之外,还有一些安全方面的功能,比如每个服务 mTLS 启动或者不启动、可插拔 CA、灵活的 TLS 配置,也会有 Envoy 习惯过滤器的支持,通过用户写一个 pilot webhook 来提供用户自定义的 Envoy 过滤器。此外还有增量采用Istio,初始多集群支持,Mixer 性能提升,以上只是其中一部分

敖小剑:以及后续性能提升的重点在哪里?目前社区反馈,Istio 的性能还是不够理想,诸如启动速度,运行时性能,资源占用等。

Lin Sun:是的,我们知道大家想了解的问题。0.8版本后主要的关注会在稳定性上,包括性能,连续性测试(long run test),更多 e-2-e 自动化测试,包括来自 Istio.io 的不同任务和指引,而这些也都是 Istio 的核心功能。

敖小剑:关于流量接管,我们觉得通过 Iptables 做流量劫持稍显粗暴,Istio 后续会不会规划其他的方式?

Lin Sun:1.0后有可能,具体看用户提供的要求和用户案例。据目前看来,还没多个用户说这个会阻碍 Istio 的使用,这一部份是通过 init 容器做的,如果有更好的想法,欢迎试着把这个换成别的方法,并且向 Istio 社区提出这样的方案和样品。

敖小剑:关于扩展性,Istio 是否容许对 Envoy 进行扩展,比如类似 Nginx 那样支持 Lua 脚本,这样方便实现各种定制化需求。

Lin Sun:现在 Istio 已经支持 pilot webhook,用户可已通过 pilot webhook 来进行特别的 Envoy 配置。Istio 社区也打算提出更简单好用的对 Envoy 过滤器的支持。

敖小剑:我们觉得 Istio 和云平台会是一个很好的搭档,也看到 Google 的 Google Kubernetes Engine 提供了 Istio 的支持,但是国内几个公有云都未见有支持 Istio 的举动。想了解 Istio 后续是否会和国内几大公有云合作,直接部署 Istio 作为基础服务提供给客户?

Lin Sun:这要看中国国内的几个公有云了,只要他们支持 K8s, 而且能通过 K8s 一致性测试,用户都可以自己安装 Istio。我个人觉得他们很可能会在 Istio 1.0 后开始支持 Istio,因为这样会给客户带来更大的可移植性。Istio 社区也欢迎他们能来做贡献。

敖小剑:在去年年底,我们组建了 Service Mesh 中国社区,追踪 Service Mesh 技术的最新动态。而 Istio 是我们关注的重点,在1.0版本即将到来之际,我们殷切的希望 Istio 官方可以组织 Istio 的开发者为我们做深入介绍和讲解。请问在2018年 Istio 在这方面有什么样的安排?

Lin Sun:Istio 社区有指导委员会,这个可以向社区指导委员会提出要求。指导委员会对 Istio 项目有控制管理权,市场推广等权利。我现在是指导委员会成员,也可以通过我向委员会提出要求。

感谢Lin Sun老师接受采访,期待您在ArchSummit深圳站的分享: 《Istio-构造、守护、监控微服务的守护神》

原文  http://www.infoq.com/cn/news/2018/04/istiov1.0
正文到此结束
Loading...