rollout

module
v0.0.2 Latest Latest
Warning

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

Go to latest
Published: Jan 24, 2024 License: Apache-2.0

README

KusionStack Rollout

Overview

KusionStack Rollout is a progressive delivery controller that automates the release process for applications running on Kubernetes Clusterset. It provides several delivery strategies such as Canary release, Blue/Green mirroring, A/B testing to reduce the risk of introducing a new version in production. It can also integrates with GatewayAPI, leveraging its traffic shaping ablibities to gradually shift traffic to the new version.

The terminology clusterset is defined in KEP-1645: Multi-Cluster Services API.

clusterset - A placeholder name for a group of clusters with a high degree of mutual trust and shared ownership that share services amongst themselves. Membership in a clusterset is symmetric and transitive. The set of member clusters are mutually aware, and agree about their collective association. Within a clusterset, namespace sameness applies and all namespaces with a given name are considered to be the same namespace. Implementations of this API are responsible for defining and tracking membership in a clusterset. The specific mechanism is out of scope of this proposal.

overview

Key Features

  • Supports progressive delivery for Applications with multiple components cross Multi Clusters.
  • Supports various kinds of workload, such as StatefulSet, CollaSet.
  • Supports several delivery strategies, such as Canary release, Multi Batch, Blue/Green mirroring, A/B testing.
  • Supports fine-grained traffic shifting with GatewayAPI
  • Extends rollout progress with webhook

Quick Start

See Getting Started Guide to walk through creating and then updating the rollout in local kind cluster.

Please refer to official website for more information.

Contributing

Please refer to Contributing

Code of Conduct

Please refer to Code of Conduct for more details.

Contact us

License

This project follows Apache-2.0 License.

Directories

Path Synopsis
apis
rollout/v1alpha1
Package v1alpha1 contains API Schema definitions for the rollout v1alpha1 API group
Package v1alpha1 contains API Schema definitions for the rollout v1alpha1 API group
cmd
rollout command
pkg
generated/clientset/versioned
This package has the automatically generated clientset.
This package has the automatically generated clientset.
generated/clientset/versioned/scheme
This package contains the scheme of the automatically generated clientset.
This package contains the scheme of the automatically generated clientset.
generated/clientset/versioned/typed/rollout/v1alpha1
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
test
e2e

Jump to

Keyboard shortcuts

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