Service Mesh - Istio 1.9 改善生产环境体验

前言

Istio 1.9 是 Istio 在 2021 年发布的第个版本,侧重于为在生产环境中运行 Istio 的用户改善操作体验Day 2 operations)。此外,稳定性的一个关键是明确 Istio 核心 API 和功能发布的功能状态,并增强它们的稳定性,使用户能够放心使用 Istio 的这些功能,这是 1.9 版本的另一个重点。

注:Istio 1.9.0 官方支持 Kubernetes 版本 1.17.01.20.x

以下是此版本的一些要点:

虚拟机集成(Beta)

使 VM 中运行的工作负载成为 Istio 服务网格的一部分,能够应用一致的策略,并跨容器和 VM 收集遥测一直是 Istio 社区的关注重点。我们一直在改善 VM 集成的稳定性,测试和文档,并很高兴地宣布,在 Istio 1.9 中,我们已将该功能提升为 Beta。

以下是支持文档的列表,你可以遵循这些文档轻松扩展 Istio 服务网格集成 VM:

请求分类(Beta)

Istio 继续使网格遥测收集更具可配置性。在此版本中,请求分类已提升为 Beta。此功能使用户可以更精确地了解和监视其服务网格中的流量。

Kubernetes Gateway API 支持(Alpha)

自 Istio 1.6 以来,使用 Kubernetes Gateway API 配置 Istio 以公开服务已成为 Istio 1.6 的开发重点,并且我们很高兴宣布将其支持为 1.9 中的 Alpha。使用这些 API 会使在支持这些 API 的其他服务网格之间移动的用户受益。要尝试使用它们,请查看 Gateway API 入门文档。

我们渴望与 Kubernetes 社区(尤其是 Kubernetes SIG-NETWORK 组)合作开发这些 CRD, 以帮助统一和提升整个生态系统的 Ingress 功能

与外部授权系统集成(Experimental)

授权策略现在支持 CUSTOM action 的实验性功能,该功能使用户可以更轻松地与外部身份验证系统(例如,OPA,OAuth2 等)集成

我们已经发布了有关此功能的博客,你可以查看我们的文档以使用此功能。如果你今天正在使用 Envoy Filter API 与外部授权系统集成,建议你尝试使用此功能并给我们反馈!

远程获取和加载 WebAssembly(Wasm)HTTP filters(Experimental)

现在,Istio 支持一项实验功能,可以从远程存储库中获取 WebAssembly 模块并动态(重新)加载它们,而无需重新启动网格中的代理。这样,你可以将自定义 C++ 代码注入到网格中,以处理 Istio API 以外的用例。

请尝试一下,并告诉我们它如何为你工作。此外,请继续关注更多博客,更多语言支持以及与更多存储库的集成。

使用 gcr.io 镜像 Docker Hub

为了防止我们的用户受到 Docker Hub限速策略的影响,我们现在将所有映像发布到 gcr.io/istio-release 注册表中。你可以在安装步骤中选择性地将仓库设置为 gcr.io/istio-release,以绕过与 Docker hub 下载镜像失败相关的问题。请注意,Docker hub 仍然是 Istio 安装的默认 hub

istioctl 更新

我们一直在对该 istioctl 工具进行重大改进,以改善我们用户的故障排除和调试功能。主要功能包括:

  • 一个新 verify-install 命令,通知用户任何安装配置错误
  • analyze 子命令现在可以检查是否使用了过时的或 alpha 级的注释

加入 Istio 社区

我们将在 2021 年 2 月 22 日至 26 日举办首届 Istio 重点会议 IstioCon,请注册并加入我们,以了解 Istio 社区、路线图和用户采用历程。你还可以参加我们的社区会议,该会议于每月的第四个星期四太平洋标准时间(PST)上午 10 点举行,以提供反馈并获取项目更新。

你也可以在 Discuss Istio 上加入对话,或加入我们的 Slack 工作区

您想参与吗?寻找并加入我们的工作组,帮助改善 Istio。

Istio 1.9 升级调查

如果您已完成对 Istio 1.9 的升级,我们希望收到你的来信!请花几分钟时间回答我们的简短调查,以告诉我们我们的情况。

小结

从 Istio 1.9 的发布可以看出 Istio 社区越来越明白生产环境的重要性,并建立了 IstioCon、社区会议、Discuss、Slack 等社交平台,为的是与用户搭建一个沟通的桥梁,聆听用户的声音,了解用户在生产环境中的问题,以改善 Istio

另外,Istio 社区也在努力与 Kubernetes 社区促成合作,将一些 API 统一化,这使得用户不需要去学习两套 API,大大降低了门槛。同时,基于 Kubernetes 这样的基础设施,也能提高 API 稳定性。毫无疑问,Istio 社区正在朝着一个正确的方向走,正所谓“得基础设施者,得天下”。

可以看出 Istio 已经从“开发者产品”逐渐成熟为“商业产品”,这对用户来说是非常有利的,让我们一起期待下一版本带来更多惊喜。

延伸阅读

参考

CatchZeng
Written by CatchZeng Follow
AI (Machine Learning) and DevOps enthusiast.