Skip to main content
Account

Open Cluster Management

Open Cluster Management is a hub-spoke control plane for managing many Kubernetes clusters. Learn how placement, ManifestWork and the klusterlet agent work.

Status
Stable
Category
Orchestration & Management
Subcategory
Scheduling & Orchestration
License
Apache-2.0
Technology matrix Skip Just not for me See the matrix

Open Cluster Management (OCM) is a multi-cluster control plane for Kubernetes that turns a fleet of clusters into an inventory you can query, schedule work onto, and apply policies across from a single hub. It is the upstream that powers Red Hat Advanced Cluster Management (RHACM) and is a CNCF sandbox project.

The architecture is pull-based. A hub cluster runs the OCM control plane; each managed cluster runs a klusterlet agent that registers itself with the hub (via a CSR-based join handshake) and then watches for ManifestWork CRs targeted at it. Workload placement is expressed through Placement and PlacementDecision resources, which let the scheduler pick clusters by labels, taints, or custom scoring plugins โ€” effectively kube-scheduler semantics, but for clusters instead of pods. Add-ons built on top of OCM include the Policy framework (which layers on Kyverno, Gatekeeper, or config-policy-controller), Application lifecycle management, cluster-proxy for reaching private clusters, and the submariner add-on for pod-to-pod networking across clusters.

OCM competes with Karmada, KubeFed (deprecated), Argo CD ApplicationSets for GitOps-driven fan-out, Rancher Fleet, and Cluster API-based fleet tools. It is Apache-2.0 licensed and contributed to primarily by Red Hat and Alibaba.

Scheduling & Orchestration

Email signup loads here. You can also manage email preferences in account settings.

Build Open Cluster Management? I'll show you where engineers get stuck with it โ†’ Back free content for the community โ†’