serving-progressive-rollout

module
v0.42.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 25, 2024 License: Apache-2.0

README

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 progressive rollout of a new version based on an existing version

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.

Directories

Path Synopsis
cmd
autoscaler
Multitenant autoscaler executable.
Multitenant autoscaler executable.
pkg
apis/serving/v1
Package v1 contains the Serving v1 API types.
Package v1 contains the Serving v1 API types.
client/clientset/versioned/fake
This package has the automatically generated fake clientset.
This package has the automatically generated fake clientset.
client/clientset/versioned/scheme
This package contains the scheme of the automatically generated clientset.
This package contains the scheme of the automatically generated clientset.
client/clientset/versioned/typed/serving/v1
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
client/clientset/versioned/typed/serving/v1/fake
Package fake has the automatically generated clients.
Package fake has the automatically generated clients.
reconciler/autoscaling/kpa
Package kpa implements a kubernetes controller which tracks revisions and notifies a callback interface.
Package kpa implements a kubernetes controller which tracks revisions and notifies a callback interface.
third_party
VENDOR-LICENSE/github.com/hashicorp/golang-lru
Package lru provides three different LRU caches of varying sophistication.
Package lru provides three different LRU caches of varying sophistication.
VENDOR-LICENSE/github.com/hashicorp/golang-lru/simplelru
Package simplelru provides simple LRU implementation based on build-in container/list.
Package simplelru provides simple LRU implementation based on build-in container/list.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL