knife sshNo está encontrando mis nodos. Sé que debería poder hacerlo porque cuando puedo buscarlos los encuentro
# knife search node name:*
2 items found
Node Name: web_01
...
Node Name: admin
...
Sin embargo, cuando ejecuto knife ssh(lo mostraré con el indicador de 'depuración') me sale
# knife ssh "node:*" "uptime" -VV
DEBUG: Using configuration from /root/.chef/knife.rb
DEBUG: Signing the request as dev
DEBUG: Sending HTTP Request via GET to ec2-xx-xx-xx-xx.compute-1.amazonaws.com:4000/search/node
FATAL: No nodes returned from search!
(Sí, el host es correcto, solo lo censuré para la publicación).
Intenté modificar el parámetro QUERY y siempre obtengo los mismos resultados. He intentado:
- nodo:*
- papel:*
- * *
- *: *
¿Algunas ideas?

-a ipaddress" es literal. Aparentemente le diceknife sshque se conecte por IP, no por FQDN. Este comportamiento es tonto: debería retroceder de esta manera de forma predeterminada.Además, si
-a ipaddressno funciona, intente-a cloud.public_ipv4Me mostraron esta solución después de descubrir que
knife sshestaba tratando de usar direcciones IP internas para mis nodos y me tomó algunas preguntas en el canal del chef IRC (#chef en irc.freenode.net) antes de que alguien llamado retr0h me mostrara esto .fuente
knife ssh 'name:mydc1*' interactive -a node.node_nameTratar
knife ssh "id:*" "uptime".Recuerde que
knife sshesencialmente hace unknife search node, por lo que su consulta debe ser una que funcioneknife search node(es decir,knife search node "node:*"no funciona).knife ssh "role:*"También debería funcionar, pero solo si sus nodos tienen roles asignados. Para el caso, su originalknife search node "name:*"también debería funcionar una vez que reutilice la consultaknife ssh. Por lo tanto,knife ssh "name:*" "uptime".fuente
¿Alguna vez lo has intentado
knife ssh "name:*" "uptime"?Estoy usando el chef 10.x y funciona para mí.
En mi opinión, cuando se usa
knife search [INDEX] [QUERY], el primer parámetroINDEXse usa para especificar el tipo de elemento a consultar. Mientras usa elknife sshcomando, sabe que está intentando buscar nodos, por lo que todo lo que tiene que hacer es especificar la[QUERY]parte, que esname:*en su caso.fuente
Resolví esto usando ssh / config y conectando por el fqdn.
fuente