【发布时间】:2020-07-16 23:45:04
【问题描述】:
我正在寻找可以管理计算机集群的“简单”部署系统。
我有一个 Docker 映像(托管在 DockerHub),它将在此集群中以不同的环境参数运行。对于这个图像,我有一个 docker_compose 文件,我可以直接在机器上启动它(现在可以使用)。
我正在寻找的是一个集群管理系统,我可以向其中添加物理计算机(节点),然后我可以发出如下命令:
$ docker-compose up
或
$ docker run --device /dev/sda -e ENV1 -e ENV2 image_id
理想情况下,集群(管理器)将其安排在一个可用节点上。我将加入集群的所有节点都有运行容器所需的资源,所以我对可以根据硬件需求调度容器的集群管理系统不感兴趣。此外,它不一定需要对 Docker 的支持,只要能够在集群的节点上远程发出命令即可。理想情况下,这也是我可以与之交谈的命令行以外的 API。
我尝试过/看过的内容
- Docker swarm mode - 似乎是一个完美的选择,但我遇到了死胡同,因为我使用了“--device”参数,但它是 not supported(它可能永远不会)。
- Docker machine
- 这似乎正是我想要的,但它不再受支持,所以我认为这不是一个好的选择。
- Kubernetes 听起来不错,但乍一看似乎有点矫枉过正。也不确定它是否可以做“--device”,所以我在学习它并遇到另一个死胡同时犹豫不决。
欢迎提出任何建议!
【问题讨论】:
-
我相信你是正确的。 docker swarm 和 docker machine 本身都不是一个好的选择,主要是因为它们不确定的未来。 Kubernetes 确实是大材小用,要做简单的事情,你需要复杂的配置。尽管如此,我还是会考虑托管 kubernetes(例如在 DigitalOcean 上),纯粹是因为没有其他选择(但……希望如此)。
-
我需要仔细看看 Jenkins、Travis、Octopus 和其他人。我的需求只是与 Docker 间接相关。
标签: docker kubernetes docker-swarm cluster-manager