厨师和docker工人

我有点困惑。 作为课程的一部分,我们应该使用Jenkins,Docker和Chef来build立一个CI和CD解决scheme,但是stream程将不会被指定。

我们一直在build立Jenkins,因此每创build一个git commit,它都会创build一个Jenkins的奴隶,它们为testing所需的特定容器创build一个子集,然后将其拆散并报告结果。

所以,今天一直在寻找有关使用厨师和Docker进行持续交付/部署的信息。 我看到的用例如下,在Chef中指定机器部署选项,每台服务器有多less台机器,数据库等等。 当Jenkins从站成功构build并testing应用程序时,是时候部署了。 删除任何旧的容器,并build立新的容器,处理厨师的configuration和其他必要的pipe理。

一直在四处寻找类似用例的信息,似乎没有太多关于它的信息。 一直与厨师提供泊坞坞厨师供应插件修补,但有关使用例如docker插件的信息是不是超级直观。 然后我偶然发现这篇文章( https://coderanger.net/provisioning/ ),它基本上不build议新的项目开始使用厨师提供插件。

有什么我不知道的是,这种用例不是那么受欢迎,甚至只是愚蠢的? 有没有其他插件,我已经错过了或另一个设置与厨师更适合?

提前欢呼!

这种纯粹的程序性的东西并不是真正的厨师。 你可能会想直接使用与Jenkins集成的东西作为插件。 或者,如果您正在谈论食谱集成testing,那么可以使用可以为您处理容器pipe理的厨房docker工具和厨房专用驱动程序。

编辑:上面是不是真的是什么问题,新的答案。

您正在查找的工具通常称为资源调度程序或群集协调器。 厨师可以通过厨师提供或docker食谱做到这一点。 在这两者之间我会用后者。 但是,厨师并不是这份工作的最佳工具。 有一整套的专用调度程序,包括Mesos + Marathon,Kubernetes,Nomad和Docker-compose + swarm。 在所有这些,游牧民族可能是最简单的,但库贝有一个庞大的社会,并迅速增长。 我会考虑使用厨师这最好的中间步骤。

我会build议使用像kubernetes,docker群或mesos容器业务stream程平台。 我个人build议使用kubernetes,因为它是三个列出的主要平台。

厨师是一个很好的configurationpipe理工具,使用它来configuration容器是可行的,但这不是最好的解决scheme。 您会遇到像pipe理容器应该在哪里configuration和监视容器状态以及如何处理它们的故障等问题。 像kubernetes平台将为您处理这个。

这将有助于得到一些insigths: https : //www.youtube.com/watch? v = 24X18e4GVbk

更多阅读: http : //www.devoperandi.com/how-we-do-builds-in-kubernetes/