fleet - 分布式 init 系统


Apache
跨平台
Google Go

软件简介

fleet 绑定了 systemd
etcd 到一个分布式 init 系统,可以认为是 systemd
的扩展,但是并不是机器级别的,而是集群级别的。

此项目现在是个预览版本,如要使用请看安全提示

特性

fleet 允许你定义灵活的架构来运行你的服务:

  • 可以在集群的任意地方部署单个容器

  • 支持部署多个同样容器的副本

  • 确保同一个机器上容器都是部署在一起的

  • 禁止指定 co-habitation 的服务

  • 服务的 Maintain N 容器不能重新部署

  • 匹配指定的元数据在机器上部署容器

示例

在集群中列出

Machines 列表

$ fleetctl list-machines
MACHINE                                 IP          METADATA
148a18ff-6e95-4cd8-92da-c9de9bb90d5a    19.4.0.112  region=us-west
491586a6-508f-4583-a71d-bfc4d146e996    19.4.0.113  region=us-east

Submit & Start

Units

$ ls examples/
hello.service   ping.service    pong.service
$ fleetctl submit examples/*
$ fleetctl start hello.service

List Units

$ fleetctl list-units
UNIT            LOAD    ACTIVE  SUB     DESC    MACHINE
hello.service   loaded  active  running -       148a18ff-6e95-4cd8-92da-c9de9bb90d5a
ping.service    -       -       -       -       -
pong.service    -       -       -       -       -