Enhanced Rollouts features for application automation.
Go to file
berg f21c3fb763
dockerfile support multiarch(amd64,arm64) (#83)
Signed-off-by: liheng.zms <liheng.zms@alibaba-inc.com>

Signed-off-by: liheng.zms <liheng.zms@alibaba-inc.com>
2022-09-13 10:35:45 +08:00
.github support cloneset & statefulset rollback in batches (#54) 2022-08-23 11:11:43 +08:00
.license Add licenses and fix manifests generation (#21) 2022-03-10 19:55:42 +08:00
api/v1alpha1 support cloneset & statefulset rollback in batches (#54) 2022-08-23 11:11:43 +08:00
config support cloneset & statefulset rollback in batches (#54) 2022-08-23 11:11:43 +08:00
docs dockerfile support multiarch(amd64,arm64) (#83) 2022-09-13 10:35:45 +08:00
hack rollout apis (#5) 2022-02-21 10:51:35 +08:00
pkg change rollout id from workload labels to annotations (#75) 2022-09-05 11:26:38 +08:00
scripts Code optimization (#25) 2022-04-20 20:22:38 +08:00
test add rollout id label to workload (#73) 2022-09-01 13:07:34 +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 Code optimization (#25) 2022-04-20 20:22:38 +08:00
CHANGELOG.md rollout v0.2.0 changelog (#57) 2022-07-21 11:19:36 +08:00
Dockerfile Allow modification of steps during rollout (#23) 2022-03-28 16:33:50 +08:00
Dockerfile_multiarch dockerfile support multiarch(amd64,arm64) (#83) 2022-09-13 10:35:45 +08:00
LICENSE Initial commit 2022-01-11 14:58:14 +08:00
Makefile dockerfile support multiarch(amd64,arm64) (#83) 2022-09-13 10:35:45 +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 Feat: support the Gateway API for the canary (#52) 2022-07-12 20:52:22 +08:00
go.sum support cloneset & statefulset rollback in batches (#54) 2022-08-23 11:11:43 +08:00
main.go add UserAgent = kruise-rollout (#64) 2022-08-09 19:35:04 +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.