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