나이프 SSH가 내 노드를 찾지 못함


12

knife ssh내 노드를 찾지 못했습니다. 검색 할 수있을 때 찾을 수 있기 때문에 가능해야한다는 것을 알고 있습니다.

# knife search node name:*
2 items found

Node Name:   web_01
...

Node Name:   admin
...

그러나, 내가 실행 knife ssh하면 ( 'debug'플래그로 표시 할 것입니다)

# 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!

(예, 호스트가 정확하고 방금 게시를 위해 검열했습니다).

QUERY 매개 변수를 수정하려고 시도했지만 항상 동일한 결과를 얻습니다. 난 노력 했어:

  • 마디:*
  • 역할:*
  • *
  • * : *

어떤 아이디어?

답변:


16

나는 그것을 알아. 내 노드에는 fqdn이 없었습니다. 나는을 지정해야했다 -a ipaddress. 오류 메시지는 도움이되지 않았습니다. knife ssh 코드를 디버깅하여 알아 냈습니다. knife 구성 파일에서 속성을 읽지 않는 버그도 있습니다. 이 문제에 대한 티켓을 열고 패치를 제출할 것입니다.

내가 이것을 끝내기 위해 요리사 노드의 호스트 이름을 내 / etc / hosts 파일에 IP 주소에 대한 포인터와 함께 넣었습니다. 예를 들면 다음과 같습니다.

10.3.3.100 chef-client.int

물론 다른 노드와 함께 항상 DNS 서버에 넣을 수도 있습니다. 그것은 문제를 완전히 해결할 것입니다.


7
다른 독자를 명확히하기 위해 " -a ipaddress"는 문자 그대로입니다. knife sshFQDN이 아닌 IP로 연결하도록 지시 합니다. 이 동작은 바보입니다. 기본적으로이 방법으로 대체되어야합니다.
Steve Bennett

@SteveBennett 나는 이것이 기본 행동이어야한다는 것에 동의합니다. 내 게시물이 어떻게 혼란 스러울 수 있는지 봅니다. 설명해 주셔서 감사합니다.
Max

4

또한 -a ipaddress작동하지 않으면 시도하십시오-a cloud.public_ipv4

나는 knife ssh내 노드에 내부 IP 주소를 사용하려고 한다는 것을 알아 낸 후이 솔루션을 보았고 retr0h라는 누군가가 이것을 보여주기 전에 요리사 IRC 채널 (#chef on irc.freenode.net)을 요구했습니다 .


정말 고마워요! @all ec2를 실행 중이고 퍼블릭 IP로 인스턴스가 생성되었지만 호스트 이름이 로컬 이름을 가리키는 경우 다음을 사용하십시오.knife ssh 'name:mydc1*' interactive -a node.node_name
Ilja

0

시도하십시오 knife ssh "id:*" "uptime".

기억 knife ssh본질적으로 수행 knife search node하여 쿼리가 작동 하나 여야합니다, 그래서 knife search node(즉, knife search node "node:*"작동하지 않음). knife ssh "role:*"노드에 역할이 할당 된 경우에만 작동합니다. 그 문제에 대한의 목적을 바꾸면 원본 knife search node "name:*"도 작동합니다 knife ssh. 그래서 knife ssh "name:*" "uptime".


1
답장을 보내 주셔서 감사하지만 id : * 및 name : * 모두에 "노드 없음"을 걸었습니다.
Max

좋아, 그것은 이상하다 (즉, 그것은 나를 위해 작동). 검색 창에 새 객체를 표시하기 위해 요리사-솔러를 걷어차기도했지만 "나이프 검색 노드"에서 결과를 얻는 경우 "나이프 ssh"에서 사용하는 것과 동일한 노드 목록을 가져와야합니다. . 결과 목록이 다른 경우 다음에 볼 위치를 모르겠습니다.
cjc

0

당신은 시도한 적이 knife ssh "name:*" "uptime"있습니까?

요리사 10.x를 사용하고 있으며 저에게 효과적입니다.

내 의견으로는을 사용할 때 knife search [INDEX] [QUERY]첫 번째 매개 변수 INDEX는 쿼리 할 항목의 유형을 지정하는 데 사용됩니다. knife ssh명령을 사용하는 동안 노드 검색을 시도한다는 것을 알고 있으므로 필요한 경우 [QUERY]부품을 지정하기 만하면됩니다 name:*.


@cjc의 대답은 같은 의미라고 생각합니다.
ley

0

ssh / config를 사용하고 fqdn으로 연결 하여이 문제를 해결했습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.