一、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架构介绍

image-20250116105906771

Fleet 架构通常包含以下核心组件:

Controller

  • 功能:管理所有分布式节点,负责调度任务、监控运行状态,并与其他组件进行协调。
  • 角色:作为 Fleet 的大脑,承担任务分发和决策。

Agents(代理)

  • 功能:运行在每个受控节点上,与 Controller 通信,执行分配的任务。
  • 作用:充当 Controller 的执行者,具体负责应用程序的启动、停止和监控。

Registry

  • 功能:存储全局元数据,包括配置文件、运行时状态和日志信息。
  • 作用:确保所有组件能够实时访问共享信息,实现系统的状态一致性。

Scheduler(调度器)

  • 功能:负责将任务分配到最合适的 Agent 节点。
  • 策略:可以基于资源、负载均衡、优先级等策略进行任务分配。