KubeFleet is an open source solution that works on any Kubernetes cluster. We are working towards the vision that we will eventually be able to treat each Kubernetes cluster as cattle.
- Join/Leave is a feature that allows a member cluster to join and leave a fleet by registering a custom resource on the fleet's control plane (the hub cluster).
- Workload Orchestration is a feature that allows users to create resources on the hub cluster and then selectively propagate these resources to desired member clusters in the fleet.
Fleet: A multi cluster solution that users use to manage Kubernetes clusters.
Hub cluster: A Kubernetes cluster that hosts the control plane of the fleet.
Member cluster: A Kubernetes cluster that is part of the fleet.
Fleet-system Namespace: A reserved namespace in all clusters for running Fleet networking controllers and putting internal resources.
This section provides a tutorial which explains how to setup and make use of the capabilities provided by fleet
export this variable which specifies the number of member clusters that will be created.
export MEMBER_CLUSTER_COUNT=1
from the root directory of the repo run the following command, by default a hub cluster gets created which is the control plane for fleet (The makefile uses kindest/node:v1.30.0)
make setup-clusters
then switch context to the hub cluster,
kubectl config use-context kind-hub
create a member cluster CR on the hub cluster which allows the member cluster created on the setup step to join the fleet,
apiVersion: cluster.kubernetes-fleet.io/v1beta1
kind: MemberCluster
metadata:
name: kind-cluster-1
spec:
identity:
name: fleet-member-agent-cluster-1
kind: ServiceAccount
namespace: fleet-system
apiGroup: ""
get the membercluster to see if it has joined the fleet,
kubectl get memberclusters -A
output is supposed to look like,
NAME JOINED AGE
kind-cluster-1 True 25m
Now we can go ahead and use the workload orchestration capabilities offered by fleet, please start with the concept to understand the details of various features offered by fleet.
This project has adopted the Microsoft Open Source Code of Conduct. For more information, see the Code of Conduct FAQ or contact [email protected] with any additional questions or comments.
The contribution guide covers everything you need to know about how you can contribute to KubeFleet.
For more information, see SUPPORT.md.