github kgateway-dev/kgateway v2.5.0-beta.3

pre-release5 hours ago

🎉 Welcome to the v2.5.0-beta.3 release of the kgateway project!


Release Notes

Changes since v2.5.0-beta.2

New Features

  • Add KGW_CLUSTER_DISCOVERY_MODE=REFERENCED (experimental, default ALL) to scope CDS and EDS to the clusters a gateway's generated configuration references, instead of emitting one for every discovered backend. (#14717)
  • Add KGW_CLUSTER_DEREFERENCE_GRACE to keep a de-referenced cluster published briefly when cluster discovery is scoped, so a route update that stops naming a backend reaches Envoy before the backend's cluster is removed. A cluster whose backend is deleted is removed at once. (#14718)
  • Add KGW_CLUSTER_REFERENCE_AHEAD to deliver a newly-referenced cluster before the route that targets it when cluster discovery is scoped, so a route retarget onto a new backend cannot briefly 503. (#14719)
  • Plugins that select a route destination at request time can declare it with ClusterEmissionClaim, so scoped cluster discovery stays enabled for the rest of the gateway instead of reverting to emitting every cluster. (#14721)

Bug Fixes

  • Per-client xDS publication no longer stalls indefinitely while referenced clusters are converging. New gateway pods receive configuration within KGW_PER_CLIENT_PUBLISH_BUDGET (default 15s), route changes onto clusters that never become ready are released after the same budget, and proxies that reconnect after a controller restart are withheld for at most KGW_PER_CLIENT_WARM_WITHHOLD_BOUND (default 10m) while clusters they route to are missing. New metrics report deferred, held, bounded and withheld publications. (#14698)
  • Bound xDS rejection metric labels. Clients are labeled with the gateway identity the control plane resolves for xDS (with xDS auth off, the gateway a stream first claims), and unrecognized resource types use other. (#14699)
  • Stop re-sending a rejected xDS response in a loop while the snapshot is unchanged. The rejected version is retried with backoff, up to once a minute, so a transient rejection still recovers. (#14701)
  • Give a client's EDS set the same version whether it was published directly, filtered, or carried forward, so equal published assignments no longer trigger redundant EDS updates. (#14702)
  • Answer reconnecting proxies' initial EDS, RDS and SDS requests when snapshots are rebuilt at the same version, avoiding warming delays after control-plane restarts. Also answer a proxy's endpoint request after a cluster update changes a cluster it already has, so the change no longer waits for Envoy's 15s EDS fetch timeout. (#14703)
  • Reclaim the xDS snapshot cache entries of gateway proxies that have disconnected, so controller memory no longer grows with proxy churn. A reconnecting proxy is no longer answered from its previous connection's entry, which could roll it back to older config. (#14816)

Documentation

  • Add kgateway_xds_cluster_scoping metrics reporting how many clusters scoped discovery kept out of each gateway's proxies, counting transition windows, and flagging gateways that reverted to emitting all clusters. (#14720)

Contributors

Thanks to all the contributors who made this release possible:

Installation

The kgateway project is available as a Helm chart and docker images.

Helm Charts

The Helm charts are available at:

  • oci://cr.kgateway.dev/kgateway-dev/charts/kgateway
  • oci://cr.kgateway.dev/kgateway-dev/charts/kgateway-crds

Docker Images

The docker images are available at:

  • cr.kgateway.dev/kgateway-dev/kgateway:v2.5.0-beta.3
  • cr.kgateway.dev/kgateway-dev/sds:v2.5.0-beta.3
  • cr.kgateway.dev/kgateway-dev/envoy-wrapper:v2.5.0-beta.3

Quickstart

Try installing this release:

helm install kgateway-crds oci://cr.kgateway.dev/kgateway-dev/charts/kgateway-crds --version v2.5.0-beta.3 --namespace kgateway-system --create-namespace
helm install kgateway oci://cr.kgateway.dev/kgateway-dev/charts/kgateway --version v2.5.0-beta.3 --namespace kgateway-system --create-namespace

For detailed installation instructions and next steps, please visit our quickstart guide.

Don't miss a new kgateway release

NewReleases is sending notifications on new releases.