木偶和Puppetmaster在虚拟机上进行开发

我处于这样一种情况,我不断地在开发新的vms。 我有一个基础映像,我可以克隆,但它很快就会过时,你没有办法在很多vms上添加更改。

我想build立一个在虚拟机第一次启动时运行的puppet脚本,并且有很多指导来创build一个由puppet直接运行的site.pp,但是这涉及到一个单独的文件,你必须在节点。 我想要做的就是在puppet master上开发一个安装程序,这样我所有的vms都可以调用相同的点并保持最新,并允许我使用文件服务器等来创build一个全面的包。

我所看到的问题是,我不能/不想依靠主机名来识别虚拟机,我不在乎保留pki的历史,因为虚拟机的名字可能会被重用。

木偶是否可以和傀儡大师一起使用,并基本上忽略所有的pki? 我可以创build一个环境,使我可以通过事实或其他方式注册一个虚拟机吗? 我想做puppet agent type = test1或者类似的。

一般来说,我怎么能通过一个集中式的源代码来使用木偶,我不是特别关心节点的安全性,并且期望节点经常来去呢?

由于虚拟机是用于开发的目的,你可能想看看stream浪汉 。 stream浪者支持木偶开箱即用。

通过DHCP设置您的虚拟机,并将其添加到您的configuration中(如果需要,您可以为虚拟机指定随机或连续的名称,但保留域部分以简化部署):

option domain-name "my.domain.com"; 

设置你的puppetmaster提供你想要的模块:

 node /.*my.domain.com/ inherits default { } 

并为该域启用自动签名:

 $ cat autosign.conf # Domains you want SSL certificates autosigned for #*.my.domain.com 

而关于“在很多vms上添加变化”,那么puppet就是这样。 如果您想要/需要其他types的按需操作,请查看Marionette Collective 。

木偶可以以客户端/服务器的方式工作,但这不是强制性的。 你可以在当地为当前的机器调用puppet,这是非常简单的(但是当然不太可扩展)

在我的情况下,当启动一个新的虚拟机,我只是用sftp(ssh)复制木偶完整configuration,并在本地调用木偶。 说明(fr) http://offirmo.net/wiki/index.php?title=Amor%C3%A7age_d%27un_serveur_Ubuntu_avec_puppet

 cd ~/puppet sudo puppet apply --debug --detailed-exitcodes --verbose manifests/site.pp --modulepath=modules --ignorecache --no-usecacheonfailure 

如果我需要更新,我的puppetconfiguration是在一个git repo( https://github.com/Offirmo/offirmo-puppet ),我可以得到最新的一个与git pull并再次申请。

由你来判断这种方法在你的情况下是否更好。