이것은 Ubuntu Online, Fedora Online, Windows 온라인 에뮬레이터 또는 MAC OS 온라인 에뮬레이터와 같은 여러 무료 온라인 워크스테이션 중 하나를 사용하여 OnWorks 무료 호스팅 공급자에서 실행할 수 있는 knife-search 명령입니다.
프로그램:
이름
knife-search - knife search 하위 명령에 대한 매뉴얼 페이지입니다.
검색 색인을 사용하면 Chef가 색인화한 모든 유형의 데이터에 대해 쿼리를 작성할 수 있습니다.
데이터 백(및 데이터 백 항목), 환경, 노드 및 역할을 포함한 서버. ㅏ
정의된 쿼리 구문은 정확, 와일드카드, 범위 및 검색 패턴과 같은 검색 패턴을 지원하는 데 사용됩니다.
흐린. 검색은 다음을 포함하여 여러 위치에서 수행할 수 있는 전체 텍스트 쿼리입니다.
레시피 내에서 수색 나이프의 하위 명령, 수색 의 방법
레시피 DSL 및 /수색 or /검색/색인 Chef 서버 API의 끝점.
검색 엔진은 Apache Solr를 기반으로 하며 Chef 서버에서 실행됩니다.
이 어플리케이션에는 XNUMXµm 및 XNUMXµm 파장에서 최대 XNUMXW의 평균 출력을 제공하는 나이프 수색 하위 명령은 인덱싱된 정보에 대한 검색 쿼리를 실행하는 데 사용됩니다.
셰프 서버.
통사론
이 하위 명령의 구문은 다음과 같습니다.
$ 나이프 검색 INDEX SEARCH_QUERY
어디에 INDEX 중 하나입니다 클라이언트, 환경, 노드, 역할, 또는 데이터 백의 이름 및
검색어 실행할 쿼리에 대한 검색 쿼리 구문입니다.
INDEX 생략된 경우 묵시적이며 기본값은 다음과 같습니다. 노드. 예를 들면 :
$ 나이프 검색 '*:*' -i
다음과 유사한 결과를 반환합니다.
8 발견 된 항목
centos-62-dev
openuse-1203
우분투-1304-dev
우분투-1304-orgtest
우분투-1204-오하이-테스트
우분투-1304-ifcfg-테스트
ohai 테스트
win2k8-dev
다음과 동일한 검색입니다.
$ 나이프 검색 노드 '*:*" -i
경우 검색어 콜론 문자(:), 기본 쿼리 패턴
is 태그:*#{@쿼리}* OR 역할:*#{@query}* OR fqdn:*#{@쿼리}* OR 주소:*#{@쿼리}*,
이는 다음 두 검색 쿼리가 사실상 동일함을 의미합니다.
$ 칼 검색 우분투
또는 :
$ knife 검색 노드 "tags:*ubuntu* OR roles:*ubuntu* OR fqdn:*ubuntu* (etc.)"
옵션
이 하위 명령에는 다음과 같은 옵션이 있습니다.
-a ATTR, --기인하다 ATTR
표시할 속성입니다.
-b 열, --시작 열
반환 결과가 시작되는 행입니다.
-c CONFIG_FILE, --구성 CONFIG_FILE
사용할 구성 파일입니다.
--chef-zero-포트 PORT
Chef-zero가 수신할 포트입니다.
--[no-]색상
컬러 출력을 보려면 사용합니다.
-NS, --disable-편집
$EDITOR가 열리는 것을 방지하고 데이터를 있는 그대로 받아들이기 위해 사용합니다.
--기본값
칼이 사용자에게 기본값을 제공하도록 요청하는 대신 기본값을 사용하도록 하는 데 사용합니다.
-e 편집자, --편집자 EDITOR
모든 대화식 명령에 사용되는 $EDITOR입니다.
-E 환경, --환경 환경
환경의 이름입니다. 이 옵션을 명령에 추가하면 명령이
명명된 환경에 대해서만 실행됩니다.
-F 체재, --체재 FORMAT
출력 형식: 개요 (기본값), 본문, JSON, 얌및 pp.
-시간, --도움
명령에 대한 도움말을 표시합니다.
-NS, --id 전용
일치하는 개체 ID만 표시하는 데 사용합니다.
INDEX 쿼리할 인덱스의 이름: 클라이언트, 환경, 노드, 역할및
DATA_BAG_NAME. 기본 인덱스: 노드.
-k 열쇠, --열쇠 KEY
나이프가 API 클라이언트가 만든 요청에 서명하는 데 사용할 개인 키
셰프 서버.
-엘, --긴
출력의 모든 속성을 표시하고 출력을 JSON으로 표시하는 데 사용합니다.
-미디엄, --중간
출력에 일반 속성을 표시하고 출력을 JSON으로 표시하는 데 사용합니다.
-o 종류, --종류 SORT
검색 결과가 정렬되는 순서입니다.
--인쇄 후
파괴 작업 후 데이터를 표시하는 데 사용합니다.
-q 검색어, --질문 검색어
하이픈(-)으로 시작하는 검색 쿼리를 보호하는 데 사용합니다. ㅏ -q 검색어는 다음과 같을 수 있습니다.
인수 또는 옵션으로 지정되지만 둘 다로 지정되지는 않습니다.
-NS, --실행 목록
실행 목록만 표시하는 데 사용합니다.
-R 지능, --행 INT
반환할 행 수입니다.
-s URL, --서버 URL URL
Chef 서버의 URL입니다.
검색어
Chef 서버에서 항목 목록을 식별하는 데 사용되는 검색 쿼리입니다. 이 옵션
와 동일한 구문을 사용합니다. 수색 하위 명령.
-u 사용자, --사용자 USER
API 클라이언트가 Chef에게 보낸 요청에 서명하기 위해 칼이 사용하는 사용자 이름
섬기는 사람. 사용자 이름이 개인 키와 일치하지 않으면 인증에 실패합니다.
-V, --번역
요리사 클라이언트의 버전입니다.
-V, --말 수가 많은
더 자세한 출력을 위해 설정합니다. 사용하다 -VV 최대 장황함을 위해.
-와이, --예
모든 확인 프롬프트에 "예"로 응답하는 데 사용합니다. 칼은 묻지 않을 것이다
확인.
-지, --로컬 모드
로컬 모드에서 Chef-client를 실행하는 데 사용합니다. 이것은 작동하는 모든 명령을 허용합니다
로컬 Chef-repo에 대해서도 작동하도록 Chef 서버에 대해.
예
Amazon EC2 플랫폼에서 실행 중인 모든 노드의 ID를 검색하려면 다음을 입력하십시오.
$ 나이프 검색 노드 'ec2:*' -i
다음과 같이 반환합니다.
4 발견 된 항목
ip-0A7CA19F.ec2.내부
ip-0A58CF8E.ec2.내부
ip-0A58E134.ec2.내부
ip-0A7CFFD5.ec2.내부
Amazon EC2 플랫폼에서 실행 중인 모든 노드의 인스턴스 유형(flavor)을 검색하려면,
시작하다:
$ 나이프 검색 노드 'ec2:*' -a ec2.instance_type
다음과 같이 반환합니다.
4 발견 된 항목
ec2.instance_type: m1.large
아이디: ip-0A7CA19F.ec2.internal
ec2.instance_type: m1.large
아이디: ip-0A58CF8E.ec2.internal
ec2.instance_type: m1.large
아이디: ip-0A58E134.ec2.internal
ec2.instance_type: m1.large
아이디: ip-0A7CFFD5.ec2.internal
Ubuntu를 실행하는 모든 노드를 검색하려면 다음을 입력하십시오.
$ 나이프 검색 노드 'platform:ubuntu'
프로덕션 환경에서 CentOS를 실행하는 모든 노드를 검색하려면 다음을 입력하십시오.
$ knife 검색 노드 'chef_environment:production AND 플랫폼:centos'
중첩 속성을 찾으려면 다음과 유사한 패턴을 사용합니다.
$ 나이프 검색 노드 -ㅏ .
둘 이상의 속성을 사용하도록 검색 쿼리를 작성하려면 밑줄(_) 분리하다
각 속성. 예를 들어 다음 쿼리는 다음을 실행하는 모든 노드를 검색합니다.
Ruby의 특정 버전:
$ knife 검색 노드 "languages_ruby_version:1.9.3"
중첩 속성을 찾을 수 있는 검색 쿼리를 작성하려면 다음을 수행하십시오.
$ 나이프 검색 노드 이름: -커널.머신
에서 사용될 검색 쿼리를 테스트하려면 나이프 SSH 명령:
$ knife 검색 노드 "role:web NOT name:web03"
이전 예제의 쿼리는 다음이 있는 모든 서버를 검색합니다. 웹 역할,
그러나 이름이 지정된 서버에는 없습니다. web03.
onworks.net 서비스를 사용하여 온라인으로 칼 검색 사용