CoreOS 技术深入解析:Fleet 与 Flannel 应用指南
1. Fleet 模板、调度与高可用性
1.1 Fleet 基础特性
Fleet 支持类似 systemd 的单元说明符和模板。单元说明符为服务文件提供快捷方式,模板则提供可重复使用的服务文件。可以在 cloud - config 的 Fleet 部分指定节点的 Fleet 元数据,示例如下:
metadata: “role=services”Fleet 使用简单的调度算法,通过 X - fleet 选项指定调度服务时的约束条件,具体选项如下表:
| X - fleet 选项 | 说明 |
| — | — |
| MachineMetaData | 服务根据匹配的元数据进行调度 |
| MachineId | 服务根据指定的 MachineId 进行调度 |
| MachineOf | 服务根据同一节点上运行的其他服务进行调度,用于在同一节点上调度紧密耦合的服务 |
| Conflict | 避免在同一节点上调度冲突的服务 |
| Global | 同一服务在集群的所有节点上进行调度 |
1.2 应用示例:WordPress 与 MySQL 服务
以包含 WordPress 容器和 MySQL 容器的应用为例,WordPress 容器使用 MySQL 容器的数据库,通过 Docker 容器链接实现。使用 Fleet 的模板功能通过单个模板启动多个服务,并使用 X - fleet 约束功能将