fleet - 基于Machine Metadata的任务调度

基于Machine Metadata的任务调度

复杂和特定的要求的应用程序可以针对一个子集的集群调度通过machine metadata。强大的部署拓扑结构,可以实现的基础上的机器的地区,机架位置,磁盘速度或其他任何你可以想到的调度方式。

Metadata can be provided via or a config file. Here's an example config file: Metadata(元数据)可以通过配置文件提供。下面是一个示例配置文件:


# Comma-delimited key/value pairs that are published to the fleet registry.
# This data can be referenced in unit files to affect scheduling decisions.
# An example could look like: metadata="region=us-west,az=us-west-1"
metadata="platform=metal,provider=rackspace,region=east,disk=ssd"

元数据配置之后可以通过fleetctl list-machines查看:

$ fleetctl list-machines
MACHINE     IP            METADATA
29db5063... 172.17.8.101  disk=ssd,platform=metal,provider=rackspace,region=east
ebb97ff7... 172.17.8.102  disk=ssd,platform=cloud,provider=rackspace,region=east
f823e019... 172.17.8.103  disk=ssd,platform=cloud,provider=amazon,region=east

The unit file for a service that does a lot of disk I/O but doesn't care where it runs could look like: 这是一个I/O很大但是其他无关的示例单元文件:

[X-Fleet]
MachineMetadata=disk=ssd

如果你想确保非常高的可用性,你可以有3个单元的文件,必须安排跨供应商,但在同一地区:

[X-Fleet]
Conflicts=webapp*
MachineMetadata=provider=rackspace
MachineMetadata=platform=metal
MachineMetadata=region=east
[X-Fleet]
Conflicts=webapp*
MachineMetadata=provider=rackspace
MachineMetadata=platform=cloud
MachineMetadata=region=east
[X-Fleet]
Conflicts=webapp*
MachineMetadata=provider=amazon
MachineMetadata=platform=cloud
MachineMetadata=region=east
posted @ 2015-11-29 17:32  王洪旭  阅读(383)  评论(0编辑  收藏  举报