OSS(Open Source Software)/chef 2014. 4. 15. 22:49

서버


1. 설치


다음 경로에서 시스템에 맞는 패키지를 다운받아 설치 한다.

http://www.getchef.com/chef/install/ 

centos 6.4에서 구성할 예정이기 때문에, chef-server 탭에서 chef-server-11.0.12-1 버전을 다운 받아 설치했다.


# wget https://opscode-omnibus-packages.s3.amazonaws.com/el/6/x86_64/chef-server-11.0.12-1.el6.x86_64.rpm --no-check-certificate

# rpm -Uvh chef-server-11.0.12-1.el6.x86_64.rpm


2. Chef Server 설정


패키지 설치 후에는 chef-server-ctl 명령을 이용해서 chef server 설정을 한다.


# chef-server-ctl reconfigure


설정을 완료하면, chef-server에 필요한 데몬들이 동작할 것이다. 만약 hostname 설정이 fqdn으로 설정되어 있지 않다면, 정상적으로 설정이 되지 않는다. 다음과 같이 hostname을 설정한다.


# vi /etc/hosts

1.1.1.1    chef-server.example.com

#vi /etc/sysconfig/network 

HOSTNAME=chef-server.example.com


hostname -f 명령을 이용해서 확인했을 때 에러가 출력되지 않으면 정상이다.


# hostname -f


3. chef-server.rb 셋팅


다음을 참고


http://docs.opscode.com/config_rb_chef_server_optional_settings.html


/etc/chef-server/chef-sever.rb 파일을 생성하고 다음을 입력


server_name = "111.111.111.111"    # 만약 도메인이 등록되어 있다면 fqdn을 입력

api_fqdn server_name


nginx['url'] = "https://#{server_name}"

nginx['server_name'] = server_name

lb['fqdn'] = server_name

bookshelf['vip'] = server_name


4. 웹 접속


https://[IP]


초기비밀번호 : admin / p@ssw0rd1



workstation


1. 설치


workstation은 cookbook을 제작하고 knife를 이용해 chef-server에 업로드 하는 역할을 한다. 그렇기 때문에 knife를 사용할 수 있도록 chef-client를 설치해 주면 된다.


다음 경로에서 시스템에 맞는 패키지를 다운받아 설치 한다.

http://www.getchef.com/chef/install/ 


본인은 client 탭에서 11.6.0-1 버전을 다운 받아 설치 했다.


# rpm -Uvh chef-11.6.0-1.el6.x86_64


2. chef-repo 복제


chef-server와 상호작용하는 chef-repo를 github로부터 복제 한다. 기본 구성을 할 수 있다. git clone을 위해 git 패키지를 설치하고 chef-repo를 복제한다.


# yum install git

# git clone git://github.com/opscode/chef-repo.git


복제가 완료되면 chef-repo라는 디렉터리가 생성된 것을 확인할 수 있다.


chef-repo 디렉터리에 .chef 디렉토리를 생성한다.


# mkdir -p chef-repo/.chef


knife 초기화


# knife configure --initial


client



knife bootstrap 명령을 이용해 설치


# knife bootstrap 123.45.6.123 -x username -P passwd --sudo


설치 완료 후 다음 명령으로 node 정보를 확인 할 수 있다.


# knife client show name_of_node


클라이언트 정보는 다음을 이용해 확인할 수 있다.


# knife client list


'OSS(Open Source Software) > chef' 카테고리의 다른 글

chef 설치 시 postgresql createdb 실패  (0) 2014.06.17
리눅스 파일 퍼미션 변경 recipe  (0) 2014.05.20
Resource란?  (0) 2014.04.14
멱등성이란?  (0) 2014.04.14
chef-solo를 이용한 패키지 설치  (0) 2014.04.14
posted by 구닥다리 엔지니어
: