knative-extensions / serving-progressive-rollout

Knative Serving extension to roll out the revision progressively
Apache License 2.0
6 stars 7 forks source link

Knative Serving Progressive Rollout

go.dev reference Go Report Card Releases LICENSE Slack Status codecov CII Best Practices

Knative Serving Progressive Rollout is an extension to the Knative Serving. It provides middleware primitives that enable:

The main purpose of this project is to optimize the usage of the resources during the transitional time for the Knative Service from one version to another version. The original issue is opened here, and the design doc is here. When the user launch a new version of the Knative Service, Knative Serving will by default launch all the replicas for the new version, and then scale down the replicas for the old version. With the Serving Progressive Rollout installed, Knative Serving will launch a proportion of the replicas for the new version and scale down the old version in each stage, until the new version fully takes over the old version.

Installation and configuration

For documentation on using Knative Serving, see the serving section of the Knative documentation site.

For documentation on the Knative Serving specification, see the docs folder of this repository.

If you are interested in contributing, see CONTRIBUTING.md and DEVELOPMENT.md. For a list of all help wanted issues across Knative, take a look at CLOTRIBUTOR.