Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
  • Loading branch information
sanketbakshi committed Jan 25, 2025
2 parents 4bef510 + 1186704 commit c370556
Showing 1 changed file with 17 additions and 15 deletions.
32 changes: 17 additions & 15 deletions blog/_posts/2025-01-17-Multi-Cluster-Management-with-KubeFleet.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,36 +7,41 @@ categories: general
---


In the ever-evolving world of cloud native technologies, managing multiple Kubernetes clusters efficiently is a challenge. KubeFleet makes it easier and more efficient to manage applications running across multiple Kubernetes clusters.. This open-source project was recently accepted as a [CNCF sandbox project](https://aka.ms/aks/kubefleet/cncfsandboxissue). This was a journey 3 years in making!
In the ever-evolving world of cloud native technologies, managing multiple Kubernetes clusters efficiently is a common challenge that still does not have a well received community driven solution.

Managing multiple Kubernetes clusters can be challenging, with issues like -

* How to manage cloud native configs and applications across these clusters?

* How to manage cloud-native configs and applications across these clusters?
* How to perform changes to those resources safely without triggering global failures?

* How to pick the right clusters to meet special needs of the applications (e.g. specific region footprint, highly specific CPU or memory needs, lowering cost per GB etc.)?

* How to seamlessly move applications between clusters so that one can treat clusters as “cattle” instead of “pets”?

In this blog post, we'll delve into what KubeFleet is, its key features, and how it can benefit your organization.
The team in AKS created the open source [KubeFleet](https://github.com/Azure/fleet) project specifically to help kubernetes users manage multiple Kubernetes clusters easier and more efficiently. We also build a managed service called
[Azure Kubernetes Fleet Manager] (https://learn.microsoft.com/azure/kubernetes-fleet/overview) on top of KubeFleet to provide a managed experience with full Azure support and multi-cluster traffic management capabilities.

This open-source project was recently accepted as a [CNCF sandbox project](https://github.com/cncf/sandbox/issues/307). This was a journey 3 years in making! In this blog post, we'll delve into what KubeFleet is, its key features, and how it can benefit your organization.

## What is KubeFleet?

KubeFleet is an open-source, multi-cluster Kubernetes resource management solution developed by Microsoft Azure. It provides a robust framework for orchestrating and distributing Kubernetes resources representing configs (e.g., roles, bindings, quotas, policies) and applications (e.g., deployments, services) across a fleet of Kubernetes clusters. Whether you're managing clusters on-premises, in the cloud, or in a hybrid environment, KubeFleet offers the tools you need to ensure seamless operations.
KubeFleet is designed to be cloud provider agnostic. This allows KubeFleet to manage clusters across cloud providers and on-prem. It also supports provider mode that allows each adapter to provide their customized plug-ins like resource price.
KubeFleet is an open-source, multi-cluster Kubernetes resource management solution that has users within and outside of Microsoft. It provides a robust framework for orchestrating and distributing Kubernetes resources representing configs (e.g., roles, bindings, quotas, policies)
and applications (e.g., deployments, services) across a fleet of Kubernetes clusters. Whether you're managing clusters on-premises, in the cloud, or in a hybrid environment, KubeFleet offers the tools you need to ensure seamless operations.
KubeFleet is designed to be cloud provider agnostic so you can deploy it on EKS, GKE or any other cloud provider you choose. It is designed from the outset with provider mode that allows each adapter to provide their customized plug-ins like resource price or sku capacities.
This allows KubeFleet to manage clusters across cloud providers and on-prem.

## Key Features of KubeFleet

* Multi-Cluster Orchestration: KubeFleet enables users to create resources on a central cluster and selectively propagate these resources to desired member clusters. This intelligent scheduling is based on various factors such as names, labels, capacity, cluster size, and cost. It also has powerful override capabilities to allow users to customize the resources based on the selected cluster.
* Advanced multi-Cluster Orchestration: KubeFleet enables users to create resources on a hub cluster, served as the control plane for the entire fleet, and selectively propagate any changes of the resources to desired member clusters automatically.
This intelligent scheduling is based on various factors such as names, labels, capacity, cluster size, and cost. It also has powerful override capabilities to allow users to customize the resources based on the selected cluster.
On top of that, KubeFleet provides dynamic scheduling features to allow users to move resources between clusters in the runtime.

* Staged Rollouts: With KubeFleet, you can centrally manage the rollout of changes to your applications across multiple clusters. This feature ensures that updates are deployed in a controlled and efficient manner without causing multi-cluster failures.
* Intelligent Rollouts: KubeFleet provides multiple ways for the suer to centrally manage the rollout of changes to your applications across multiple clusters. This feature ensures that updates are deployed in a controlled and efficient manner without causing multi-cluster failures.

* Config Management: KubeFleet streamlines config management by allowing teams to manage Kubernetes native configurations, such as resource quotas, RBAC, and network policies, at scale. It also provides a set of powerful tools to allow users to perform takeover actions, detect drifting, and report differences between the desired version and the applied resources on each cluster.
* Config Management: KubeFleet streamlines config management by allowing teams to manage Kubernetes native configurations, such as resource quotas, RBAC, and network policies, at scale.
It also provides a set of powerful tools to allow users to perform takeover actions, detect drifting, and report differences between the desired version and the applied resources on each cluster.

* One-way Connections: KubeFleet doesn't require connections from the central management cluster (i.e., hub cluster) to member clusters. It only requires one-way connections from member clusters to the hub, allowing member clusters to stay private.



## How KubeFleet Works

Expand All @@ -52,9 +57,6 @@ KubeFleet operates on a hub-and-spoke model, where a central hub cluster hosts t
* Improved Security: KubeFleet's support for private egress and network isolation ensures that your clusters remain secure and compliant with industry standards.

* Scalability: Whether you have a few clusters or hundreds, KubeFleet scales to meet your needs, providing a flexible and robust solution for multi-cluster management.

* Community and Support: As an open-source project under the CNCF Sandbox, KubeFleet benefits from a vibrant community of contributors and users. This ensures continuous improvement and support for the solution.



## Getting Started with KubeFleet
Expand Down

0 comments on commit c370556

Please sign in to comment.