在客户端执行代码
这里介绍的几种配置管理系统允许你复用节点描述符,在匹配的节点上执行代码。有时候这样很方便。例如,为了调试,你也许会想要在所有面向Internet的公网HTTP服务器上运行列出目录的命令。
Puppet的生态系统中,这个命令执行系统被称为Marionette Collective,简称为MCollective。
有关练习的注意事项
尝试使用Docker通过不同的部署系统来管理我们将要实验的基础操作系统很容易。在特定的部署系统上开发和调试部署代码时,这种方式比较节省时间。这些代码之后可以用于部署物理机或虚拟机。
首先我们会在本地开发方式上尝试每个不同的部署系统。之后,通过将几个容器组成一个虚拟集群去模拟完整的部署。
我们尽量使用Docker官方的镜像,但是有时候会出现找不到或者官方镜像消失的情况,像Ansible的官方镜像一样。这就是DevOps快速向前的生活,或好或坏。
需要注意的是,在模拟一个完整的操作系统时Docker有一些限制。有时候容器需要在高权限的模式下运行。我们将会在碰到这个问题时处理。
还有就是很多人会选择Vagrant去做这些测试。如果可能我还是推荐使用Docker,因为它更加轻量、快速,在很多情况下都足够使用。
请记住,在生产中实际部署的系统将需要更多关注于安全以及除上文的介绍以外的更多细节。】