Skip to content

Latest commit

 

History

History
122 lines (74 loc) · 7.53 KB

README.md

File metadata and controls

122 lines (74 loc) · 7.53 KB

OpenKruise/Kruise

License Go Report Card CII Best Practices Build Status CircleCI codecov Contributor Covenant

English | 简体中文

notification What is NEW!
May 20th, 2021. Kruise v0.9.0 is RELEASED! It provides great features such as ContainerRecreate and DeletionProtection, please check the CHANGELOG for details.
Mar 4th, 2021. Kruise v0.8.0 is RELEASED! It provides refactoring SidecarSet, Deployment hosted by UnitedDeployment, and a new kruise-daemon component which supports image pre-download, please check the CHANGELOG for details.
Dec 16th, 2020. Kruise v0.7.0 is RELEASED! It provides a new CRD named AdvancedCronJob, promotes AdvancedStatefulSet to v1beta1 and a few features in other controllers, please check the CHANGELOG for details.

Introduction

OpenKruise (official site: https://openkruise.io) is now hosted by the Cloud Native Computing Foundation (CNCF) as a Sandbox Level Project. It consists of several controllers which extend and complement the Kubernetes core controllers for workload and application management.

As of now, Kruise mainly offers these controllers:

  • CloneSet: CloneSet is a workload that mainly focuses on managing stateless applications. It provides a rich set of features for more efficient, deterministic and controlled management, such as in-place update, specified Pod deletion, configurable priority/scatter based update, preUpdate/postUpdate hooks, etc. This post provides more details about why CloneSet is useful.

  • Advanced StatefulSet: An enhanced version of default StatefulSet with extra functionalities such as in-place update, pause and maxUnavailable.

  • SidecarSet: A controller that injects sidecar containers into the Pod spec based on the Pod selectors. The controller is also responsible for upgrading the sidecar containers.

  • Advanced DaemonSet: An enhanced version of default DaemonSet with extra upgrade strategies such as partition, node selector, pause and surging.

  • UnitedDeployment: This controller manages application Pods spread in multiple fault domains by using multiple workloads.

  • BroadcastJob: A job that runs Pods to completion across all the nodes in the cluster.

  • AdvancedCronJob: An extended CronJob controller, currently its template supports Job and BroadcastJob.

  • ImagePullJob: Help users download images on any nodes they want.

  • ContainerRecreateRequest: Provides a way to let users restart/recreate one or more containers in an existing Pod.

  • Deletion Protection: Provides a safety policy which could help users protect Kubernetes resources and applications' availability from the cascading deletion mechanism.

Key Features