O SSH de facas não encontra meus nós

12

knife ssh não está encontrando meus nós. Eu sei que deveria ser possível 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 executo knife ssh (mostro 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 acabei de censurá-lo para o post).

Eu tentei modificar o parâmetro QUERY e sempre obter os mesmos resultados. Eu tentei:

  • node: *
  • role: *
  • *
  • *: *

Alguma idéia?

    
por Max 04.01.2012 / 08:45

5 respostas

16

Eu percebi isso. meus nós não tinham um fqdn. Eu tive que especificar -a ipaddress . a mensagem de erro não foi útil. Eu descobri depurando o código da faca ssh. existe também um bug que não lê o atributo do arquivo de configuração do knife. Vou abrir um ticket sobre o problema e talvez enviar um patch.

O que eu fiz para superar isso foi colocar o nome do host do nó chef no meu arquivo / etc / hosts com um ponteiro para o endereço IP. Por exemplo:

10.3.3.100 chef-client.int

Você poderia, é claro, sempre colocá-lo em um servidor DNS também, junto com o resto de seus nós. Isso resolveria completamente o problema.

    
por 04.01.2012 / 16:43
4

Além disso, se -a ipaddress não funcionar, tente -a cloud.public_ipv4

Foi-me mostrada esta solução depois de descobrir que knife ssh estava a tentar utilizar endereços IP internos para os meus nós e foi necessário perguntar no canal IRC do chef (#chef no irc.freenode.net) antes de alguém chamado retr0h me mostrou isso .

    
por 25.07.2012 / 06:40
0

Experimente knife ssh "id:*" "uptime" .

Lembre-se de que knife ssh basicamente faz um knife search node , portanto, sua consulta deve ser uma que funcione em knife 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. Para esse assunto, seu knife search node "name:*" original também deve funcionar quando você redirecionar a consulta para knife ssh . Então, knife ssh "name:*" "uptime" .

    
por 04.01.2012 / 13:09
0

Você já tentou knife ssh "name:*" "uptime" ?

Estou usando o chef 10.x e funciona para mim.

Na minha opinião, ao usar knife search [INDEX] [QUERY] , o primeiro parâmetro INDEX é usado para especificar o tipo do item a ser consultado. Ao usar o comando knife ssh , ele sabe que você está tentando pesquisar nós, portanto, tudo o que você precisa fazer é especificar a [QUERY] part, que é name:* no seu caso.

    
por 03.01.2013 / 08:55
0

Eu resolvi isso usando ssh / config e conectando pelo fqdn.

    
por 06.09.2015 / 19:10

Tags