knife ssh
ne trouve pas mes nœuds. Je sais que ça devrait pouvoir parce que quand je peux les chercher je les trouve
# knife search node name:*
2 items found
Node Name: web_01
...
Node Name: admin
...
Cependant, lorsque je lance knife ssh
(je vais le montrer avec le drapeau de «débogage»), je reçois
# 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!
(oui l'hôte est correct, je l'ai juste censuré pour le post).
J'ai essayé de modifier le paramètre QUERY et j'obtiens toujours les mêmes résultats. J'ai essayé:
- nœud:*
- rôle:*
- *
- *: *
Des idées?
-a ipaddress
" est littéral. Il indique apparemmentknife ssh
de se connecter par IP et non par FQDN. Ce comportement est stupide - il devrait se replier de cette façon par défaut.De plus, si
-a ipaddress
cela ne fonctionne pas, essayez-a cloud.public_ipv4
On m'a montré cette solution après avoir compris que
knife ssh
j'essayais d'utiliser des adresses IP internes pour mes nœuds et il a fallu demander au canal IRC du chef (#chef sur irc.freenode.net) avant que quelqu'un nommé retr0h ne me le montre .la source
knife ssh 'name:mydc1*' interactive -a node.node_name
Essayez
knife ssh "id:*" "uptime"
.N'oubliez pas que cela fait
knife ssh
essentiellement unknife search node
, donc votre requête doit être celle qui fonctionneknife search node
(c'est-à-dire,knife search node "node:*"
ne fonctionne pas).knife ssh "role:*"
devrait également fonctionner, mais uniquement si vos nœuds ont des rôles qui leur sont attribués. Pour cette question, votre originalknife search node "name:*"
devrait également fonctionner une fois que vous réutilisez la requêteknife ssh
. Ainsi,knife ssh "name:*" "uptime"
.la source
Avez-vous déjà essayé
knife ssh "name:*" "uptime"
?J'utilise chef 10.x et cela fonctionne pour moi.
À mon avis, lors de l'utilisation
knife search [INDEX] [QUERY]
, le premier paramètreINDEX
est utilisé pour spécifier le type de l'élément à interroger. Tout en utilisant laknife ssh
commande, il sait que vous essayez de rechercher des nœuds, donc tout ce que vous avez à faire est de spécifier la[QUERY]
pièce, ce qui estname:*
dans votre cas.la source
J'ai résolu cela en utilisant ssh / config et en me connectant par le fqdn.
la source