首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >简单码头集装箱集群部署系统

简单码头集装箱集群部署系统
EN

Stack Overflow用户
提问于 2020-07-16 10:23:41
回答 1查看 166关注 0票数 0

我正在寻找一个“简单”的部署系统,可以管理一个计算机集群。

我有一个Docker映像(托管在DockerHub上),它将在这个集群中以不同的环境参数运行。对于这个映像,我有一个docker_compose文件,我可以直接在机器上启动(这个文件现在正在工作)。

我正在寻找的是一个集群管理系统,我可以在其中添加物理计算机(节点),然后发出以下命令:

代码语言:javascript
复制
$ docker-compose up

代码语言:javascript
复制
$ docker run --device /dev/sda -e ENV1 -e ENV2 image_id

理想情况下,集群(管理器)将其调度在一个可用的节点上。我将加入到集群中的所有节点都有运行容器所需的资源,因此我对能够根据容器的硬件需求调度容器的集群管理系统不感兴趣。而且,它不一定需要支持Docker,只需能够在集群的节点上远程发出命令。理想情况下,这也是一个API,而不是命令行,我可以交谈。

我试过/看过的东西

  1. 码头群模式 -似乎是一个完美的选择,但是我碰到了一个死胡同,因为我使用了“--设备”参数,这个参数是不支持 (也许永远也不会)。
  2. 码头机

  • 这似乎正是我想要的,但它已经不再支持了,所以我不认为这是一个好的选择。
  1. 库伯内斯听起来不错,但乍一看似乎有点过火了。也不确定它能做什么“--设备”,所以我在学习它的过程中犹豫不决,还碰到了另一个死胡同。

欢迎任何建议!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-07-16 15:45:04

当谈到kubernetes和支持类似--device in docker的内容时,的回答应该可以消除您的疑虑。

它在github的线程中得到了广泛的讨论。虽然在kubernetes中没有确切的--device等效,但值得重复的是,可以在kubernetes Pods中使用主机设备,方法是按照注释中的建议启用特权模式

集装箱:-名称: foo .volumeMounts:- mountPath: /dev/snd名称: dev-snd securityContext: securityContext: true卷:- name: dev-snd hostPath: path: /dev/snd

它使您能够使用Pod将任何在特定节点上可用的设备挂载到您的hostPath中,并从上面的示例中提供诸如/dev/snd之类的辅助路径,从而使您能够使用主机上可用的声卡。

但是,您需要从安全的角度来决定在特定情况下运行特权容器是否可以接受。

如果您寻找更安全的方式来安装特定的主机设备,从而提供更细粒度的控制级别,请看一看设备插件,例如所提到的用于公开/dev/kvm更一般的的特定主机,允许您通过设备cgroup将主机/dev下的几乎任何设备配置到kubernetes Pods中。

当您计划在多节点集群上运行和管理您的码头容器时,Kubernetes并不一定会造成过度,特别是如果您决定使用@DannyB在评论中已经建议的托管解决方案。值得一提的是,它目前可在所有主要云提供商中使用:GKE on GCPEKS on AWSAKS on E 236onE 137AzureE 238,这也说明了它的日益流行。

库伯内斯也是一个非常可扩展和动态开发的解决方案,在最近几年得到了迅速的普及,因此它绝对值得一看。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62932599

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档