我想使用 Puppet master 来通过 Vagrant 配置多个开发虚拟机:例如:vagrant 创建一个新盒子并使用 Puppet 代理对其进行配置。
但是,一些测试似乎表明 Puppet Master 为每个主机名分配证书,因此如果两个客户端具有相同的主机名,Puppet 将拒绝下载目录。Puppet 代理/服务器上是否有允许重复主机名的方法?
使用 Puppet 不会部署任何机密数据,它只是设置存储库并安装所需的软件,因此安全性并不是真正的问题。
答案1
第一次运行(发送新证书请求时)时,可以使用参数--证书名称为每台机器赋予特定名称(即使它们具有相同的主机名)
因此在 shell 上你可以使用:
puppet agent -t --certname=myhostXX
在 Puppet 服务器上,您将看到具有该名称的新请求。
这对您的环境有帮助吗?
答案2
正如 ricciocri 所建议的,您可以使用 --certname,但在您的主服务器中您可以设置"allow_duplicate_certs = true"
设置allow_duplicate_certs
解决了当您添加与前一个同名的客户端时的问题。
如果你使用 vagrant 进行开发或测试,我认为你可以将所有内容整合在一起,实现自动工作
1: certname #in your client side
2: allow_duplicate_certs = true #in your master
3: autosigning #in your master
有关自动签名的更多信息https://docs.puppetlabs.com/puppet/latest/reference/config_file_autosign.html