0

我有一个无人机主机和一个带有机群的 CoreOS 集群。无人机现在在节点菜单中只有 unix:///var/run/docker.sock。据我了解,我可以添加由 docker URL 和证书定义的其他 docker 节点。但是,一旦我有一个 CoreOS 集群,将其用作从属服务器的提供者似乎是合乎逻辑的。我正在寻找一个解决方案

(1)每当 CoreOS 集群配置发生变化时,我都不必配置节点,并且

(2) 提供正确的资源管理。

我可以想到以下解决方案:

  • 在 CoreOS 集群节点中暴露 docker uris,并在drone 中直接配置它们。在这种情况下,我将手动跟踪 CoreOs 集群更改。资源管理可能会与舰队的冲突。
  • 在 CoreOS 集群节点中公开 docker uris,并提供基于 DNS 循环的访问。似乎是一种糟糕的资源管理方式,并且很可能与脚发生冲突。
  • 在 CoreOs 节点上安装 Swarm。资源管理可能会与舰队的冲突。
  • 让舰队或 RKT 公开一个 docker uri,舰队/RKT 将决定容器在哪个节点上运行。问题是我找不到任何方法来做到这一点。
  • 让drone.io 使用fleet 或RKT。同样的问题。可能吗?

有没有什么方法可以为我对drone.io 和 CoreOs 的所有需求提供解决方案?

4

1 回答 1

0

据我了解,我可以添加由 docker URL 和证书定义的其他 docker 节点。但是,一旦我有一个 CoreOS 集群,将其用作从属服务器的提供者似乎是合乎逻辑的。

最新版本的无人机支持构建代理。每个服务器都安装了构建代理,并将与中央无人机服务器通信以从队列中提取构建、执行并发送回结果。

docker run                                              \
    -e DRONE_SERVER=http://my.drone.server              \
    -e DRONE_SECRET=passcode                            \ 
    -v /var/run/docker.sock:/container/path/docker.sock \
    drone/drone:0.5 agent

这允许您即时添加和删除代理,而无需在服务器级别注册或管理它们。

我相信这应该可以解决您概述的基本问题,尽管我不确定它是否会提供您想要的与舰队和 coreos 的集成水平。也许 coreos 专家可以补充我的答案。

于 2016-08-21T01:20:08.423 回答