knife ssh
finde meine Knoten nicht. Ich weiß, dass es möglich sein sollte, denn wenn ich nach ihnen suchen kann, finde ich sie
# knife search node name:*
2 items found
Node Name: web_01
...
Node Name: admin
...
Wenn ich jedoch starte knife ssh
(ich zeige es mit dem "Debug" -Flag), bekomme ich
# 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!
(Ja, der Gastgeber ist korrekt, ich habe es nur für den Beitrag zensiert).
Ich habe versucht, den Parameter QUERY zu ändern, und erhalte immer die gleichen Ergebnisse. Ich habe es versucht:
- Knoten:*
- Rolle:*
- *
- *: *
Irgendwelche Ideen?
-a ipaddress
" wörtlich. Es wird anscheinend gesagtknife ssh
, dass eine Verbindung über IP und nicht über FQDN hergestellt werden soll. Dieses Verhalten ist dumm - es sollte standardmäßig auf diese Weise zurückgreifen.-a ipaddress
Versuchen Sie es auch, wenn dies nicht funktioniert-a cloud.public_ipv4
Mir wurde diese Lösung gezeigt, nachdem ich herausgefunden hatte, dass
knife ssh
versucht wurde, interne IP-Adressen für meine Knoten zu verwenden, und es dauerte einige Fragen im Chef-IRC-Kanal (#chef auf irc.freenode.net), bevor mir jemand namens retr0h dies zeigte .quelle
knife ssh 'name:mydc1*' interactive -a node.node_name
Versuchen Sie es
knife ssh "id:*" "uptime"
.Denken Sie daran, dass dies im
knife ssh
Wesentlichen eine Funktion hatknife search node
, sodass Ihre Abfrage eine Funktion sein sollte, die funktioniertknife search node
(dhknife search node "node:*"
nicht funktioniert).knife ssh "role:*"
sollte auch funktionieren, aber nur, wenn Ihren Knoten Rollen zugewiesen sind. In diesem Fall sollte Ihr Originalknife search node "name:*"
auch funktionieren, wenn Sie die Abfrage für erneut verwendenknife ssh
. Alsoknife ssh "name:*" "uptime"
.quelle
Hast du es jemals versucht
knife ssh "name:*" "uptime"
?Ich benutze Koch 10.x und es funktioniert für mich.
Meiner Meinung nach wird bei der Verwendung
knife search [INDEX] [QUERY]
der erste ParameterINDEX
verwendet, um den Typ des abzufragenden Elements anzugeben. Bei der Verwendung vonknife ssh
Befehl, weiß es , dass Sie Knoten suchen sind tryting, so alles , was Sie tun müssen, ist die angeben[QUERY]
Teil, das istname:*
in Ihrem Fall.quelle
Ich löste dieses Problem, indem ich ssh / config verwendete und über den fqdn eine Verbindung herstellte.
quelle