当我在工作站上用刀触发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。
我很确定自己的设置中缺少某些内容,但是我并没有真正理解可能出错的地方。有想法吗?
答案 0 :(得分:0)
如果在其中运行命令的Shell的路径中没有指定的二进制文件,则会发生这种情况。您可能必须指定二进制文件的完整路径。
由于您说可以ssh
进入节点并运行chef-client
,因此请运行以下内容以获取二进制文件的完整路径
$ which chef-client
此输出将是这样
/path/to/chef-client
现在,通过chef-client
运行时,请使用此完整路径,而不要单独使用knife