
我想使用 Puppet master 透過 Vagrant 配置多個開發虛擬機器:例如:vagrant 建立一個新盒子並使用 Puppet 代理程式對其進行設定。
然而,一些測試似乎表明 Puppet master 為每個主機名稱分配證書,因此如果兩個用戶端具有相同的主機名,Puppet 會拒絕下載目錄。 Puppet 代理程式/伺服器上有沒有辦法允許重複的主機名稱?
使用 Puppet 不會部署任何機密數據,它只是設定儲存庫並安裝所需的軟體,因此安全性並不是真正的問題。
答案1
在第一次運行時(當您發送新證書的請求時),您可以使用該參數--證書名稱為每台機器指定特定名稱(即使它們具有相同的主機名稱)
所以在 shell 上你可以使用:
puppet agent -t --certname=myhostXX
在木偶伺服器上,您將看到一個具有該名稱的新請求。
這對您的環境有幫助嗎?
答案2
正如 ricciocri 所建議的那樣,您可以使用 --certname,但在您的 master 中您可以設定"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