一、K8s多集群管理工具Fleet介绍¶
Fleet是Rancher的一个轻量级多集群管理工具,可以用于管理多达一百万个集群。
Fleet可以使用GitOps实现Kubernetes多集群的管理,不需要任何手动的操作就可 以把仓库中的资源同步到分布在全球各地的Kubernetes集群中。Fleet可以通过Git上的资源去管理和维护K8s,这些资源可以是原始Kubernetes、YAML、Helm、chart 、Kustomize。
此外,Fleet提供了一个简单的界面来管理集群,用户可以直接通过Rancher就可以操作Fleet实现多集群的管理和维护。
说明:Fleet一般跟rancher组合来使用,不建议单独使用Fleet。如果单独使用,可以考虑使用argocd。
二、K8s多集群管理工具Fleet架构介绍¶

Fleet 架构通常包含以下核心组件:
Controller
- 功能:管理所有分布式节点,负责调度任务、监控运行状态,并与其他组件进行协调。
- 角色:作为 Fleet 的大脑,承担任务分发和决策。
Agents(代理)
- 功能:运行在每个受控节点上,与 Controller 通信,执行分配的任务。
- 作用:充当 Controller 的执行者,具体负责应用程序的启动、停止和监控。
Registry
- 功能:存储全局元数据,包括配置文件、运行时状态和日志信息。
- 作用:确保所有组件能够实时访问共享信息,实现系统的状态一致性。
Scheduler(调度器)
- 功能:负责将任务分配到最合适的 Agent 节点。
- 策略:可以基于资源、负载均衡、优先级等策略进行任务分配。