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 매개 변수를 수정하려고 시도했지만 항상 동일한 결과를 얻습니다. 난 노력 했어:
- 마디:*
- 역할:*
- *
- * : *
어떤 아이디어?
답변
나는 그것을 알아. 내 노드에는 fqdn이 없었습니다. 나는을 지정해야했다 -a ipaddress
. 오류 메시지는 도움이되지 않았습니다. knife ssh 코드를 디버깅하여 알아 냈습니다. knife 구성 파일에서 속성을 읽지 않는 버그도 있습니다. 이 문제에 대한 티켓을 열고 패치를 제출할 것입니다.
내가 이것을 끝내기 위해 요리사 노드의 호스트 이름을 내 / etc / hosts 파일에 IP 주소에 대한 포인터와 함께 넣었습니다. 예를 들면 다음과 같습니다.
10.3.3.100 chef-client.int
물론 다른 노드와 함께 항상 DNS 서버에 넣을 수도 있습니다. 그것은 문제를 완전히 해결할 것입니다.
답변
또한 -a ipaddress
작동하지 않으면 시도하십시오-a cloud.public_ipv4
나는 knife ssh
내 노드에 내부 IP 주소를 사용하려고 한다는 것을 알아 낸 후이 솔루션을 보았고 retr0h라는 누군가가 이것을 보여주기 전에 요리사 IRC 채널 (#chef on irc.freenode.net)을 요구했습니다 .
답변
시도하십시오 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"
.
답변
당신은 시도한 적이 knife ssh "name:*" "uptime"
있습니까?
요리사 10.x를 사용하고 있으며 저에게 효과적입니다.
내 의견으로는을 사용할 때 knife search [INDEX] [QUERY]
첫 번째 매개 변수 INDEX
는 쿼리 할 항목의 유형을 지정하는 데 사용됩니다. knife ssh
명령을 사용하는 동안 노드 검색을 시도한다는 것을 알고 있으므로 필요한 경우 [QUERY]
부품을 지정하기 만하면됩니다 name:*
.
답변
ssh / config를 사용하고 fqdn으로 연결 하여이 문제를 해결했습니다.