使用 SSH 搜索或访问节点时"FATAL: No nodes returned from search!"



我正在使用EC2创建实例。

当我运行knife node list时,我可以看到所有节点

NodeA,
NodeB,
NodeC

当我尝试搜索NodeC时,它会给我一条错误消息

FATAL: No nodes returned from search!

当我尝试使用SSH访问同一个节点NodeC时,我得到了相同的错误。

$ knife search node name:NodeC
FATAL: No nodes returned from search!

但是当我运行knife node list时,我可以在列表中看到NodeC

即使我运行knife search node:,它也会显示除NodeC 之外的所有节点

有人能就此提出解决方案吗?

NodeC是否成功运行了chef-client?如果不是这样,则不会将最新的一组属性上传到Chef服务器,这可以解释为什么您没有从knife-search中看到任何内容。

当我使用winrm运行chef客户端时,出现了类似的错误消息:knife winrm ADDRESS chef-client --manual-list --winrm-user USER --winrm-password 'PASSWORD'问题是(可能是我)我已经启动了两次服务器,并在其间更新了一些食谱。boots再次启动服务器并运行命令工作

我也遇到了这个问题。knife node list将返回服务器名称,但尝试使用服务器名称运行刀具命令将与FATAL: No nodes returned from search!一起出错。我不知道问题的确切原因,但似乎有什么东西没有在厨师服务器上完全注册,需要更多的时间。直到最近我才看到这种行为。也许《大厨11》有些变化。无论如何,我最终所做的是在while循环中放入构建脚本中的第一个knife ssh命令。它只是不断尝试,直到命令成功。有时它在第一次尝试时有效,有时我看到它需要三次尝试。可能应该添加一个计数器,这样它在尝试了一些次数后就会退出。这是我正在使用的bash代码:

    echo "Waiting until the knife utility can run apt-get successfully on the remote server."
    while true
    do
        knife ssh "name:${SERVERNAME}" "sudo apt-get update" -i sshkey.pem -x ubuntu --yes
        CMDSTATUS=$?
        echo STATUS: $CMDSTATUS
        if [ $CMDSTATUS -eq 0 ]
        then
           echo "knife ssh command was successful. Continuing"
           break
        fi
        echo "knife ssh command failed. Will try again."
        echo "Sleeping 15 seconds..."
        sleep 15
    done

相关内容

最新更新