Chef-나이프 설정
Knife는 Chef 서버와 상호 작용하는 Chef의 명령 줄 도구입니다. 하나는 요리 책을 업로드하고 Chef의 다른 측면을 관리하는 데 사용합니다. 로컬 머신의 chefDK (Repo)와 Chef 서버 간의 인터페이스를 제공합니다. 그것은 관리에 도움이-
- Chef 노드
- Cookbook
- Recipe
- Environments
- 클라우드 리소스
- 클라우드 프로비저닝
- Chef 노드의 Chef 클라이언트에 설치
Knife는 Chef 인프라를 관리하기위한 일련의 명령을 제공합니다.
부트 스트랩 명령
- 나이프 부트 스트랩 [SSH_USER @] FQDN (옵션)
클라이언트 명령
- 나이프 클라이언트 대량 삭제 REGEX (옵션)
- 나이프 클라이언트 CLIENTNAME 생성 (옵션)
- knife client delete CLIENT (옵션)
- Knife 클라이언트 편집 CLIENT (옵션)
- 사용법 : C : / opscode / chef / bin / knife (옵션)
- knife client key delete CLIENT KEYNAME (옵션)
- Knife 클라이언트 키 편집 CLIENT KEYNAME (옵션)
- Knife 클라이언트 키 목록 CLIENT (옵션)
- knife client key show CLIENT KEYNAME (옵션)
- 나이프 클라이언트 목록 (옵션)
- Knife 클라이언트 재 등록 CLIENT (옵션)
- knife client show CLIENT (옵션)
명령 구성
- 칼 구성 (옵션)
- 나이프 구성 클라이언트 디렉토리
요리 책 명령
- 칼 요리 책 대량 삭제 REGEX (옵션)
- 칼 요리 책 COOKBOOK 만들기 (옵션)
- 칼 요리 책 삭제 요리 책 버전 (옵션)
- 칼 요리 책 다운로드 COOKBOOK [VERSION] (옵션)
- 칼 요리 책 목록 (옵션)
- 칼 요리 책 메타 데이터 COOKBOOK (옵션)
- FILE의 칼 쿡북 메타 데이터 (옵션)
- 칼 요리 책 쇼 요리 책 [버전] [부품] [파일 이름] (옵션)
- 칼 요리 책 테스트 [COOKBOOKS ...] (옵션)
- 칼 요리 책 업로드 [COOKBOOKS ...] (옵션)
요리 책 사이트 명령
- 칼 요리 책 사이트 다운로드 COOKBOOK [VERSION] (옵션)
- 칼 요리 책 사이트 설치 COOKBOOK [VERSION] (옵션)
- 칼 요리 책 사이트 목록 (옵션)
- 칼 요리 책 사이트 검색 QUERY (옵션)
- 칼 요리 책 사이트 공유 COOKBOOK [CATEGORY] (옵션)
- 칼 요리 책 사이트 쇼 COOKBOOK [VERSION] (옵션)
- 칼 요리 책 사이트 unshare COOKBOOK
데이터 백 명령
- 칼 데이터 가방 생성 BAG [ITEM] (옵션)
- 칼 데이터 가방 삭제 BAG [ITEM] (옵션)
- 칼 데이터 가방 편집 BAG ITEM (옵션)
- BAG FILE | FOLDER [FILE | FOLDER ..] 파일의 칼 데이터 백 (옵션)
- 칼 데이터 가방 목록 (옵션)
- 칼 데이터 가방 쇼 BAG [ITEM] (옵션)
환경 명령
- 칼 환경 비교 [ENVIRONMENT ..] (옵션)
- 나이프 환경 환경 생성 (옵션)
- 나이프 환경 삭제 ENVIRONMENT (옵션)
- 칼 환경 편집 환경 (옵션)
- 파일 FILE [FILE ..]의 나이프 환경 (옵션)
- 칼 환경 목록 (옵션)
- 칼 환경 쇼 ENVIRONMENT (옵션)
실행 명령
- knife exec [SCRIPT] (옵션)
도움말 명령
- 칼 도움말 [list | TOPIC]
색인 명령
- 칼 인덱스 재 구축 (옵션)
노드 명령
- 나이프 노드 대량 삭제 REGEX (옵션)
- 칼 노드 노드 생성 (옵션)
- 칼 노드 노드 삭제 (옵션)
- 칼 노드 편집 노드 (옵션)
- 칼 노드 환경 세트 NODE ENVIRONMENT
- 파일 FILE의 나이프 노드 (옵션)
- 칼 노드 목록 (옵션)
- knife node run_list add [NODE] [ENTRY [, ENTRY]] (옵션)
- knife node run_list remove [NODE] [ENTRY [, ENTRY]] (옵션)
- knife node run_list set NODE ENTRIES (옵션)
- knife node show NODE (옵션)
OSC 명령
- knife osc_user create USER (옵션)
- knife osc_user delete USER (옵션)
- knife osc_user 사용자 편집 (옵션)
- knife osc_user 목록 (옵션)
- knife osc_user 사용자 재 등록 (옵션)
- knife osc_user show USER (옵션)
경로 기반 명령
- 칼 삭제 [PATTERN1 ... PATTERNn]
- 칼 deps PATTERN1 [PATTERNn]
- 칼 차이 패턴
- 칼 다운로드 패턴
- 칼 편집 [PATTERN1 ... PATTERNn]
- 칼 목록 [-dfR1p] [PATTERN1 ... PATTERNn]
- 칼 쇼 [PATTERN1 ... PATTERNn]
- 칼 업로드 패턴
- knife xargs [명령]
원시 명령
- 칼날 REQUEST_PATH
레시피 명령
- 칼 레시피 목록 [PATTERN]
역할 명령
- 칼 역할 대량 삭제 REGEX (옵션)
- 칼 역할 역할 생성 (옵션)
- 칼 역할 삭제 역할 (옵션)
- 칼 역할 편집 역할 (옵션)
- 칼 역할 env_run_list add [ROLE] [ENVIRONMENT] [ENTRY [, ENTRY]] (옵션)
- 칼 역할 env_run_list clear [ROLE] [ENVIRONMENT]
- 칼 역할 env_run_list 제거 [ROLE] [ENVIRONMENT] [ENTRIES]
- 칼 역할 env_run_list 교체 [ROLE] [ENVIRONMENT] [OLD_ENTRY] [NEW_ENTRY]
- 칼 역할 env_run_list 세트 [ROLE] [ENVIRONMENT] [ENTRIES]
- 파일 FILE [FILE ..]의 칼 역할 (옵션)
- 칼 역할 목록 (옵션)
- 칼 역할 run_list add [ROLE] [ENTRY [, ENTRY]] (옵션)
- 칼 역할 run_list 지우기 [ROLE]
- 칼 역할 run_list 제거 [ROLE] [ENTRY]
- 칼 역할 run_list 교체 [ROLE] [OLD_ENTRY] [NEW_ENTRY]
- 칼 역할 run_list 세트 [ROLE] [ENTRIES]
- 칼 역할 쇼 역할 (옵션)
명령 제공
- 나이프 서브 (옵션)
SSH 명령
- knife ssh QUERY COMMAND (옵션)
SSL 명령
- knife ssl check [URL] (옵션)
- knife ssl fetch [URL] (옵션)
상태 명령
- 칼 상태 QUERY (옵션)
태그 명령
- 칼 태그 노드 태그 생성 ...
- 칼 태그 NODE TAG 삭제 ...
- 칼 태그 목록 NODE
사용자 명령
- knife 사용자 생성 USERNAME DISPLAY_NAME FIRST_NAME LAST_NAME EMAIL PASSWORD (옵션)
- knife user delete USER (옵션)
- 칼 사용자 편집 사용자 (옵션)
- 칼 사용자 키 사용자 생성 (옵션)
- knife user key delete USER KEYNAME (옵션)
- knife user key edit USER KEYNAME (옵션)
- 칼 사용자 키 목록 USER (옵션)
- knife user key show USER KEYNAME (옵션)
- 칼 사용자 목록 (옵션)
- 칼 사용자 재 등록 사용자 (옵션)
- knife user show USER (옵션)
나이프 설정
칼을 설치하려면 다음으로 이동해야합니다. .chef 디렉토리를 만들고 knife.rb구성 세부 정보에 대해 knife에게 알려주는 chef repo 내부. 이것은 몇 가지 세부 사항을 가질 것입니다.
current_dir = File.dirname(__FILE__)
log_level :info
log_location STDOUT
node_name 'node_name'
client_key "#{current_dir}/USER.pem"
validation_client_name 'ORG_NAME-validator'
validation_key "#{current_dir}/ORGANIZATION-validator.pem"
chef_server_url 'https://api.chef.io/organizations/ORG_NAME'
cache_type 'BasicFile'
cache_options( :path => "#{ENV['HOME']}/.chef/checksums" )
cookbook_path ["#{current_dir}/../cookbooks"]
위 코드에서는 다음 두 키를 사용하는 호스팅 된 Chef 서버를 사용하고 있습니다.
validation_client_name 'ORG_NAME-validator'
validation_key "#{current_dir}/ORGANIZATION-validator.pem"
여기서 knife.rb는 사용할 조직과 개인 키를 찾을 위치를 knife에게 알려줍니다. 사용자의 개인 키를 찾을 수있는 위치를 knife에게 알려줍니다.
client_key "#{current_dir}/USER.pem"
다음 코드 줄은 우리가 호스트 된 서버를 사용하고 있음을 알려줍니다.
chef_server_url 'https://api.chef.io/organizations/ORG_NAME'
knife.rb 파일을 사용하여 유효성 검사기 나이프는 이제 조직의 호스팅 된 Opscode에 연결할 수 있습니다.