Service Mesh微服务网格开源项目Istio 1.5 发布

什么是Istio?

Istio 是一个开源项目,旨在提供一种统一化的微服务连接、安全保障、管理与监控方式。Istio 项目能够为微服务架构提供流量管理,同时亦为其它增值功能(包括安全、监控、路由、连接管理与策略等)。Istio使用Envoy 代理进行构建,对应用程序无侵入,不需要作出任何代码修改的前提下实现可视性与控制能力。

为什么使用Istio?

Istio makes it easy to create a network of deployed services with load balancing, service-to-service authentication, monitoring, and more, with few or no code changes in service code. You add Istio support to services by deploying a special sidecar proxy throughout your environment that intercepts all network communication between microservices, then configure and manage Istio using its control plane functionality, which includes:

  • 自动支持HTTP, gRPC, WebSocket, and TCP流量的负载均衡。Automatic load balancing for HTTP, gRPC, WebSocket, and TCP traffic.
  • 细粒度控制流量行为包括路由,重试,服务失败和故障注入。Fine-grained control of traffic behavior with rich routing rules, retries, failovers, and fault injection.
  • 可以插拔配置策略支持访问控制,访问频次和访问限额。A pluggable policy layer and configuration API supporting access controls, rate limits and quotas.
  • 在集群环境包括集群入口和出口的自动性能监测,日志收集和流量跟踪Automatic metrics, logs, and traces for all traffic within a cluster, including cluster ingress and egress.
  • 在集群环境中安全服务和服务之间的通讯。Secure service-to-service communication in a cluster with strong identity-based authentication and authorization.

Istio 1.5新版本主要更新内容

引入 Istiod

通过将控制平面整合为一个新的二进制文件 Istiod, 1.5 版本极大地简化了安装、运行和升级 Istio 的体验。对于 mesh 用户,Istiod 不会改变他们的任何体验:所有 API 和运行时特性均与以前的组件一致。

可扩展性的新模型

Istio 一直是最可扩展的服务网格,其 Mixer 插件允许自定义策略和遥测支持,而 Envoy 扩展则允许数据平面自定义。Istio 1.5 带来了了一个新模型,该模型使用 WebAssembly(Wasm)将 Istio 的可扩展性模型与 Envoy 的统一。Wasm 使开发人员能够安全地在 Envoy 代理中分发和执行代码,以便与遥测系统和策略系统集成,并控制路由,甚至转换消息正文。它将更加灵活和高效,从而无需单独运行 Mixer 组件(这也简化了部署)。

更容易使用

现在,使用 istioctl 的 Istio 命令行安装已进入 beta 阶段。istioctl 也有十几项改进,包括分析新项目、更好的验证规则,以及更好的与 CI 系统集成的能力等。它已经成为了解 Istio 的系统运行状态并确保配置更改安全的必要工具。

Istio 的安全性也得到了许多增强,更易于使用。Beta 版自动 mTLS 的启动,简化了 mTLS 的配置并使其自动化。

更安全

在 1.5 版中,所有安全策略,包括自动 mTLS、AuthenticationPolicy(对等身份验证和 RequestAuthentication)和授权现在都处于 Beta 版。SDS 已经处于稳定版。授权(Authorization)现在支持“拒绝”语义,以强制执行不可覆盖的强制性控件。此外,Node 代理和 Istio 代理已组合到一个二进制文件中,这意味着不再需要配置 PodSecurityPolicy。

改进不止于此。现在不再需要在每个 Pod 上安装证书,也不必在证书更改时重新启动 Envoy。证书直接从 Istiod 交付到每个 pod。而且,每个 pod 都有唯一的证书。

更好的可观察性

Telemetry v2 现在报告了原始 TCP 连接(除了 HTTP)的度量标准,并且还通过在遥测和日志中添加响应状态代码来增强了对 gRPC 工作负载的支持。现在默认使用 Telemetry v2。新的遥测系统将等待时间缩短了一半,90% 的等待时间从 7 毫秒减少到 3.3 毫秒。不仅如此,消除 Mixer 还使总 CPU 消耗减少了 50%,降至每秒每 1,000 个请求 0.55 个 vCPU。

更新说明: https://istio.io/news/releases/1.5.x/announcing-1.5/

小工蚁认为,Istio 1.5 确实可以称得上是一次突破性的版本发布,各种架构上或者是设计上的优化,都可以看的出来是在做减法,包括更精简的架构,更简单的扩展支持方式,Service Mesh普及指日可待!

推荐文章

沪公网安备 31010702002009号