运行“sudo chef-client”不会更新最新版本的食谱

运行“sudo chef-client”不会更新最新版本的食谱

情况如下:

我一直在研究安装 monit 和安装自定义 monit 配置的方法。该配置在过去几天发生了变化。

我有一个 chef 服务器和一个 chef 节点。服务器拥有我提到的最新版本的配方。当我运行“sudo chef-client”时,它似乎运行了通常的语句,但当我检查 monit 配置时,它是一个旧版本,而不是最新版本。

当我使用我的 Chef 服务器的 Web UI 时,我可以看到它拥有我的菜谱的最新版本。

我该如何调试这个问题?

答案1

您的节点的环境定义可能有一个食谱约束。检查环境是否存在类似以下内容:

食谱“monit”,“= 1.3.5”

您可能对推送到 chef 的实际食谱内容有些困惑。您可以直接从 chef 下载特定版本,并通过执行 确保它包含您想要的所有内容knife cookbook download monit。它会提示选择一个版本,然后您可以浏览内容以查看它是否符合您的预期。

答案2

首先在服务器上调试所有版本的食谱,然后检查客户端正在下载哪个版本的食谱。如果是旧的,只需检查服务器是否有更新版本。如果也是,请转到 chef 服务器 UI 并检查环境。您可能已经设置了一个指定了食谱约束的环境。请在那里更新版本,它将再次开始工作。

相关内容