v1.0.0

日期:2024 年 3 月 13 日

文档

  • 新增了本地限流(Local Ratelimit)的用户指南
  • 新增了熔断(Circuit Breaker)的用户指南
  • 新增了故障注入(Fault Injection)的用户指南
  • 新增了 EnvoyProxy extraArgs 的用户指南
  • 新增了在 ClientTrafficPolicy 中超时的用户指南
  • 新增了基础路由的 JWT Claim 用户指南
  • 新增了 HTTP 超时的用户指南
  • 新增了在 BackendTrafficPolicy 中重试的用户指南
  • 新增了基础身份验证(Basic Auth)的用户指南
  • 新增了 OIDC 的用户指南
  • 新增了 ClientTrafficPolicy 的用户指南
  • 新增了 BackendTrafficPolicy 的用户指南
  • 新增了使用 HTTPS 的基础身份验证(Basic Auth)的用户指南
  • 新增外部鉴权(External Authorization)的用户指南
  • 新增了 Kubernetes 外部路由的用户指南
  • 新增了 BackendTLSPolicy 的用户指南
  • 新增了从外部客户端到网关的双向 TLS 的用户指南
  • 新增了使用自定义证书进行控制平面身份验证的用户指南
  • 新增了多 GatewayClass 和合并 Gateway 部署模式的用户指南
  • 为 CRD API 添加了 Typerequired 的文档
  • 重构了用户指南文档的结构
  • 将设计文档移动到“参与”下并重构
  • 将 crd-ref-docs 更新至 0.0.10
  • 将 Envoy Proxy 镜像更新为 main 中的 envoy:distroless-dev

安装

  • 新增了对从私有仓库中提取 envoyGateway 镜像的支持
  • 新增了为 certgen Job 配置资源的支持
  • 新增了为 EnvoyGateway Pod 配置亲和力的支持

