/rollouts

Enhanced Rollouts features for application automation.

Primary LanguageGoApache License 2.0Apache-2.0

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)
  • DingTalk:Search 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.