我无法找到我的傀儡环境中发生的任何问题的答案,这就是为什么我希望有人能在这里向我解释。
ENV:领班(Puppet CA)、Puppet 大师、Puppet 代理
我有一台安装了 Puppet Agent 的 Oracle VM‘server01.domain.xx’,它的服务必须迁移到另一台主机具有相同的 FQDN。我尝试通过以下方式实现:
- [Foreman] puppet cert clean server01.domain.xx
- [Foreman] 解除主机关联(将其与 esx 取消链接)
- [Foreman] 删除主机
- [新虚拟机] Puppet 代理 -t (CSR)
- [Foreman] puppet cert sign server01.domain.xx
- [新虚拟机] Puppet 代理 -t
我没有禁用旧主机上的 puppet 代理并删除 ssl 目录(以防万一),因为我认为“puppet cert clean”应该足够了,即使 fqdn 相同(以及 certnames)。接下来发生了什么?旧虚拟机运行 puppet 代理并应用已为新虚拟机准备好的配置。希望没有发生任何不好的事情。
那么,我是否缺少一些关于它如何真正运作的知识?我认为私钥-公钥创建(4-5)使这种通信独一无二,并且相同的证书名称无法破坏它。
提前感谢任何合理的解释!
答案1
不幸的是,这是正确的。
运行puppet cert clean $certname
不足以锁定仍然活动的节点。
之后您必须重新启动 Puppet Master 才能实际使用新的 CRL。
看:https://docs.puppetlabs.com/references/latest/man/cert.html#ACTIONS撤销,但这也适用于清理。