【发布时间】:2019-07-16 12:29:15
【问题描述】:
当我在工作站上使用刀触发厨师客户端时,我在节点上运行厨师客户端时遇到问题。我在 macOS 上,我的节点也是 macOS。一般来说,knife 似乎对我有用,因为如果我执行,例如,knife ssh tags:my-mac-mini' 'pwd' -x ‘myUser’ -a ipaddress -P ‘myPasswrod’ 它连接到标记有my-mac-mini 的节点,然后打印具有工作目录的节点列表。但是当我尝试执行knife ssh tags:my-mac-mini' 'sudo chef-client' -x ‘myUser’ -a ipaddress -P ‘myPasswrod’ 时,它会分别为每个节点打印出sudo: chef-client: command not found。此外,我的节点是自举的,当我登录到特定节点时,我可以在所有节点上运行 chef-client。
我很确定我在我的设置中遗漏了一些东西,但我真的不明白可能出了什么问题。有什么想法吗?
【问题讨论】:
-
您的节点上似乎没有安装
chef-client。您可能必须使用 chefdk 安装它。 -
@bitsapien 感谢您的回复。很遗憾。事实并非如此;我的节点是自举的,我可以在所有节点上运行 chef-client。让我用这些细节更新问题
-
在这种情况下,运行
knife命令的 shell 不正确。我建议您传入 chef-client 二进制文件的完整路径。应该看起来像/usr/bin/chef-client -
@bitsapien 你的意思是说,我需要在我的节点上指定厨师客户端的路径吗?让我试试看,虽然我不确定是否需要它,因为当我通过 ssh 使用与刀命令相同的凭据进行连接时,我可以在节点上执行
sudo chef-client -
@olyv:如果您使用的是 chef rubygem 而不是 chefdk,请尝试在
knife命令之前附加bundle exec并让我们知道它是否有帮助...
标签: chef-infra knife