architecture - docker 容器内的 salt minion 才?

标签 architecture docker salt-stack

您是否在 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/

相关文章:

android - 如何在android中存储具有可变数量属性的数据

Java:在其他各种类中使用一个类的相同实例

java - 为什么 Java 允许在接口(interface)中嵌套类定义?

centos - 使用 Docker 在 Cent OS 6.6 中安装和运行 Kurento 媒体服务器

windows - 如果我的文件没有更改,如何阻止 saltstack 中的 module.run?

.net - 动态业务规则的架构

linux - 如何从本地主机连接到 docker 容器

docker - 如何将本地镜像推送部署到kubernetes

linux - SaltStack : creating directory only if does not exists

python - Jinja2 映射列表到字典