API

  • 在 ClientTrafficPolicy CRD 中添加了对下游 QUIC/HTTP3 的支持
  • 在 ClientTrafficPolicy CRD 中添加了对下游 MTLS 的支持
  • 在 ClientTrafficPolicy CRD 中添加了对 EnvoyHeaders 的启用支持
  • 在 ClientTrafficPolicy CRD 中添加了对 DisableMergeSlash 和 escapedSlashesAction 的支持
  • 在 ClientTrafficPolicy CRD 中添加了对 HTTP/1.1 中的 EnableTrailers 的支持
  • 在 ClientTrafficPolicy CRD 中添加了对 HTTP/1 上保留标头字母大小写的支持
  • 在 ClientTrafficPolicy CRD 中添加了对 HTTP/1.0 和 HTTP/0.9 启用的支持
  • 在 ClientTrafficPolicy CRD 中添加了对使用 XFF 进行客户端 IP 检测的支持
  • 在 ClientTrafficPolicy CRD 中添加了对使用自定义标头进行客户端 IP 检测的支持
  • 在 ClientTrafficPolicy CRD 中添加了对连接超时的支持
  • 在 ClientTrafficPolicy CRD 中添加了对常见 TLS 配置属性的支持
  • 在 ClientTrafficPolicy CRD 中添加了对代理协议的支持
  • 在 ClientTrafficPolicy CRD 中添加了对 TCPKeepAlive 的支持
  • 在 BackendTrafficPolicy CRD 中添加了对本地限流(Local Ratelimit)的支持
  • 在 BackendTrafficPolicy CRD 中添加了对熔断(Circuit Breaker)的支持
  • 在 BackendTrafficPolicy CRD 中添加了对故障注入(Fault Injection)的支持
  • 在 BackendTrafficPolicy CRD 中添加了对被动健康检查(Passive Health Check)的支持
  • 在 BackendTrafficPolicy CRD 中添加了对主动健康检查(Active Health Check)的支持
  • 在 BackendTrafficPolicy CRD 中添加了对连接超时(Connection Timeout)的支持
  • 在 BackendTrafficPolicy CRD 中添加了对压缩器/解压缩器(Compressor/Decompressor)的支持
  • 在 BackendTrafficPolicy CRD 中添加了对重试(Retry)的支持
  • 在 BackendTrafficPolicy CRD 中添加了对慢启动模式的支持
  • 在 BackendTrafficPolicy CRD 中添加了对代理协议的支持
  • 在 BackendTrafficPolicy CRD 中添加了对 TCPKeepAlive 的支持
  • 在 BackendTrafficPolicy CRD 中添加了对 PolicyStatus 的支持
  • 在 ClientTrafficPolicy CRD 中添加了对 PolicyStatus 的支持
  • 在 SecurityPolicy CRD 中添加了对 PolicyStatus 的支持
  • 在 SecurityPolicy CRD 中添加了对 OIDC 的支持
  • 在 SecurityPolicy CRD 中添加了对基础身份验证(Basic Auth)的支持
  • 在 SecurityPolicy CRD 中添加了对 OIDC 的 RedirectURL 和 signoutPath 的支持
  • 在 SecurityPolicy CRD 中添加了对 ExtractFrom 标头和参数到 JWT 的支持
  • 在 SecurityPolicy CRD 中添加了对外部鉴权(External Authorization)的支持
  • 在 SecurityPolicy CRD 中添加了对 JWT 的 RecomputeRoute 字段的支持
  • 在 SecurityPolicy CRD 中添加了对 CORS 设置的 AllowCredentials 旋钮的支持
  • 在 SecurityPolicy CRD 中添加了对从不同标识符提取到 JWT 的支持
  • 在 EnvoyPatchPolicy CRD 中添加了对 Secret 资源的支持
  • 在 EnvoyPatchPolicy CRD 中添加了对 JSONPatchOperation 的值可选的支持
  • 在 EnvoyPatchPolicy CRD 中添加了对 JSONPatchOperation 中 From 字段的支持
  • 在 EnvoyPatchPolicy CRD 中添加了对 MergeGateways 的支持
  • 通过实施 BackendTLSPolicy CRD 添加了对上游 TLS 的支持
  • 在 EnvoyGateway 配置中添加了对 NamespaceSelectors 的 LabelSelector 类型的支持
  • 在 EnvoyGateway 配置中添加了对 Ratelimit Prometheus 的支持
  • 在 EnvoyProxy CRD 中添加了对 Pod 终止时 Envoy 关闭之前优雅地耗尽侦听器的支持
  • 在 EnvoyProxy CRD 中添加了对 Envoy 服务配置 externalTrafficPolicy 的支持
  • 在 EnvoyProxy CRD 中添加了对 Envoy 额外参数的支持
  • 在 EnvoyProxy CRD 中添加了对 Mergepatch 到 envoyproxy/ratelimit 部署的支持
  • 在 EnvoyProxy CRD 中添加了对 Mergepatch 到 envoyproxy 服务的支持
  • 在 EnvoyProxy CRD 中添加了对 NodeSelector 到 PodSpec 的支持
  • 在 EnvoyProxy CRD 中添加了对 HorizontalPodAutoscaler 的支持
  • 在 EnvoyProxy CRD 中添加了对 PodSpec 的 TopologySpreadConstraints 支持
  • 在 EnvoyProxy CRD 中添加了对 PodSpec 的 ImagePullSecrets 的支持

重大变化

  • 使用通配符将 AllowOrigins 与 SecurityPolicy CRD 中的 CORS 进行匹配
  • 删除 EnvoyProxy CRD 中的主机网络支持

一致性

  • 将后端镜像从 gcr.io/k8s-staging-ingressconformance/echoserver 替换为 gcr.io/k8s-staging-gateway-api/echo-basic

测试

  • 添加了标头中大小写保留的 e2e 测试
  • 添加了在 ClientTrafficPolicy 中超时的 e2e 测试
  • 添加了 JWT Claim 基础路由的 e2e 测试
  • 添加了 OIDC 的 e2e 测试
  • 添加了 BackendTrafficPolicy 重试(Retry)的 e2e 测试
  • 添加了后端升级的 e2e 测试
  • 添加了外部鉴权(External Authorization)的 e2e 测试
  • 添加了后端 TLS 策略的 e2e 测试
  • 添加了 Envoy Gateway 版本升级的 e2e 测试
  • 添加了加权后端的 e2e 测试
  • 添加了对 LoadBalancerIP 的验证以防止拖尾周期

