Istio 1.10正式发布


我们高兴地宣布,Istio 1.10版本现已正式与大家见面!除了测试与发布工作小组为此做出的不懈努力之外,我们还要特别感谢项目发布主管Sam NaserZhihan Zhang的辛勤劳动。

这是我们2021年内发布的第二个版本,而且延续之前几个版本的优良传统,我们也继续为改善Istio用户的使用体验而奋斗。

下面来看新版本中的几大亮点:

Discovery Selectors

在之前的版本中,Istio控制平面已经能够监控并处理它在集群中所需关注的一切Kubernetes资源更新——这类更新可能代表着大型集群中出现了可扩展性瓶颈,也可能意味着集群正在经历快速配置变更。Discovery Selectors限制了Istiod监控的资源集合,因此您可以轻松忽略掉与网格(例如一组Spark作业)无关的命名空间内的各类变更。

您可以将这些资源集合理解为类似于Istio Sidecar API资源的形式,只是它们对应的是Istiod本身(Sidecar资源用于限制Istiod发送至Envoy的配置集)。换句话说,Discovery Selectors限制了Istiod将要从Kubernetes处接收并处理的配置集。

稳定修订标签

Istio从1.6版本开始就在安全部署中增加了对多个控制平面的支持能力,并不断改善这项功能的稳定性支持。根据用户反馈,关于修订功能的最大问题在于变更操作需要对大量命名空间进行重新标记,这是因为标签会直接映射至特定的Istio控制平面部署。

有了修订标签,新版本提供一个间接层:您可以创建诸如canary及prod之类的标签,标签命名空间使用这些标签作为修订(例如istio.io/rev=prod),并将特定的Istiod修订与标签关联起来。

举例来说,假设我们有两个修订版本,1-7-6与1-8-0。我们可以创建一个指向修订版1-7-6的修订标签prod,再创建一个指向较新的1-8-0修订版的修订标签canary。
1.png

命名空间A与B指向1-7-6,而命名空间C则指向1-8-0

现在,当我们准备将1-8-0修订版由canary升级为prod时,即可将prod标签与1-8-0 Istiod修订版重新关联。如此一来,所有使用istio.io/rev=prod 的命名空间都将使用较新的1-8-0修订版进行注入。
2.png

命名空间A、B与C均指向1-8-0

感兴趣的朋友请参阅《金丝雀升级指南》以了解更多细节信息。

Sidecar网络变更

在以往的版本当中,Istio已经重新编写了Pod网络以捕捉来自eth0的流量、并将其发送至lo上的应用处。大多数应用程序都会绑定至这两个接口,而且不会发现任何差异;但也有一部分应用程序在编写时只希望在某一接口上传输特定流量(例如,某些应用只在lo上公开管理端点且永远不会在eth0上公开,或者要求仅将有状态应用绑定至eth0)。这时,Istio将流量引导至Pod中的具体方式有可能影响到这些应用程序的具体行为。

在1.10版本中,Istio更新了Envoy以将流量发送至eth0(而非默认情况下的lo)上的应用程序。这对新用户来说似乎只是一项小小的调整,但对老用户们来说,istioctl experimental precheck将帮助大家标记出那些位于本地主机且可能受到影响的Pod(例如IST0143)。

Istio.io迎来全新外观

我们还在新版本中对Istio.io的外观做出重大更新!这也是Istio网站最近四年以来完成的第一次重大变更(我们将在5月24日组织周年纪念日庆祝活动)。希望这些变更进一步提升网站的用户友好度,优化浏览体验并增强整体可读性。

这项工作由Google Cloud提供赞助,我们还要特别感谢Craig Box、Aizhamal Nurmamat kyzy以及Srinath Padmanabhan的努力,同时感谢各位帮助审查及提供早期反馈的参与成员。

如果您也有反馈及建议,请通过 istio.io repo向我们提交问题。

全面开放设计文档

自2021年5月20日起,Istio的设计与规划文档将全面向每一位互联网用户开放,且无需提前登录。以往,查看这些文档要求您提供Google登录名及组成员身份。此次变更将让技术文档的共享变得更轻松、更开放。文件的URL继续保持不变,但Community Drive及其中的文件夹位置将发生变化。本周之内,我们将就具体细节向各位贡献者及Drive成员发布通告。

弃用功能

1.10版本弃用了以下两项功能:
  • Kubernetes第一方JWT支持(values.global.jwtPolicy=first-party-jwt)将被移除;其安全性较差,仅用于同早期Kubernetes版本保持向后兼容。
  • 由Kubernetes config当中的Affinity设置取代values.global.arch选项。


关于功能弃用的更多详细说明,请参阅1.10版本变更通知

原文链接:Announcing Istio 1.10

0 个评论

要回复文章请先登录注册