从工作站用刀执行时,“ sudo:chef-client:未找到命令”

时间:2019-02-22 11:57:59

标签: chef knife

当我在工作站上用刀触发Chef-Client时,我在节点上运行Chef-Client时遇到问题。我在macOS上,我的节点也是macOS。通常,刀似乎对我有用,因为例如,如果我执行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。 我很确定自己的设置中缺少某些内容,但是我并没有真正理解可能出错的地方。有想法吗?

1 个答案:

答案 0 :(得分:0)

如果在其中运行命令的Shell的路径中没有指定的二进制文件,则会发生这种情况。您可能必须指定二进制文件的完整路径。

由于您说可以ssh进入节点并运行chef-client,因此请运行以下内容以获取二进制文件的完整路径

$ which chef-client

此输出将是这样

/path/to/chef-client

现在,通过chef-client运行时,请使用此完整路径,而不要单独使用knife