Enhanced Rollouts features for application automation.
Go to file
berg 6c1ae60f9c
rollout docs (#24)
Signed-off-by: liheng.zms <liheng.zms@alibaba-inc.com>
2022-03-31 15:08:52 +08:00
.github Add workflow actions and update Makefile (#20) 2022-03-10 19:28:49 +08:00
.license Add licenses and fix manifests generation (#21) 2022-03-10 19:55:42 +08:00
api/v1alpha1 Allow modification of steps during rollout (#23) 2022-03-28 16:33:50 +08:00
config Allow modification of steps during rollout (#23) 2022-03-28 16:33:50 +08:00
docs rollout docs (#24) 2022-03-31 15:08:52 +08:00
hack rollout apis (#5) 2022-02-21 10:51:35 +08:00
pkg Allow modification of steps during rollout (#23) 2022-03-28 16:33:50 +08:00
test Allow modification of steps during rollout (#23) 2022-03-28 16:33:50 +08:00
.dockerignore init project (#1) 2022-01-14 13:38:36 +08:00
.gitignore rollout configs 2022-02-21 20:13:40 +08:00
.golangci.yml Add workflow actions and update Makefile (#20) 2022-03-10 19:28:49 +08:00
Dockerfile Allow modification of steps during rollout (#23) 2022-03-28 16:33:50 +08:00
LICENSE Initial commit 2022-01-11 14:58:14 +08:00
Makefile Add licenses and fix manifests generation (#21) 2022-03-10 19:55:42 +08:00
OWNERS Add workflow actions and update Makefile (#20) 2022-03-10 19:28:49 +08:00
PROJECT rollout configs 2022-02-21 20:13:40 +08:00
README.md rollout docs (#24) 2022-03-31 15:08:52 +08:00
go.mod Add workflow actions and update Makefile (#20) 2022-03-10 19:28:49 +08:00
go.sum Add workflow actions and update Makefile (#20) 2022-03-10 19:28:49 +08:00
main.go adjusting the rollout directory structure (#19) 2022-03-10 16:07:42 +08:00
temp Improve BatchRelease controller (#22) 2022-03-25 18:29:49 +08:00

README.md

Rollouts

License

Introduction

Kruise Rollouts is a Bypass component which provides advanced deployment capabilities such as canary, traffic routing, and progressive delivery features, for a series of Kubernetes workloads, such as Deployment and CloneSet.

Why Kruise Rollouts?

  • Functionality

    • Support multi-batch delivery for Deployment/CloneSet.
    • Support Nginx/ALB/Istio traffic routing control during rollout.
  • Flexibility:

    • Support scaling up/down to workloads during rollout.
    • Can be applied to newly-created or existing workload objects directly;
    • Can be ridden out of at any time when you needn't it without consideration of unavailable workloads and traffic problems.
    • Can cooperate with other native/third-part Kubernetes controllers/operators, such as HPA and WorkloadSpread.
  • Non-Invasion:

    • Does not invade native workload controllers.
    • Does not replace user-defined workload and traffic configurations.
  • Extensibility:

    • Easily extend to other traffic routing types, or workload types via plugin codes.
  • Easy-integration:

    • Easily integrate with classic or GitOps-style Kubernetes-based PaaS.

Quick Start

Community

Active communication channels:

  • Slack: OpenKruise channel (English)
  • DingTalkSearch GroupID 23330762 (Chinese)
  • WeChat: Search User openkruise and let the robot invite you (Chinese)
  • Bi-weekly Community Meeting (APAC, Chinese):
  • Bi-weekly Community Meeting (English): TODO

Acknowledge

  • The global idea is from both OpenKruise and KubeVela communities, and the basic code of rollout is inherited from the KubeVela Rollout.
  • This project is maintained by both contributors from OpenKruise and KubeVela.

License

Kruise Rollout is licensed under the Apache License, Version 2.0. See LICENSE for the full license text.