Architecture

    All features provided by OpenKruise are following Kubernetes API, including:

    • Specific identities (e.g. labels, annotations, envs) in resources, such as

    Logically, each controller like cloneset-controller or sidecarset-controller is a separate process, but to reduce complexity, they are all compiled into a single binary and run in the single Pod.

    Besides controllers, this Pod also contains the admission webhooks for Kruise CRDs and Pod. It creates webhook configurations to configure which resources should be handled, and provides a Service for kube-apiserver calling.

    This is a new daemon component released since Kruise v0.8.0 version.

    It is deployed by DaemonSet, runs on every node and manages things like image pre-download, container restarting.