KubeFleet is a multi-cluster solution that enables users to effectively manage their applications running in multiple Kubernetes clusters.
Project Description
KubeFleet is a cloud native solution tailored for the at-scale management of applications running in multiple Kubernetes clusters, providing orchestration and coordination of applications across a fleet of Kubernetes clusters. KubeFleet workload orchestration enables users to create resources on a Kubernetes hub cluster and selectively propagate the resources to some or all managed clusters based on names, labels, capacity, cluster size, cost, etc. Beside intelligent scheduling, KubeFleet supports staged rollouts, which allows users to centrally manage the rollout the changes of an application to a set of clusters. KubeFleet’s streamlining of resource management not only enhances operational efficiency but also ensures that teams can effectively manage their Kubernetes native configurations, such as resource quota, RBAC, and network polices, at scale.
Org repo URL (provide if all repos under the org are in scope of the application)
[x] If the project is accepted, I agree the project will follow the CNCF IP Policy
Trademark and accounts
[x] If the project is accepted, I agree to donate all project trademarks and accounts to the CNCF
Why CNCF?
We are excited to submit our project, which we believe has the potential to resonate with a wide audience within the Kubernetes community. Our commitment to open-source principles drives us to adopt the best practices and foster an inclusive, vendor-neutral environment. We see the CNCF as an ideal platform to support this vision, allowing us to collaborate with others in creating a solution that benefits everyone and advances shared goals. We invite all community members to join us on this journey toward collaboration and innovation.
Benefit to the Landscape
Adding KubeFleet to the CNCF landscape will significantly enhance the ecosystem by providing a comprehensive solution to managing an application on multiple Kubernetes clusters at scale. KubeFleet’s ability to facilitate workload orchestration across multiple clusters addresses common challenges in resource distribution and operational efficiency, which are often barriers for organizations managing applications in a multi-cluster environment. By fostering collaboration and vendor neutrality, KubeFleet not only fills a critical gap in the current landscape but also empowers teams to adopt best practices in multi-cluster application management, driving innovation and improving productivity within the CNCF community.
Cloud Native 'Fit'
KubeFleet fits into Scheduling & Orchestration in the Cloud Native landscape as the project aims to automate the orchestration of workloads across clusters, enhancing operational efficiency and reducing manual intervention, which is a core tenet of cloud-native practices.
Cloud Native 'Integration'
KubeFleet depends on Kubernetes, as the project is a Kubernetes operator following the established Kubernetes custom resource definition (CRD) and controller design pattern.
Cloud Native Overlap
There are several multi-cluster related CNCF projects such as Karmada, KubeVela, OCM, ClusterNet and KubeStellar. While none of these projects are identical to KubeFleet, they offer similar functionality for managing applications on multiple Kubernetes clusters. KubeFleet distinguishes itself by providing a namespace centric approach that operates on the entire namespace instead of individual resources. It also provides a rich set of continuous deployment capabilities to roll out an update to a fleet of clusters in a multi-stage and step-by-step way.
Similar projects
Competing projects:
Karmada: emphasizes policy-driven application management across multiple clusters, enabling users to define and enforce deployment policies for applications in a distributed environment.
KubeVela: While KubeVela has some multi-cluster capabilities, it mostly focuses on providing an extensible application abstraction to allow anyone to build an opinionated PaaS.
Open Cluster Management (OCM): tightly coupled with its production usage, limiting flexibility and external influence on its APIs. While it offers a modular approach that allows for customization, this can lead to complexity in creating a cohesive end-to-end solution..
ClusterNet: specializes in helping setup network tunnels in a configurable way and lets you manage/visit them all as if they were running locally.
KubeStellar: simplifies the deployment and configuration of applications across multiple Kubernetes clusters. It provides a seamless experience akin to using a single cluster, and it integrates with the tools you're already familiar with, eliminating the need to modify existing resources.
KubeAdmiral: is a multi-cluster management system for Kubernetes, developed from Kubernetes Federation v2.
Landscape
No
Business Product or Service to Project separation
Microsoft Azure has developed a managed service called Azure Kubernetes Fleet Manager that uses the KubeFleet project for intelligent cluster resource placement and scheduling. KubeFleet adopted open-source best practices, such as using public repositories and community forums for collaboration, from the beginning to distinguish the open-source project from the hosted service. The contribution to CNCF would further enable us to maintain a clear separation between the KubeFleet project and the Azure Kubernetes Fleet Manager service by establishing an independent governance structure and development process. This will include forming a dedicated community steering committee composed of contributors from diverse backgrounds, ensuring that decision-making is transparent and inclusive. This approach will help foster an environment of collaboration and ensure that the project remains vendor-neutral and community-focused.
Project Domain Technical Review
We intend to schedule a presentation with TAG Runtime.
We are looking forward to moving the repo to an independent org so we can have open governance and invite community participation. We intend to start hosting community meetings and slack channels just like other CNCF projects after we join. We hope to create a neutral space to grow this community.
Application contact emails
zhangryan@microsoft.com, liqianluo@micorsoft.com, qike@microsoft.com, bridgetk@microsoft.com, jpalma@microsoft.com, simonwaight@microsoft.com
Project Summary
KubeFleet is a multi-cluster solution that enables users to effectively manage their applications running in multiple Kubernetes clusters.
Project Description
KubeFleet is a cloud native solution tailored for the at-scale management of applications running in multiple Kubernetes clusters, providing orchestration and coordination of applications across a fleet of Kubernetes clusters. KubeFleet workload orchestration enables users to create resources on a Kubernetes hub cluster and selectively propagate the resources to some or all managed clusters based on names, labels, capacity, cluster size, cost, etc. Beside intelligent scheduling, KubeFleet supports staged rollouts, which allows users to centrally manage the rollout the changes of an application to a set of clusters. KubeFleet’s streamlining of resource management not only enhances operational efficiency but also ensures that teams can effectively manage their Kubernetes native configurations, such as resource quota, RBAC, and network polices, at scale.
Org repo URL (provide if all repos under the org are in scope of the application)
N/A
Project repo URL in scope of application
https://github.com/Azure/fleet
Additional repos in scope of the application
No response
Website URL
https://github.com/Azure/fleet
Roadmap
https://github.com/Azure/fleet/blob/main/ROADMAP.md
Roadmap context
N/A
Contributing Guide
https://github.com/Azure/fleet/blob/main/CONTRIBUTING.md
Code of Conduct (CoC)
https://github.com/Azure/fleet/blob/main/CODE_OF_CONDUCT.md
Adopters
No response
Contributing or Sponsoring Org
Microsoft Azure
Maintainers file
https://github.com/Azure/fleet/blob/main/MAINTAINERS.md
IP Policy
Trademark and accounts
Why CNCF?
We are excited to submit our project, which we believe has the potential to resonate with a wide audience within the Kubernetes community. Our commitment to open-source principles drives us to adopt the best practices and foster an inclusive, vendor-neutral environment. We see the CNCF as an ideal platform to support this vision, allowing us to collaborate with others in creating a solution that benefits everyone and advances shared goals. We invite all community members to join us on this journey toward collaboration and innovation.
Benefit to the Landscape
Adding KubeFleet to the CNCF landscape will significantly enhance the ecosystem by providing a comprehensive solution to managing an application on multiple Kubernetes clusters at scale. KubeFleet’s ability to facilitate workload orchestration across multiple clusters addresses common challenges in resource distribution and operational efficiency, which are often barriers for organizations managing applications in a multi-cluster environment. By fostering collaboration and vendor neutrality, KubeFleet not only fills a critical gap in the current landscape but also empowers teams to adopt best practices in multi-cluster application management, driving innovation and improving productivity within the CNCF community.
Cloud Native 'Fit'
KubeFleet fits into Scheduling & Orchestration in the Cloud Native landscape as the project aims to automate the orchestration of workloads across clusters, enhancing operational efficiency and reducing manual intervention, which is a core tenet of cloud-native practices.
Cloud Native 'Integration'
KubeFleet depends on Kubernetes, as the project is a Kubernetes operator following the established Kubernetes custom resource definition (CRD) and controller design pattern.
Cloud Native Overlap
There are several multi-cluster related CNCF projects such as Karmada, KubeVela, OCM, ClusterNet and KubeStellar. While none of these projects are identical to KubeFleet, they offer similar functionality for managing applications on multiple Kubernetes clusters. KubeFleet distinguishes itself by providing a namespace centric approach that operates on the entire namespace instead of individual resources. It also provides a rich set of continuous deployment capabilities to roll out an update to a fleet of clusters in a multi-stage and step-by-step way.
Similar projects
Competing projects:
Landscape
No
Business Product or Service to Project separation
Microsoft Azure has developed a managed service called Azure Kubernetes Fleet Manager that uses the KubeFleet project for intelligent cluster resource placement and scheduling. KubeFleet adopted open-source best practices, such as using public repositories and community forums for collaboration, from the beginning to distinguish the open-source project from the hosted service. The contribution to CNCF would further enable us to maintain a clear separation between the KubeFleet project and the Azure Kubernetes Fleet Manager service by establishing an independent governance structure and development process. This will include forming a dedicated community steering committee composed of contributors from diverse backgrounds, ensuring that decision-making is transparent and inclusive. This approach will help foster an environment of collaboration and ensure that the project remains vendor-neutral and community-focused.
Project Domain Technical Review
We intend to schedule a presentation with TAG Runtime.
CNCF Contacts
Lachie Evenson (https://github.com/lachie83) Brendan Burns (https://github.com/brendandburns)
Additional information
We are looking forward to moving the repo to an independent org so we can have open governance and invite community participation. We intend to start hosting community meetings and slack channels just like other CNCF projects after we join. We hope to create a neutral space to grow this community.