2016-08-31 2 views

답변

3

knife search '*:*' --format=json에 관심이있는 모든 호스트에 대한 노드를 가져옵니다 일부 필터

knife node list | grep myhost 

와 결합 아마 쉽게 네가 원하는 걸 더 많이. 또한 파일로 얻으려면 knife download nodes/을 확인하십시오.

+0

Chef 서버에서 직접 노드 객체를 볼 수 있습니까? Chef 서버의 파일 시스템에 저장된 json 파일입니까? – red888

+0

아니요, 노드 데이터 (및 대부분의 다른 데이터)는 Postgres 데이터베이스에 있습니다. 내부 구성 요소로 간주되기 때문에 언제든지이 데이터베이스와 직접 대화해서는 안됩니다. – coderanger

0

유닉스 파이프의 도움으로 우리는 이것을 매우 쉽게 달성 할 수 있습니다. 모든 노드 이름을 얻기

knife node list 

당신이

knife node list | grep myhost | xargs -n 1 knife node show -l -Fj 
+0

가장 좋은 방법입니까? 그것은 아주 오랜 시간이 걸립니다. 가능한 경우 직접 DB 쿼리가 훨씬 빠를 것이라고 생각합니다. DB에 저장되어있는 노드 객체는 json으로 취급 되는가 아니면 그 knife 커맨드를 사용할 때 Chef 서버에 의해 동적으로 생성 된 json 객체입니까? – red888

+0

xargs에서'-P' 옵션을 사용하여 병렬로 실행할 수 있습니다. 즉, 'xargs -n 1 -P 50' –