knife ssh
não está encontrando meus nós. Eu sei que deveria poder, porque quando eu posso procurá-los, eu os encontro
# knife search node name:*
2 items found
Node Name: web_01
...
Node Name: admin
...
No entanto, quando eu corro knife ssh
(mostrarei com o sinalizador 'debug'), recebo
# 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!
(sim, o host está correto, eu apenas o censurei no post).
Tentei modificar o parâmetro QUERY e sempre obtive os mesmos resultados. Eu tentei:
- nó:*
- Função:*
- *
- *: *
Alguma ideia?
-a ipaddress
" é literal. Aparentemente, dizknife ssh
para conectar por IP e não FQDN. Esse comportamento é idiota - ele deve fazer o fallback dessa maneira por padrão.Além disso, se
-a ipaddress
não funcionar, tente-a cloud.public_ipv4
Foi-me mostrada essa solução depois de descobrir que
knife ssh
estava tentando usar endereços IP internos para meus nós e demorou algumas perguntas no canal IRC do chef (#chef em irc.freenode.net) antes que alguém chamado retr0h me mostrasse isso .fonte
knife ssh 'name:mydc1*' interactive -a node.node_name
Tente
knife ssh "id:*" "uptime"
.Lembre-se de que
knife ssh
essencialmente faz aknife search node
, portanto sua consulta deve ser aquela que funcionaknife search node
(ou seja,knife search node "node:*"
não funciona).knife ssh "role:*"
também deve funcionar, mas somente se seus nós tiverem funções atribuídas a eles. Nesse caso, o originalknife search node "name:*"
também deve funcionar assim que você redirecionar a consultaknife ssh
. Entãoknife ssh "name:*" "uptime"
,.fonte
Você já tentou alguma vez
knife ssh "name:*" "uptime"
?Estou usando o chef 10.xe funciona para mim.
Na minha opinião, ao usar
knife search [INDEX] [QUERY]
, o primeiro parâmetroINDEX
é usado para especificar o tipo do item a ser consultado. Ao usar oknife ssh
comando, ele sabe que você está tentando procurar nós; portanto, tudo o que você precisa fazer é especificar a[QUERY]
peça, que é oname:*
seu caso.fonte
Eu resolvi isso usando ssh / config e conectando pelo fqdn.
fonte