-Ubuntu에서 Chef 초간단 설치하기 입니다.
About Chef
Chef는 1. 서버 형상 관리 툴 2. 서버 관리 자동화 툴 3. 요세는 클라우드 자동화 툴이라고도 합니다. puppet도 같은 비슷하죠.
Chef는 ruby로 작성되어 있으며, 작업하다보면 rails와 비슷하단 느낌을 많이 받습니다. 근데 저도 아직 잘 chef에 관해서 모릅니다. 공부하고 있는 단계죠. 어쨌든!
chef-server
레포지트리 설정
Ubuntu나 CentOS로 공식적으로 들어간 chef 패키지는 없고, 개발사인 opscode에서 관리하는 레포지트리를 사용합니다.
$ echo "deb http://apt.opscode.com/ `lsb_release -cs`-0.10 main" | sudo tee /etc/apt/sources.list.d/opscode.list
Repository PGP 키 추가
$ sudo mkdir -p /etc/apt/trusted.gpg.d
$ gpg -keyserver keys.gnupg.net -recv-keys 83EF826A
$ gpg -export packages@opscode.com | sudo tee /etc/apt/trusted.gpg.d/opscode-keyring.gpg > /dev/null
레포지트리 업데이트
$ sudo apt-get update
Chef 설치
$ sudo apt-get install chef-server
- 설치하면서 URL을 물어보는데 http://
:4040 으로 설정합니다. localhost로 설정하면 나중에 bootstrap으로 클라이언트 설치하는데 오류가 발생합니다.
knife 설정
knife는 chef를 움직이는 cli 툴입니다. 현재 계정(root가 아닌)에서 knife를 사용하여 명령을 내릴 수 있도록 설정합니다.
$ mkdir -p ~/.chef
$ sudo cp /etc/chef/validation.pem /etc/chef/webui.pem ~/.chef
$ sudo chown -R `whoami` ~/.chef
$ knife configuration -i
- 인증서의 위치는 위에서 복사한 ~/.chef의 경로로 입력
knife 설치 확인
$ knife client list
$ knife cookbook list
클라이언트 설치(precise)
chef bootstrap은 Ubuntu 10.04를 지원하지만, 12.04(precise)를 지원하지 않습니다. 하지만 간단히 그냥 lucid를 precise로 바꾸기만 하면 됩니다. 물론 lucid를 이용하는 경우는 기존 것 그대로 이용하면 됩니다.
$ cd /usr/lib/ruby/vendor_ruby/chef/knife/bootstrap
$ cp ubuntu10.04-apt.erb ubuntu12.04-apt.erb
$ sed -i ’s/lucid/precise/g’ ubuntu12.04-apt.erb
$ knife bootstrap 10.200.1.5 -d ubuntu12.04-apt -sudo -x
- 10.200.1.5: chef-client를 설치할 호스트 아이피
- -d: 배포판을 지정한다. lucid인 경우는 ubuntu10.04
- -sudo: sudo를 이용해서 명령을 실행한다.
- -x: ssh로 접속할 사용자를 지정한다. root 계정으로 직접 접근하지 못하는 서버들에 설정한다.
- -P: ssh password
- -bootstrap-version 0.10: bootstrap 설치할 버전
에러없이 잘 실행된다면
$ knife node list
로 해당 호스트가 등록된 것을 확인할 수 있습니다.
정상적으로 설치가 완료되었는데, 노드가 등록이 안되는 경우는 거의 대부분 시간이 안맞아서 그렇습니다. chef는 ampq를 사용하는데, 여기선 시간이 아주 중요하기 때문이지요. 시간이 안맞다면 ntpdate -u kr.pool.ntp.org 이렇게 시간이 중요하기 때문에 서버를 포함한 모든 노드는 ntpd를 설치하여 시간을 동기화하시기 바랍니다.
Cookbook 시작하기…
이제 Chef 설치는 잘 되었을 것이고, cookbook, knife등을 익힐 차례입니다. Cookbook Fast Start Guide에서 시작하기 바랍니다.