You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/kubernetes-fleet/concepts-fleet.md
+17-13Lines changed: 17 additions & 13 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,7 +1,7 @@
1
1
---
2
2
title: "Azure Kubernetes Fleet Manager and member clusters"
3
3
description: This article provides a conceptual overview of Azure Kubernetes Fleet Manager and member clusters.
4
-
ms.date: 03/04/2024
4
+
ms.date: 04/01/2024
5
5
author: shashankbarsin
6
6
ms.author: shasb
7
7
ms.service: kubernetes-fleet
@@ -10,21 +10,24 @@ ms.topic: conceptual
10
10
11
11
# Azure Kubernetes Fleet Manager and member clusters
12
12
13
-
Azure Kubernetes Fleet Manager (Fleet) solves at-scale and multi-cluster problems for Kubernetes clusters. This document provides a conceptual overview of fleet and its relationship with its member Kubernetes clusters. Right now Fleet supports joining AKS clusters as member clusters.
13
+
This article provides a conceptual overview of fleets, member clusters, and hub clusters in Azure Kubernetes Fleet Manager (Fleet).
14
14
15
-
[](./media/conceptual-fleet-aks-relationship.png#lightbox)
15
+
## What are fleets?
16
16
17
-
## Fleet scenarios
17
+
A fleet resource acts as a grouping entity for multiple AKS clusters. You can use them to manage multiple AKS clusters as a single entity, orchestrate updates across multiple clusters, propagate Kubernetes resources across multiple clusters, and provide a single pane of glass for managing multiple clusters. You can create a fleet with or without a [hub cluster](#what-is-a-hub-cluster-preview).
18
18
19
-
A fleet is an Azure resource you can use to group and manage multiple Kubernetes clusters. Currently fleet supports the following scenarios:
20
-
* Create a Fleet resource and group AKS clusters as member clusters.
21
-
* Orchestrate latest or consistent Kubernetes version and node image upgrades across multiple clusters by using update runs, stages, and groups
22
-
* Create Kubernetes resource objects on the Fleet resource's hub cluster and control their propagation to member clusters (preview).
23
-
* Export and import services between member clusters, and load balance incoming L4 traffic across service endpoints on multiple clusters (preview).
19
+
A fleet consists of the following components:
20
+
21
+
:::image type="content" source="./media/concepts-fleet/fleet-architecture.png" alt-text="This screenshot shows a diagram of the fleet resource, including the hub cluster agent and the member cluster agent.":::
22
+
23
+
***fleet-hub-agent**: A Kubernetes controller that creates and reconciles all the fleet-related custom resources (CRs) in the hub cluster.
24
+
***fleet-member-agent**: A Kubernetes controller that creates and reconciles all the fleet-related CRs in the member clusters. This controller pulls the latest CRs from the hub cluster and consistently reconciles the member clusters to match the desired state.
24
25
25
26
## What are member clusters?
26
27
27
-
You can join Azure Kubernetes Service (AKS) clusters to a fleet as member clusters. Member clusters must reside in the same Microsoft Entra tenant as the fleet. But they can be in different regions, different resource groups, and/or different subscriptions.
28
+
The `MemberCluster` represents a cluster-scoped API established within the hub cluster, serving as a representation of a cluster within the fleet. This API offers a dependable, uniform, and automated approach for multi-cluster applications to identify registered clusters within a fleet. It also facilitates applications in querying a list of clusters managed by the fleet or in observing cluster statuses for subsequent actions. For more information, see [the upstream Fleet documentation](https://github.com/Azure/fleet/blob/main/docs/concepts/MemberCluster/README.md).
29
+
30
+
You can join Azure Kubernetes Service (AKS) clusters to a fleet as member clusters. Member clusters must reside in the same Microsoft Entra tenant as the fleet, but they can be in different regions, different resource groups, and/or different subscriptions.
28
31
29
32
## What is a hub cluster (preview)?
30
33
@@ -36,7 +39,7 @@ For other scenarios such as Kubernetes resource propagation, a hub cluster is re
36
39
37
40
The following table lists the differences between a fleet without hub cluster and a fleet with hub cluster:
38
41
39
-
| Feature Dimension| Without hub cluster | With hub cluster (preview) |
42
+
| Feature dimension| Without hub cluster | With hub cluster (preview) |
title: "Azure Kubernetes Fleet Manager scheduler and scheduling framework"
3
+
description: This article provides a conceptual overview of the Azure Kubernetes Fleet Manager scheduler and scheduling framework.
4
+
ms.date: 04/01/2024
5
+
author: schaffererin
6
+
ms.author: schaffererin
7
+
ms.service: kubernetes-fleet
8
+
ms.topic: conceptual
9
+
---
10
+
11
+
# Azure Kubernetes Fleet Manager scheduler and scheduling framework
12
+
13
+
This article provides a conceptual overview of the scheduler and scheduling framework in Azure Kubernetes Fleet Manager (Fleet).
14
+
15
+
## What is the scheduler?
16
+
17
+
The scheduler is a core component in the fleet workload with the primary responsibility of determining scheduling decisions for a bundle of resources based on the latest `ClusterSchedulingPolicySnapshot` generated by the [`ClusterResourcePlacement`](./concepts-resource-propagation.md).
18
+
19
+
By default, the scheduler operates in *batch mode*, which enhances performance. In this mode, it binds a `ClusterResourceBinding` from a `ClusterResourcePlacement` to multiple clusters whenever possible.
20
+
21
+
### Batch mode
22
+
23
+
Scheduling resources within a `ClusterResourcePlacement` involves more dependencies compared to scheduling pods within a Kubernetes Deployment. There are two notable distinctions:
24
+
25
+
* In a `ClusterResourcePlacement`, multiple replicas of resources can't be scheduled on the same cluster.
26
+
* The `ClusterResourcePlacement` supports different placement types within a single object.
27
+
28
+
For more information, see [the upstream Fleet Scheduler documentation](https://github.com/Azure/fleet/blob/main/docs/concepts/Scheduler/README.md).
29
+
30
+
## What is the scheduling framework?
31
+
32
+
The fleet scheduling framework closely aligns with the native [Kubernetes scheduling framework](https://kubernetes.io/docs/concepts/scheduling-eviction/scheduling-framework/), incorporating several modifications and tailored functionalities to support the fleet workload.
33
+
34
+
:::image type="content" source="./media/concepts-scheduler-scheduling-framework/scheduling-framework.png" alt-text="This screenshot shows an overview diagram of the fleet scheduling framework.":::
35
+
36
+
The primary advantage of this framework is its capability to compile plugins directly into the scheduler. Its API facilitates the implementation of diverse scheduling features as plugins, ensuring a lightweight and maintainable core.
37
+
38
+
The fleet scheduler integrates the following fundamental built-in plugins:
39
+
40
+
***Topology spread plugin**: Supports the `TopologySpreadConstraints` in the placement policy.
41
+
***Cluster affinity plugin**: Facilitates the affinity clause in the placement policy.
42
+
***Same placement affinity plugin**: Designed specifically for fleet and prevents multiple replicas from being placed within the same cluster.
43
+
***Cluster eligibility plugin**: Enables cluster selection based on specific status criteria.
44
+
45
+
For more information, see the [upstream Fleet Scheduling Framework documentation](https://github.com/Azure/fleet/blob/main/docs/concepts/Scheduling-Framework/README.md).
46
+
47
+
## Next steps
48
+
49
+
*[Create a fleet and join member clusters](./quickstart-create-fleet-and-members.md).
0 commit comments