今天,Istio v1.6 正式发布。Istio 是一个由谷歌、IBM 与 Lyft 共同开发的开源服务网格平台,旨在提供一种统一化的微服务连接、安全保障、管理与监控方式,确保微服务在处理故障时以指定的方式相互连接。和 Istio 社区今年早些时候制定的路线图一致,这次的新版本继续朝着更简单、更顺畅的安装体验迈进!

简化 简化 简化

Istio 在上一版本中引入了一个新模块 Istiod,它通过组合多个服务的功能来减少 Istio 安装中的组件数量。Istio v1.6 已完成此过渡,并将功能完全转移到 Istiod 中。这使我们无需单独部署 Citadel、sidecar injector 和 Galley。此外,我们进一步优化了使用 Kubernetes 新 alpha 功能的开发人员的开放体验。如果在 Kubernetes EndpointPort 或 ServicePort API 中使用新的 appProtocol 字段(在 1.18 中为 Alpha),那么开发人员不再需要在 Service 中附加名称字段来表示协议。

更好的生命周期

在 Istio v1.6 中,命令行工具 istioctl 可提供更好的诊断信息以及更简单的安装命令,甚至还可以把状态显示为彩色!另外,Istio 的升级机制也得到了改善。首先,现在支持 Istio 控制平面本身的 canary(金丝雀)。这意味着开发人员可以在现有版本的基础上安装新版本的控制平面,并有选择地让代理使用新版本。新版本还有一个 istioctl upgrade 命令,它可以在集群中执行就地升级(开发人员仍然可以自己控制更新代理)。

观察分布式应用程序

Istio 团队表示,很多公司采用 Istio 只是为了更好地观察分布式应用程序,他们会继续在这方面做出改进,比如新版本包含以下亮点:更多的可配置性、更好的控制跟踪采样率的能力,以及更新的 Grafana 仪表板。

更好的虚拟机支持

2020 年 Istio 的中一个重点发展方向是提升对不在 Kubernetes 中运行的工作负载支持,新版本在这一方面有了一些重大进展。对于希望将非 Kubernetes 工作负载添加到服务网格中(例如 VM)的开发人员,新版本推出的 WorkloadEntry 资源可以使此操作比以往更加轻松。这个 API 旨在为 Istio 中的非 Kubernetes 工作负载提供一流的呈现。它将 VM 或裸机工作负载提升到与 Kubernetes Pod 相同的级别,而不是仅有 IP 地址的端点。现在开发人员可以将同一服务的部署(VM 和 Pods)混合在一起,将 VM 工作负载迁移到 Kubernetes 集群,且不会中断往返于该集群的流量。

网络改进

网络是服务网格的核心,新版本还引入了一些出色的流量管理功能。Istio 改进了对 secrets 的处理,从而为 Kubernetes Ingress 提供更好的支持。1.6 版本还在默认情况下启用了 Gateway SDS,以获得更安全的体验。另外,新版本还增加了对 Kubernetes Service API 的实验性支持。

原文请点击:https://mp.weixin.qq.com/s/ASivnK2ZZCkumiThAjyTow