책 이미지

책 정보
· 분류 : 국내도서 > 컴퓨터/모바일 > OS/Networking > 네트워크 구축
· ISBN : 9788994506890
· 쪽수 : 176쪽
· 출판일 : 2014-02-21
책 소개
목차
1장 Chef란 무엇인가? . 개요 1
Infrastructure as Code 2
‘서버의 상태’ 관리 4
Chef는 어렵다? 4
CFEngine, Puppet, Chef 5
Chef 사용법 5
Chef Server와 Chef Solo 6
표준 Resource의 사용 방법만 안다면 OK! 8
2장 Chef Solo 설치 . Hello Chef! 9
Chef 설치 10
리포지터리(키친), 쿡북, 레시피 11
리포지터리 생성 11
knife 명령어로 쿡북 생성 12
레시피 편집 12
Chef Solo 실행 13
패키지 설치 15
Ruby의 힘을 발휘하자 16
멱등성이란? 16
Resource란? 17
3장 nginx를 Chef Solo로 설치 19
레시피 20
템플릿 파일 21
JSON 파일(Node Object) 23
쿡북 내의 디렉터리 24
Chef Solo 실행 25
Vagrant + CentOS에서의 문제점 25
4장 3분 만에 Chef Solo 테스트 환경 준비하기 .Vagrant 27
Vagrant의 도입 28
가상 서버의 가동 29
ssh 접속 설정 방법 1 31
ssh 접속 설정 방법 2 31
정지와 삭제 32
응용: OS 롤백이 가능하게 설정 - sahara 32
정리 33
5장 원격에서 chef-solo를 실행 . knife-solo 35
knife-solo의 도입 36
knife-solo 37
knife-solo에서의 solo.rb 및 JSON 파일 처리 38
knife solo prepare로 Chef Ready! 39
knife-solo에서 Chef Solo 환경 생성 39
knife solo init로 생성한 리포지터리의 디렉터리 구성 40
여러 호스트로의 knife solo 실행 41
정리 41
6장 레시피를 만들어 실행 순서 연습 43
vagrant up 44
Chef 리포지터리 생성 44
knife solo prepare 45
쿡북 생성과 레시피 수정 45
Chef Solo 실행 45
레시피의 업그레이드 46
7장 서드파티 Chef 쿡북 사용 47
사전 설정 48
yum의 EPEL을 yum 쿡북으로 활성화 49
직접 만들 것인가? 서드파티를 사용할 것인가? 50
8장 대표적인 레시피 예제 확인 . td-agent 레시피 53
td-agent 레시피 54
그룹 생성 57
사용자 생성 57
디렉터리 생성 58
패키지 배포 사이트 등록 58
Attribute와 Ohai 59
템플릿에서 설정 파일 생성 61
td-agent 패키지 설치 61
서비스 가동 62
공식 문서 참조 62
왜 “Resource?” 63
9장 패키지 설치 .Package 65
Package 66
gem_package 67
10장 서비스 가동 .Service와 Notification 69
Service 70
Notification과 Service의 조합 71
Notification 시점 72
Subscribe - Notification 역방향 통지 72
11장 템플릿에서 설정 파일 배포 . Template 75
Template 76
템플릿 내에서는 Attribute를 사용할 수 있다 77
템플릿은 기존의 모든 것을 가지고 오는 곳에서 시작 79
12장 파일 및 디렉터리 조작 . Cookbook File, Directory 81
Cookbook File 82
Directory 83
패키지를 파일로 설치 84
13장 사용자 생성 . User, Group 85
User 86
Group 86
14장 git 리포지터리에서 파일 불러오기 . Git 89
Git 90
git으로 불러온 파일 설치 91
15장 임의의 쉘 스크립트 실행 . Execute, Script 93
Script(bash) 94
creates 95
not_if, only_if 96
EC2 마이크로 인스턴스에 스왑 영역 생성 예 97
16장 그 외의 Resource 99
Cron 100
Deploy 100
File 100
http_request 101
Ifconfig 101
Link 102
Mount 102
Route 102
ruby_block 103
정리 103
17장 몇 가지 레시피 . run_list, 파일 분할, include_recipe 105
run_list의 작성 방법 106
레시피의 파일 분할 107
include_recipe 108
18장 Resource를 사용자가 정의 .Definition 109
Definition으로 cpanm의 Resourece를 정의 110
보다 범용적인 레시피를 작성할 때 - LWRP 112
19장 Attribute와 Data Bag 113
Attribute 114
Attribute를 사용하는 곳 115
Data Bag 116
20장 노드를 역할별로 그루핑하여 관리 . Role 119
Role 120
Role에 Attribute 정의 121
21장 서드파티 쿡북을 Bundler처럼 관리 . Berkshelf 123
Berkshelf의 사용법 124
Berkshelf와 Vagrant의 연계 126
정리 128
22장 Chef Server란? . 개요부터 설정까지 129
Chef Server의 아키텍처 130
Chef Server 환경에서의 각종 조작 예제 132
Vagrant의 멀티 VM을 이용한 환경 구축 135
Chef Server 설치 137
knife 설정 139
Work Station 설정 141
Chef Client 설치 143
레시피 실행 144
knife bootstrap을 이용한 노드 설정 145
정리 147
23장 어디까지를 Chef로 할 것인가? 149
서버 관리는 가능한 한 Chef로 한다 150
서버별로 리포지터리를 만들어야 하는가? 아니다 150
복수 노드에 대한 Chef Solo 실행 151
Chef Solo와 Chef Server 151
배포 툴과의 차별성 152
필자가 Chef를 사용하기 시작한 이유 153
에필로그 155
찾아보기 156
책속에서
국내에서도 클라우드 사업자 및 대규모 포털 업체에서 대규모 시스템 운용을 위해 Chef를 적용하여 사용하는 것으로 알고 있으며, 이 책에서도 소개되었지만 페이스북과 같은 상상 이상의 대규모 시스템에서도 사용하고 있다. 그리고 앞으로도 계속 이런 자동화 툴은 진화할 것이고, 자동화에 대한 요구 또한 늘어날 것으로 예상한다.
Emacs나 vim을 사용해 Ruby로 코드를 만든 후 그 파일을 Git에 올려 둔다. 이후 과정은 Chef에게 맡겨둔다. 어떤 방법이든 사람의 손으로 설정해야만 했던 서버나 인프라를 Chef를 이용하면, 애플리케이션 코드를 쓰는 것과 같이 코드를 통해 설정을 자동화할 수 있다.
knife solo init로 리포지터리를 만들고, 로컬 환경에서 원하는 에디터로 레시피를 편집하고, knife solo prepare로 원격지의 Chef Solo 환경을 구축하고, knife solo cook으로 실행하는 것이 일련의 작업 순서다.