Puppet & Puppetmaster 用于在 VM 上进行开发

jam*_*nox 6 puppet puppetmaster

我处于不断旋转新虚拟机以进行开发的情况。我有一个可以克隆的基本映像,但它很快就会过时,而且您无法在许多虚拟机中添加更改。

我想设置一个在虚拟机第一次启动时运行的 puppet 脚本,并且有很多指南可以创建一个由 puppet 直接运行的 site.pp,但这涉及一个必须在虚拟机上设置的文件节点。我想做的是在 puppetmaster 上进行开发设置,以便我所有的 vm 都可以调用同一点并保持最新状态,并允许我使用文件服务器等创建一组全面的软件包。

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

puppet 可以与 puppetmaster 一起使用并且基本上忽略所有 pki 吗?我可以创建一个环境,以便我可以通过事实或其他方式将虚拟机注册到其中吗?我想做 puppet agent type=test1 或类似的。

通常,我如何通过集中式源使用 puppet,而我并不特别关心节点的安全性并期望节点经常来来去去?

daw*_*wud 2

将您的虚拟机设置为通过 DHCP 进行配置并添加到您的配置中(如果需要,您可以为虚拟机提供随机或连续名称,但保留域部分以方便部署):

option domain-name "my.domain.com";
Run Code Online (Sandbox Code Playgroud)

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

node /.*my.domain.com/ inherits default {
}
Run Code Online (Sandbox Code Playgroud)

并为该域启用自动签名:

$ cat autosign.conf 
# Domains you want SSL certificates autosigned for
#*.my.domain.com
Run Code Online (Sandbox Code Playgroud)

关于“在大量虚拟机上添加更改”,嗯,这就是目的puppet。如果您想要/需要其他类型的按需操作,请查看Marionette Collective