OpenKruise

更新时间:
复制 MD 格式

OpenKruise is a set of standard Kubernetes extensions that works alongside native Kubernetes to efficiently manage application pods, sidecar containers, and image distribution.

Overview

OpenKruise is an Alibaba Cloud open-source cloud-native application automation engine and a deployment foundation widely used across Alibaba's economy. It is a Cloud Native Computing Foundation (CNCF) Sandbox project that extends Kubernetes with advanced workload controllers, day-2 operations, and high-availability protection.

OpenKruise extends Kubernetes with three categories of capabilities:

Advanced workloads

OpenKruise provides workload controllers—CloneSet, Advanced StatefulSet, Advanced DaemonSet, SidecarSet, and AdvancedCronJob—that extend their Kubernetes counterparts with features such as in-place updates, canary releases, stream updates, configurable scaling and upgrade strategies, and parallel operations.

In-place updates restart only the target container with the new image, leaving the pod in place. This reduces update time and minimizes side effects on subsystems such as the scheduler, CNI, and CSI.

Advanced day-2 operations

OpenKruise supports operational workflows beyond basic deployment:

  • Cross-namespace distribution of ConfigMaps and Secrets

  • Image pre-download on nodes before rolling updates

  • Sidecar container and pod annotation injection via SidecarSet

  • Container launch priority and sequence control

  • Time zone-aware job scheduling via AdvancedCronJob

High-availability protection

  • WorkloadSpread: Distribute workloads across topology zones for elastic topology management

  • PodUnavailableBudget: Protect pods from voluntary disruptions, including custom workloads with scale subresources

  • PodProbeMarker: Probe and label sidecar pods with custom readiness conditions

Usage notes

See Use OpenKruise to deploy cloud-native applications.

Release notes

July 2023

Version Image address Description Release date Impact
v1.4.1 registry-vpc.{{.Region}}.aliyuncs.com/acs/kruise-manager:v1.4.1

New features:

  • Job Sidecar Terminators released.

  • CloneSet supports the disablePVCReuse field to prevent persistent volume claim (PVC) reuse when pods are recreated.

  • CloneSet supports the PreNormal lifecycle hook.

  • Kruise Rollout supports Advanced DaemonSets.

  • Kruise Rollout supports end-to-end canary releases.

See Documentation.

2023-07-17 No impact on workloads

February 2023

Version Image address Description Release date Impact
v1.3.1 registry-vpc.{{.Region}}.aliyuncs.com/acs/kruise-manager:v1.3.0

New features:

  • Kruise Rollout updated to 0.3.0.

  • Kruise Rollout supports phased releases of Deployments.

  • Kruise Rollout supports A/B testing based on NGINX, Application Load Balancer (ALB), and Microservices Engine (MSE).

See kruise change log.

2023-02-28 No impact on workloads

December 2022

Version Image address Description Release date Impact
v1.3.0 registry-vpc.{{.Region}}.aliyuncs.com/acs/kruise-manager:v1.3.0

New features:

  • PodProbeMarker CustomResourceDefinition (CRD) supports bypass pod probing and labeling.

  • SidecarSet injects specific historical sidecar container versions and pod annotations.

  • AdvancedCronJob supports time zones.

  • WorkloadSpread supports StatefulSets.

  • Advanced DaemonSet supports image pre-download.

  • Optimized memory allocation and performance for large clusters.

See kruise change log.

2022-12-25 No impact on workloads

August 2022

Version Image address Description Release date Impact
v1.2.0 registry-vpc.{{.Region}}.aliyuncs.com/acs/kruise-manager:v1.2.0

New features:

  • Added Kruise Rollout, which supports progressive release methods such as canary releases and batch releases.

  • PodUnavailableBudget protects custom workloads with scale subresources.

See kruise change log.

2022-08-24 No impact on workloads

July 2022

Version Image address Description Release date Impact
v1.1.0 registry-vpc.{{.Region}}.aliyuncs.com/acs/kruise-manager:v1.1.0

New features:

  • Advanced StatefulSet supports automatic persistent volume claim (PVC) deletion.

  • Advanced DaemonSet refactored with updated community code.

  • SidecarSet supports shared directories and environment variables in init containers.

  • CloneSet and Advanced StatefulSet support container launch priorities during in-place updates.

See kruise change log.

2022-07-20 No impact on workloads

January 2022

Version Image address Description Release date Impact
v1.0.0 registry-vpc.{{.Region}}.aliyuncs.com/acs/kruise-manager:v1.0.0

New features:

  • ConfigMaps and Secrets can be distributed across namespaces.

  • Container launch sequence can be specified.

  • In-place updates of environment variables are supported via the Downward API.

2022-01-25 No impact on workloads

October 2021

Version Image address Description Release date Impact
v0.10.0 registry-vpc.{{.Region}}.aliyuncs.com/acs/kruise-manager:v0.10.0

New features:

  • WorkloadSpread enables elastic topology management for applications.

  • PodUnavailableBudget provides security protection for application pods.

  • CloneSet supports pod topology spread constraints.

  • Advanced StatefulSet supports rate-limited scaling and image pre-download for in-place updates.

2021-10-15 No impact on workloads

May 2021

Version Image address Description Release date Impact
v0.9.0 registry.cn-hangzhou.aliyuncs.com/acs/kruise-manager:v0.9.0

New features:

  • Container restart and recreation are supported.

  • Cascading deletion protection is supported.

  • CloneSet supports pod deletion by priorities, image pre-download, and efficient rollback.

  • SidecarSet supports hot updates of mesh containers.

2021-05-20 No impact on workloads