有没有办法使用傀儡或厨师食谱,而不发射守护进程等? 我希望能够解释文件并在没有任何繁重工作的情况下应用它们。
如果没有,是否有替代产品,可以用来设置任意东西,如灯栈没有足迹?
如果您只想在本地应用单个清单,则可以运行puppet <file>.pp 。 这就是说,如果你有less量的服务器pipe理,一个puppetmasterd不会是一个巨大的不便。
正如rodjek所说的,你可以使用命令puppet来执行单个清单。 但是,由于没有puppetmasterd照顾编译过程,你正在削减一大堆与模块组织和自动加载有关的好魔法。 更不用说必须手动分发您的清单了。
从你的问题来看,听起来你可能比服务器更担心客户端的占用空间。 值得注意的是,您不必在守护进程模式下运行puppetd ,并且包括我自己在内的一些人员更喜欢使用cron定期调用它,并使用--onetime --no-daemonize选项。 你可以select按照你所希望的那样频繁地打电话给你。
厨师可以使用'solo'模式,不需要运行守护进程或服务器。 你可以把它指向食谱的远程URI,所以你不必为了configuration而分发文件。
如果您正在安装/configuration不需要root权限的软件程序(例如,安装在主目录中,端口超过1024),则甚至不需要root访问权限即可使用chef-solo。 这也是开始使用Chef的最简单的方法,因为您编写的用于独奏的食谱也可以与Chef客户端/服务器环境一起使用,因此您可以轻松地进行扩展。
欲了解更多信息,请参阅厨师维基上的厨师独奏页面 。
使用git:你将需要在服务器上的git。 不是服务器,而是客户端。
用木偶创build你的清单。
将清单推送到目标上的git回购。
使用钩子在你的清单上运行puppet命令。 (当清单被推送到目标主机上时,您将运行它)
重复。
这里的秘密之处在于你可以像上面说的那样用命令行工具运行一个清单。 嘿,从你的笔记本电脑,或从几个,为什么不呢? 没有守护进程,但是你最初需要访问安装木偶的命令行客户端和git。
如果你的意思是不运行木偶(客户端守护进程),但不介意有木偶大师,那么这是我的事情:
只需连接客户端,然后在每个客户端上以--test模式运行puppetd。 据说testing模式比 – --onetime --no-daemonize更快。 您也可以在/etc/puppet/puppet.conf中configuration选项
# aofficelinux2 is the puppetmaster server name sudo /usr/sbin/puppetd --server aofficelinux2.visionten.locala --waitforcert 60 --test –-verbose
当我需要的时候,我也可以远程执行这个脚本,将脚本同步到puppetmaster并远程启动木偶客户端
# aofficelinux5 is the puppet client servername rsync_puppet_to_aofficelinux2 ssh -t aofficelinux5 sudo /usr/sbin/puppetd --server aofficelinux2.visionten.locala --waitforcert 60 --test –-verbose
是! 你运行sh# puppet apply yourmanifest.pp
运行Chef Solo最简单的方法是使用littlechef: https : //github.com/tobami/littlechef
在我看来, Ansible正是在这个理念的基础上build立起来的:
- 没有服务器或客户端守护进程; 使用现有的SSHd
- 客户端不需要额外的软件
基本上,在本地pipe理你的configuration描述(例如,在一个git仓库),并推出必要的命令,通过SSH重新configuration你的服务器。 我的一杯茶,正是:)