木偶:当你期望随机播放节点时,可以“强制”证书名吗?

我们都知道( 在SF上的很好的例子 ),木偶主机名检测可能是…乐趣。

在我们公司(我想我们并不孤单),我们通常在我们的办公室预先configuration服务器,并在将设备带到远程数据中心并对其进行架设之前对其进行testing。 当然,即使我们不更改系统的实际主机名,反向dns也会改变。

我们正在慢慢起草我们的傀儡设置,我想确保这些举措不会造成问题。 我的想法是在服务器提供时(在第一个木偶运行之前)在puppet.conf中显式configuration系统的完整FQDN作为certname 。 我的过程看起来像这样:

  1. 基本的os安装
  2. 基本的networkingconfiguration,足以到达互联网和解决DNS
  3. 安装puppet并设置certname
  4. 开始傀儡,让他pipe理整个configuration
  5. testing,修复configuration(通过木偶)的问题,重新testing,等等…
  6. 手动停止木偶
  7. 为数据中心networking设置新的networkingconfiguration
  8. 将机器移至DC
  9. 打开它
  10. 木偶应该自动启动并继续工作

通过检测木偶的清单中的环境(例如基于子网,就像他们在维基媒体中所做的那样 )并根据需要修改configuration(例如,适合每个networking的resolv.conf内容)来支持该过程。 每个节点的certname在整个系统生命周期中都不会改变。

这种方法有什么问题吗? 可以改进吗?

我同意强制证书名称会使事情变得简单。 但是,当确定--fqdn (它parsinghostname的IP,然后查找该IP的反向名称;所有这些都可以在/etc/hosts中configuration)时, hostname命令本身可能performance得非常不一致课程)。

如果你configuration系统的主机名是FQDN,而不是简称,那么puppet不会尝试做任何有趣的名字查找。 它将使用该string,将其分割成第一个点的hostnamedomain ,而fqdn将成为整个事物。 这是你可能也想考虑的事情。