Skip to content

Latest commit

 

History

History
110 lines (82 loc) · 6.71 KB

2022-open-cluster-management-annual.md

File metadata and controls

110 lines (82 loc) · 6.71 KB

Open Cluster Management Sandbox Annual Review

Background

Open Cluster Management (OCM) is a project focused on simplifying management of multiple Kubernetes clusters regardless of where they are deployed. Open APIs are evolving within this project for cluster registration, work distribution, dynamic placement of policies and workloads, and much more. In doing so, OCM helps promote the overall growth and adoption of Kubernetes and its adjacent cloud-native technologies.

Open Cluster Management (OCM) provides a framework to enable any capability within the Kubernetes ecosystem to orchestrate across multiple clusters and cloud providers. The built-in primitives allow an understanding of cluster inventory, cluster workload placement, and cluster workload distribution. The hub-agent model of OCM allows for new kinds of agent behavior to be injected into managed clusters easily. New behaviors can further configure clusters or collect information about clusters (such as observability data or search indexing). The project also provides two out of the box capabilities: multicluster application delivery and orchestration, and multicluster policy-based governance. Additional integrations and add-ons can be easily developed through the use of the robust OCM Add-on Framework.

Alignment with CNCF

  • OCM was accepted as a CNCF Sandbox project on November 09, 2021.

Development metrics

The OCM devstats page and dashboards can be found here.

  • According to devstats, OCM currently has 64 contributors from 19 companies. On average, there are ~1085 contributions per month contained within 134 merged PRs per month.
  • New PRs in last year.
  • The community has grown since the project entered the CNCF sandbox.
    • We consistently hold weekly community meetings. The meeting records can be found here for different timezone/language community members. The average number of meeting attendees is ~10.
    • Number of contributors: 120+ -> 150+
    • Github stars: 600+ -> 1000+
    • Github forks: 330+ -> 560+
    • Contributing organizations: 5 -> 19

Regarding these metrics, we would perceive the community as healthy and rising.

Maintainers

We have established the contributor ladder, and quite a few active and qualified contributors joined to become members. We currently have 7 maintainers from 2 organizations as maintainers.

  • Qiu Jian (Red Hat) @qiujian16
  • Joshua Packer (Red Hat) @jnpacker
  • David Eads (Red Hat) @deads2k
  • Mike Ng (Red Hat) @mikeshng
  • Min Kim (Alibaba) @yue9944882
  • Yong Feng (Alibaba) @luckyfengyong

Project adoption

OCM has several production environment adopters. They are:

There are several more projects and companies that are experimenting with OCM:

Project goals

The primary goal of OCM is to enable capabilities within the Kubernetes ecosystem to orchestrate across multiple clusters and cloud providers. In the past year, we have achieved the following development outcomes:

  • Release cadence: 4 minor releases, roughly once every three months. The latest release is v0.9.0.
  • Key features added to the project (complete changelog can be found here):
    • 0.6
      • New add-ons
        • Cluster Proxy, allows a proxied connection from the hub to a managed cluster's API ingress.
        • Managed Service account, allows the hub to define service account and receive its token from a managed cluster.
      • Sync status of applied resources in ManifestWork API.
      • Placement extensible scheduling.
      • Helm chart interface for addon framework.
    • 0.7
      • New major features to Clusteradm CLI tool.
        • Create, bind and view ManagedClusterSet.
        • Create and view ManifestWork.
        • Check the multicluster controlplane status.
        • Upgrade hub and klusterlet.
      • A default ManagedClusterSet
      • New PolicySet API.
    • 0.8
      • ManifestWork update strategy.
      • Global ClusterSet.
      • Configuring feature gates for Klusterlet and Cluster Manager.
      • Support host alaises for Klusterlet.
      • Running policy addon using Clusteradm CLI tool.
    • 0.9
      • De-escalate ManifestWork agent privilege on Managed Clusters.
      • Support referencing the add-on configuration with add-on related APIs.
      • Allow targeting specific services within Managed Clusters.
      • Application add-on is now able to expose custom Prometheus metrics via the Git subscription.

In the near future, we aim to achieve the following technical goals:

  • Running multiple Hubs on a single cluster.
  • Introduce ArgoCD pull model integration.
  • Support to communicate between the hub and managed clusters in a proxy environment.
  • Add delete options to ManagedCluster to cleanup ManifestWorks and Addons.
  • Enhance Add-on Framework capabilities: rolling upgrade, install strategy, and install template.

A complete project roadmap can be found here.

We have built close connections with members in the CNCF organization for project integration. We have attended multiple conferences such as KubeCon, DevConf and others. We are actively looking for more user adoptions and community collaborations.

How the CNCF can help to achieve the upcoming goals

  • More chances to advocate the project.
  • More chances to collaborate with other projects in CNCF or even out of CNCF.
  • Technical writing support for project documents.

Incubation readiness

  • We are preparing for the incubation proposal.