我是Docker业务流程的新手,也是管理一大批容器的新手。我想构建一个应用程序,在用户运行命令时为其提供容器。什么是最好的工具和最好的方法来实现这一目标?
我打算让一个CoreOS服务器池来运行容器,我想象调度程序有一个我可以调用来创建容器的API。
我在Nomad,Kubernetes,Docker Swarm等中看到的大部分内容都是如何配置多个容器集群,它们都在做同样的事情。我希望能够基于用户命令创建单个容器,然后能够与该容器上的API通信。有人有这方面的经验吗?
答案 0 :(得分:1)
我会看看Kubernetes + Jobs API(短暂的)或Deployments(长寿)
我不确定命令的确切含义,但我会假设它由CLI make-dev
触发某种开发环境。
make-dev
,它会向位于Jobs API前面的应用发送webhook,理想情况下会进行速率限制和/或身份验证。devclusters.com/foobar123
这应该可以很好地扩展,如果你的不同环境使用相同的基本容器图像,它们应该非常快。
插件:如果你想要一个简单的CoreOS + Kubernetes集群和一个用户界面试试https://coreos.com/tectonic
答案 1 :(得分:0)
我打算让一个CoreOS服务器池来运行容器,我想这个调度程序有一个我可以调用来创建容器的API
kubernetes附带了一个RESTful API,您可以使用它直接在群集中创建pod(kubernetes中包含一个或多个容器的工作单元)。
命令行实用程序kubectl也通过api以完全相同的方式与集群交互。目前有golang,Java和Python编写的客户端库,其他人正在帮助与集群进行通信。
如果您以后想要更高级别的抽象来管理pod,更新它们并管理它们的生命周期,那么查看其中一个控制器(replicaset,复制控制器,部署,statefulset)应该会有所帮助。