Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Sandbox] KubeFleet #307

Open
2 tasks done
britaniar opened this issue Oct 31, 2024 · 4 comments
Open
2 tasks done

[Sandbox] KubeFleet #307

britaniar opened this issue Oct 31, 2024 · 4 comments

Comments

@britaniar
Copy link

britaniar commented Oct 31, 2024

Application contact emails

[email protected], [email protected], [email protected], [email protected], [email protected], [email protected]

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

  • If the project is accepted, I agree the project will follow the CNCF IP Policy

Trademark and accounts

  • 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.

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.

@angellk
Copy link
Contributor

angellk commented Jan 12, 2025

@britaniar Does KubeFleet run on other cloud providers or is Microsoft Azure a prerequisite?

@britaniar
Copy link
Author

@britaniar Does KubeFleet run on other cloud providers or is Microsoft Azure a prerequisite?

@angellk Microsoft Azure is not a prerequisite for KubeFleet. The platform can be installed on any Kubernetes clusters and is designed to be cloud provider agnostic from the outset. We have been incubating KubeFleet within Azure for the past three years to ensure its quality and validate its functions. We now feel prepared to transition it into a standalone open-source project, independent of Azure. By contributing it to CNCF, we aim to foster greater community involvement and community-driven development.

@mrbobbytables
Copy link
Member

/vote

@angellk to follow up

Copy link

git-vote bot commented Jan 14, 2025

Vote created

@mrbobbytables has called for a vote on [Sandbox] KubeFleet (#307).

The members of the following teams have binding votes:

Team
@cncf/cncf-toc

Non-binding votes are also appreciated as a sign of support!

How to vote

You can cast your vote by reacting to this comment. The following reactions are supported:

In favor Against Abstain
👍 👎 👀

Please note that voting for multiple options is not allowed and those votes won't be counted.

The vote will be open for 2months 30days 2h 52m 48s. It will pass if at least 66% of the users with binding votes vote In favor 👍. Once it's closed, results will be published here as a new comment.

@angellk angellk moved this from 🏗 Upcoming to 🤔 In voting in Sandbox Application Board Jan 15, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: 🤔 In voting
Development

No branches or pull requests

4 participants