나는 요리사 서버에서 하나의 노드 개체를 반환이 명령을 사용할 수 있습니다json 형태로 chef 서버의 모든 노드 객체를 얻으려면 어떻게해야합니까?
knife node show -l --format=json <node_name>
내가 (JSON으로) 모든 노드 객체를 얻으려면 내 자신의 보고서를 쓸 수.
요리사 DB를 직접 쿼리 할 수있는 방법이 있습니까?
나는 요리사 서버에서 하나의 노드 개체를 반환이 명령을 사용할 수 있습니다json 형태로 chef 서버의 모든 노드 객체를 얻으려면 어떻게해야합니까?
knife node show -l --format=json <node_name>
내가 (JSON으로) 모든 노드 객체를 얻으려면 내 자신의 보고서를 쓸 수.
요리사 DB를 직접 쿼리 할 수있는 방법이 있습니까?
knife search '*:*' --format=json
에 관심이있는 모든 호스트에 대한 노드를 가져옵니다 일부 필터
knife node list | grep myhost
와 결합 아마 쉽게 네가 원하는 걸 더 많이. 또한 파일로 얻으려면 knife download nodes/
을 확인하십시오.
유닉스 파이프의 도움으로 우리는 이것을 매우 쉽게 달성 할 수 있습니다. 모든 노드 이름을 얻기
는
가knife node list
당신이
knife node list | grep myhost | xargs -n 1 knife node show -l -Fj
가장 좋은 방법입니까? 그것은 아주 오랜 시간이 걸립니다. 가능한 경우 직접 DB 쿼리가 훨씬 빠를 것이라고 생각합니다. DB에 저장되어있는 노드 객체는 json으로 취급 되는가 아니면 그 knife 커맨드를 사용할 때 Chef 서버에 의해 동적으로 생성 된 json 객체입니까? – red888
xargs에서'-P' 옵션을 사용하여 병렬로 실행할 수 있습니다. 즉, 'xargs -n 1 -P 50' –
Chef 서버에서 직접 노드 객체를 볼 수 있습니까? Chef 서버의 파일 시스템에 저장된 json 파일입니까? – red888
아니요, 노드 데이터 (및 대부분의 다른 데이터)는 Postgres 데이터베이스에 있습니다. 내부 구성 요소로 간주되기 때문에 언제든지이 데이터베이스와 직접 대화해서는 안됩니다. – coderanger