Envoy Gateway v0.6 发布

Envoy Gateway v0.6 发布

Table of Contents

前言

距离上次 v0.5 版本发布已过去三个月,Envoy Gateway 发布了 v0.6 这个版本。

v0.6.0 在 Roadmap 中的主题是 Preparation for GA,让我们一起来看看这个版本有哪些变化

文档

  • 推出基于 Hugo 的新网站
  • 为 EnvoyProxy 指标添加了 Grafana 仪表盘和集成文档
  • 为 Gateway API 指标添加了 Grafana 集成文档

安装

  • 更新了 EnvoyProxy 镜像至 v1.28
  • 移除了 kube rbac proxy 相关资源

API

Conformance

  • 更新 Gateway API 至 v1.0.0,并通过了全部一致性测试
  • 新增 ClientTrafficPolicy CRD(用于管理 Downstream 与 Envoy 之间的流量) 并支持了 Keep Alive
  • 新增 BackendTrafficPolicy CRD (用于管理 Envoy 与 Upstream 之间的流量) 并支持了 RateLimit 和 LoadBalancer
  • 新增 SecurityPolicy CRD(用于管理 Envoy 安全相关特性)并支持了 CORS 和 JWT
  • 新增 EnvoyGateway 控制面指标并支持了 Prometheus 和 OpenTelemetry
  • 新增 在 EnvoyProxy CRD 中支持 InitContainers
  • 新增 在 EnvoyProxy CRD 中支持 LoadBalancerIP
  • 新增 在 EnvoyProxy CRD 中支持 AllocateLoadBalancerNodePorts
  • 新增 在 EnvoyProxy CRD 中支持 LoadBalancerClass
  • 新增 在 EnvoyProxy CRD 中支持 选择生成的指标
  • 新增 在 EnvoyProxy CRD 中启用 EnvoyProxy Virtual Host 指标
  • 新增 支持合并 Gateway 资源到同一 EnvoyProxy 实例

Breaking Changes

  • 移除了 AuthenticationFilter CRD
  • 移除了 RateLimitFilter CRD
  • 合并了 EnvoyProxy CRD 从 config.gateway.envoyproxy.iogateway.envoyproxy.io
  • 默认启用 EnvoyProxy Prometheus,并提供一个特性开关去关闭它
  • 更新了 EnvoyProxy CRD 中的 Bootstrap 字段,增加了一个值字段,以指定 Bootstrap 配置
  • 在 IR Route 的命名规则,使用 / 替换原 - 字符

Conformance

  • 新增对 HTTPRouteBackendProtocolH2C 的支持
  • 新增对 HTTPRouteBackendProtocolWebSocket 的支持
  • 新增对 HTTPRouteRequestMultipleMirrors 的支持
  • 新增对 HTTPRouteTimeoutRequest 的支持
  • 新增对 HTTPRouteTimeoutBackendRequest 的支持
  • 新增对 HTTPRouteRedirectPortAndScheme 的支持

Watchable

  • 通过实现了资源顺序无关的比较功能,以提高资源缓存性能

Translator

  • 新增对 routing to EndpointSlice endpoints
  • 新增对 HTTPRoute Timeouts
  • 新增对 multiple RequestMirror filters per HTTPRoute rule
  • 新增对 ignore ports in Host header

Providers

  • 新增对 generationChangedPredicate 在大多数资源的支持以限制资源同步次数
  • 优化了 资源同步效率,通过对所有资源使用同一 enqueue request
  • 新增对 ServiceImport CRD 资源的处理
  • 新增对 基于 Namespace Selector 的资源同步

xDS

  • 修复了 Layered Runtime 的 warning 信息
  • 升级了 最新版本的 go-control-plane 并修复了 xDS 在 ADS 中的顺序问题
  • 新增对 HTTP2 Keep Alives 在 xDS 连接中的支持

CLI

  • 新增对 egctl stats 的支持,用于从 EnvoyProxy 中获取 stats 数据

未来规划

v0.7.0 也会以 Preparation for GA 为主题。

在 v0.6.0 中实现的 ClientTrafficPolicy、BackendTrafficPolicy 以及 SecurityPolicy,会加速未来 EG 的特性开发,如故障注入、熔断降级、健康检查等,而不强依赖与 Gateway API 的定义。

同时 EG 也正在支持 HTTP3/GUIC 协议,以及 OIDC、Basic Auth、Key Auth 等安全策略。

下个版本也会进一步完善控制面的可观测性,以及加强 egctl 命令行工具的能力。

具体 roadmap 后续指定好了之后,也会分享出来,欢迎使用 v0.6,有任何问题也希望能够反馈到社区。

Tip

感谢参与到这个版本贡献的 30 多位工程师!

comments powered by Disqus

Related Posts

Endpoints vs EndpointSlice

Endpoints vs EndpointSlice

本文简单的比较了一下 `Endpoints` 和 `EndpointSlice` 的优劣

Read More