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

如何使用 Envoy Gateway 在裸金属集群暴露服务

如何使用 Envoy Gateway 在裸金属集群暴露服务

如何使用 Envoy Gateway 在裸金属集群暴露服务

Read More
Endpoints vs EndpointSlice

Endpoints vs EndpointSlice

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

Read More