Istio 1.1正式发布


#1

自从去年7月发布1.0版本以来,我们已经进行了大量工作以帮助用户将Istio引入生产环境。在此期间,我们也一直在推出更多后续补丁以完善相关功能(先后发布了6个补丁),同时致力于进一步丰富Istio的功能要素。

Istio 1.1版本的主题在于企业就绪。我们也很高兴看到正有越来越多的企业在生产环境中使用Istio。不过随着部分大型公司对Istio的尝试,项目中的一些局限开始暴露了出来。

在新版本中,我们关注的主要方向之一正是性能与可扩展性。随着人们将Istio投入生产,包括匹配规模更大的集群以更高容量运行更多服务,项目的扩展与性能问题亦暴露无遗。挎斗占用了太多资源并显著提升了延迟水平,此外控制平面(特别是Pilot)亦存在过度耗费资源的问题。

我们投入了大量精力以提升数据平面与控制平面的执行效率。在我们的1.1版本性能测试当中,如今挎斗在处理1000 rps时仅需要半个vCPU的资源来支撑。另外,单一Pilot实例已经能够在配合1.5个vCPU与2 GB RAM的前提下顺利处理1000项服务(以及总计2000个pod)。挎斗在半数情况下仅增加5 ms延迟,在99%的情况下增加10 ms延迟(强制执行策略将提高延迟水平)。

我们还完成了命名空间的隔离工作。这意味着大家可以使用Kubernetes命名空间对边界进行强制控制,进而确保您的各个团队之间不致相互干扰。

我们也改进了多集群的功能性与可用性。我们认真听取了来自社区的意见,并改进了流量控制与策略的默认设置。我们引入一款名为Galley的新组件。Galley负责验证YAML以降低发生配置错误的可能性。另外,Galley还能够在多集群设置当中发挥作用,从各个Kubernetes集群当中收集服务发现信息。再有,我们还支持其它多集群拓扑结构,包括在无需扁平网络的前提下实现单一控制平面与多个同步控制平面。

除此之外,新版本还带来更多新的特性与提升,具体细节请参阅我们的发布说明(https://istio.io/about/notes/1.1/)。

Istio项目的提升远不止于此。相信大家都了解,Istio当中包含众多活动组件,因此实际使用也存在不少门槛。为了解决这个问题,我们最近组织了Usability Working Group(欢迎大家随时加入)。我们也有计划通过社区会议(本四周上午11点)与Working Group持续发布更多指导信息。如果您还没有加入discuss.istio.io会话,我们建议您尽快参与进来——只需要使用GitHub凭证即可登录,欢迎各位莅临指导!

我们感谢过去几个月当中,各位在支持Istio项目时付出的不懈努力,包括对1.0版本的完善以及对1.1项目的贡献,特别是新版本的功能增加与测试。与此同时,我们也要诚挚感谢那些与我们能力合作,安装并升级早期版本以帮助我们在发布前找寻问题的企业与个人用户。

总而言之,现在就是最好的时机!1.1版本已经正式来临,欢迎大家参阅更新文档并实际安装……预祝大家在服务网格的道路上勇猛精进!

原文链接:https://istio.io/blog/2019/announcing-1.1/