【发布时间】:2015-02-27 10:43:19
【问题描述】:
您是否在 docker 容器中运行 salt minion?
还是只在运行 docker 容器的服务器上运行一个 minion?
我们目前不使用盐,但希望将来使用它。
我们不确定未来如何布局我们的基础架构。
如果您不理解我的问题,请发表评论:-)
【问题讨论】:
标签: architecture docker salt-stack
您是否在 docker 容器中运行 salt minion?
还是只在运行 docker 容器的服务器上运行一个 minion?
我们目前不使用盐,但希望将来使用它。
我们不确定未来如何布局我们的基础架构。
如果您不理解我的问题,请发表评论:-)
【问题讨论】:
标签: architecture docker salt-stack
你可以做一个或两个。这两个选项有不同的目的。以下是您可以使用配置管理的不同方式:
与其编写更复杂的 Dockerfile 来安装和设置您的代码,您的 Dockerfile 只是说类似
FROM saltstack/ubuntu-14.04
RUN salt-call <...>
如果您正在考虑从使用 Salt 供应的机器过渡到使用容器,这可能会很好。最终,我更喜欢在这里使用 Dockerfile 而不是配置管理器,因为它更透明,而且我可以在开发期间构建映像时利用缓存。
Docker 有两种不同的理念。一种是您使用类似于沙盒应用程序的容器:每个容器一个应用程序,并且通常将应用程序间通信限制为 TCP。另一种是您将容器视为小型机器,在一个容器上配置多个应用程序并在容器内运行一些 initd 类型的服务以保持它们全部运行。
如果你遵循后一种风格并想更新一个正在运行的容器,容器内的一个小兵就是如何做到的。 (就我个人而言,当我想更改任何内容时,我更喜欢使用前者并重建/重新启动容器。)
最后,您可能希望主机上的配置管理来管理容器(拉取、启动、停止和重新启动)。如果您之前做过配置管理,这对您来说会感觉最熟悉,但是需要管理的配置要少得多,因为依赖项和其他特定于应用程序的配置都打包到了它们的容器中。
【讨论】: