OpenKruise is an extended component for Kubernetes that was built with a focus on application automation like deployment, upgrade, ops, and availability protection.
The project became a Cloud Native Computing Foundation (CNCF) Incubating Project last month which means that the project is considered stable and used successfully in production.
The majority of features offered by OpenKruise are developed using CRD extensions and can function independently on Kubernetes clusters without requiring additional dependencies.
The project offers advanced workloads which support the basic features similar to the upstream Workloads in Kubernetes, sidecar container management allowing users to define, inject, and upgrade sidecar containers with no effect on application containers.
The project also offers enhanced operations such as the ability to restart containers in place, pre-download images on specific nodes, control containers starting priority in a Pod, and distribute resources over multiple namespaces.
Lastly, OpenKruise offers application availability protection, which can prevent unexpected Kubernetes resource deletion during cascading deletion.
“OpenKruise pioneered a path for cloud native practitioners to migrate or operate their critical workloads or sidecars at massive scale without compromise,” Said Lei Zhang, CNCF TOC sponsor of OpenKruise. “This enabled the new trend of embracing Kubernetes in many mission-critical scenarios such as large-scale AI/ML infrastructure, telecom infrastructure, and planet-scale e-business/social media platforms. We’re excited to welcome more battle-tested ecosystem projects into CNCF and look forward to watching OpenKruise help grow cloud native adoptions to a new level.”
The project consists of three components: kruise-manager, which is a control plane component that runs on controllers and webhooks, kruise-daemon that runs on every node, and kruise-rollout as a decoupled component which provides advanced deployment capabilities.