转换器

  • 修复了前缀匹配,以防止具有相同前缀的路由匹配错误的问题
  • 通过为 ir.Infra 实现类似接口来修复多重调谐的问题
  • 修复了具有空条件 {} 的 EndpointSlice 问题
  • 修复了解析 http 请求超时时的错误处理
  • 修复了 EnvoyPatchPolicy 被禁用时无状态的问题
  • 修复了 xDS 和 infra IR 的可打印问题
  • 修复了跳过 backendRef 并将权重设置为 0 的问题
  • 修复了限流中的 AND 标头匹配不起作用的问题
  • 修复了不存在 GatewayClass 时的删除逻辑
  • 修复了 ClientTrafficPolicy 的 mergedGateway irKey 匹配问题
  • 修复了策略应仅被应用到 mergeGateway 为 true 的 Gateway 的问题
  • 修复了启用 mergeGateway 时不会显示网关侦听器状态的问题
  • 通过将 Web 套接字升级配置从 hcm 移动到路由,修复了 GRPCroute websocket 无法工作的问题
  • 修复了在 HTTPRoute 上设置超时时配置空闲超时的问题
  • 修复了 OIDC 令牌端点的放宽 HTTPS 限制
  • 修复了将路由转换到空的后端时出现的 Panic 问题
  • 修复了 xDS 转换应以最高效的方式完成
  • 修复了从监测中删除未被使用的状态键的问题
  • 修复了比较 Envoy Proxy 服务时忽略终结器的问题
  • 修复了如果 HTTP/3 被启用后不会覆盖 ALPN 数组的问题
  • 修复了启用 HTTP/3 时默认添加 h3 ALPN 的问题
  • 修复了 SecurityPolicy/BackendTrafficPolicy 的 Merge 行为,改为 Replace
  • 修复了启用 HTTP/3 时在 alt-svc 标头中使用服务端口的问题
  • 修复了防止针对同一端口上的非 TLS 侦听器的策略发生冲突
  • 修复了跳过所有策略的 ReasonTargetNotFound
  • 修复了跳过所有策略的空发布状态
  • 添加了在发送到 Envoy 之前正则表达式验证支持
  • 添加了当服务类型为 ClusterIP 时将 spec.addresses.value 设置为 ClusterIP 的支持
  • 为 BackendRef 中的过滤器添加了不支持的状态条件
  • 为 Provider 资源添加了 List 替代 Map,以保证稳定性
  • 添加了 OAuth Cookie 的后缀,以防止多个 OAuth 过滤器覆盖彼此的 Cookie
  • 添加了对 BackendTrafficPolicy 和 SecurityPolicy 覆盖条件的支持
  • 添加了对默认重试预计量和重试主机判断的支持
  • 添加了对 gateway.spec.infrastructural 实现的支持
  • 添加了对多个后端的上游 TLS 的支持
  • 添加了在 ClientTrafficPolicy 中对 CA 证书验证的支持

Provider

  • 添加了对每个控制器多个 GatewayClass 的支持
  • 在 Kubernetes Provider 中添加了 SecurityPolicyIndexers
  • 添加了对在 CertGen Job 中生成 HMAC 密钥的支持
  • 修复了删除 GatewayClass 时的 Finalizer 逻辑
  • 修复了重新启动控制平面时 MergeGateway 出现 Panic 的问题

xDS

  • 添加了对 EDS 缓存的支持
  • 添加了对 ADS 缓存的支持,以保证规则顺序
  • 修复了使用 RequestHeaderModifier 过滤器时出现的已弃用字段错误
  • 修复了 Envoy 在运行时拒绝 XDS 并在重新启动时丢失所有路由的问题
  • 修复了与定义的路由不匹配的请求触发每个路由过滤器的问题
  • 将 go-control-plane 升级至 v0.12.0

Cli

  • 添加了对 egctl x status 命令的支持
  • 添加了对 egctl experimental dashboard envoy-proxy 命令的支持
  • 添加了对 egctl config ratelimit 命令的支持
  • 添加了对从 gateway-api 资源到 IR 的 gctl translate from gateway-api 命令的支持

Last modified September 7, 2024: bump to go1.22.7 (#4175) (69bf882)