Istio 1.6更新 大型微服务系统管理工具

Istio 1.6 发布了。Istio 是一个由谷歌、IBM 与 Lyft 共同开发的开源项目,旨在提供一种统一化的微服务连接、安全保障、管理与监控方式。具体来说,Istio 是一个开源服务网格平台,它确保微服务在处理故障时以指定的方式相互连接。

简化

上一个发行版引入了 Istiod,这是一个新模块,通过组合多个服务的功能来减少 Istio 安装中的组件数量。Istio 1.6 已完成此过渡,并将功能完全转移到 Istiod 中。因此,Citadel、sidecar injector 和 Galley 的单独部署能够被删除。

对于利用 Kubernetes 中新的 alpha 功能的开发人员而言,Istio 的使用体验得到了简化。如果在 Kubernetes EndpointPort 或 ServicePort API 中使用新的 appProtocol 字段(在 1.18 中为 Alpha),则不再需要在服务中附加名称字段来表示协议。

更好的生命周期

命令行工具 istioctl 能够提供更好的诊断信息,具有更简单的安装命令,状态还可显示为彩色。

升级 Istio 的功能也得到了改进。首先,现在支持 Istio 控制平面本身的 canary(金丝雀)。这意味着可以与现有版本一同,安装新版本的控制平面,并有选择地让代理使用新版本。

新版本还带来一个 istioctl upgrade 命令,它将在集群中执行一步到位的升级(用户仍然可以控制自己更新代理)。

观察分布式应用程序

Istio 团队表示,许多公司仅采用 Istio 是为了更好地观察分布式应用程序。新版本在这方面做了很多改进,一些重点包括:更多的可配置性、更好的控制跟踪采样率的能力,以及更新的 Grafana 仪表板。

更好的虚拟机支持

对于将非 Kubernetes 工作负载添加到网格中的用户(例如部署在 VM 上的工作负载),新的 WorkloadEntry 资源使此操作比以往更加轻松。此 API 旨在为 Izio 中的非 Kubernetes 工作负载提供一流的呈现。它将 VM 或裸机工作负载提升到与 Kubernetes Pod 相同的级别,而不仅仅是具有 IP 地址的端点。现在可以将同一服务的部署(VM 和 Pods)混合在一起,从而可将 VM 工作负载迁移到 Kubernetes 集群,且不会中断往返于该集群的流量。

网络改进

网络是服务网格的核心,因此新版本引入了一些流量管理功能。Istio 改进了对 secrets 的处理,从而为 Kubernetes Ingress 提供了更好的支持。

此外,新版本默认启用了 Gateway SDS,以提供更安全的体验。还增加了对(实验性的)Kubernetes Service API 的实验性支持。

发布公告:https://istio.io/news/releases/1.6.x/announcing-1.6/