Chef客户端重新注册,可以将节点数据保存回Chef服务器

时间:2014-10-08 07:12:34

标签: chef knife

当我为主机生成新的客户端密钥并将它们放在/etc/chef/client.pem中时,我的chef-client运行正常,但最终状态始终标记为" Chef Client失败。 "我相信这是节点试图在chef-server上为自己更新的节点数据,并且不知何故该数据需要旧的client.pem文件。

提供更多背景信息:

  1. 我的主机磁盘已损坏并重新映像。安装操作系统后,我需要用厨师自行启动。
  2. 我宁愿保持与此节点关联的角色不变。因此,我在主机安装后启动的自动化(从安全服务器)复制validation.pem,headless_admin.pem并休息' DELETE / clients / clientname'。我没有' DELETE / nodes / nodename'因为我想保留与节点名相关的角色。
  3. 现在,正在运行的chef-client会生成一个新的client.pem文件(类似于从客户端重新注册客户端名称'
  4. 然而,虽然这个厨师 - 客户端运行按预期收敛,但它最终以失败的状态挽救。启用调试模式并不能提供更多信息。我强烈怀疑这是因为节点尝试在Chef服务器上更新其保存状态而失败。
  5. 是否有办法让客户端忽略对client.pem的任何更改并更新其节点状态。 (没有这个,重新注册的整个概念似乎毫无意义)。

    感谢阅读以及对此的任何见解

1 个答案:

答案 0 :(得分:1)

假设您使用的是Enterprise Chef或新的Chef Server 12,则需要修复节点对象上的ACL。默认情况下,当客户端首先创建自己的节点对象时,它会继承对它的写访问权。在旧的开源服务器(11)中,此检查更简单,其中客户端和节点的名称必须匹配,但ACL系统稍微复杂一些。您可以通过knife-acl修复此问题。

相关问题