'OSS(Open Source Software)'에 해당되는 글 33건

  1. 2014.06.12 :: 글에 이미지 넣기
  2. 2014.05.20 :: 리눅스 파일 퍼미션 변경 recipe
  3. 2014.04.17 :: 파일 및 디렉토리 무시하기
  4. 2014.04.15 :: chef 구성
  5. 2014.04.14 :: Resource란?
  6. 2014.04.14 :: 멱등성이란?
  7. 2014.04.14 :: chef-solo를 이용한 패키지 설치
  8. 2014.04.14 :: chef solo
  9. 2014.04.14 :: knife 초기 설정
  10. 2014.04.14 :: 저장소로부터 프로젝트 작업본 만들기(check out)

문법은 다음과 같다.

!image.jpg! 

!>image_url! 오른쪽 정렬

!image_url(Image title)! 이미지 제목이 표시 됨

!image_url!URL 해당 url로 링크됨


posted by 구닥다리 엔지니어
:
OSS(Open Source Software)/chef 2014. 5. 20. 10:39

리눅스에서 특정파일들에대한 퍼미션을 유지하고 싶은 경우가 있다.


chef를 이용해서 항상 일관된 퍼미션을 유지할 수 있다.


우선 퍼미션을 관리할 cookbook을 생성한다.

knife cookbook create passwd_perm -o cookbooks


recipe를 수정한다.

vim cookbooks/passwd_perm/recipes/default.rb

bash "passwd_perm" do

user "root"

cwd "/etc"

code <<-EOF

chmod 444 /etc/passwd

chown root /etc/passwd

EOF

end


cookbook을 업로드 한다.

knife cookbook upload passwd_perm -o cookbooks


node에 recipe를 추가한다.

knife node run_list add chef-client.example.com recipe[passwd_perm]


끝이다. 클라이언트를 실행하면 퍼미션이 변경 될 것이다.

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

chef client 변경 내역 갱신하기  (0) 2014.06.19
chef 설치 시 postgresql createdb 실패  (0) 2014.06.17
chef 구성  (0) 2014.04.15
Resource란?  (0) 2014.04.14
멱등성이란?  (0) 2014.04.14
posted by 구닥다리 엔지니어
:
OSS(Open Source Software)/svn 2014. 4. 17. 11:33

svn에서 무시하고 싶은 파일/폴더 지정하기


svn을 이용하다 보면, 개인 설정파일과 같이 commit 하지 않을 파일이나 디렉토리가 존재하게 된다. 이럴 경우, 부분 commit을 하거나 commit 후 revert 하게 되는데, ignore 속성 값을 주어 무시할 수 있다.


# svn propset svn:ignore dir_name .

# svn propset svn:ignore '.bashrc' .

현재 디렉토리 밑에 있는 .bashrc 파일에 대해 무시하라는 뜻이다.



현재 적용되어 있는 속성 확인


속성을 추가 후 또는 어느정도 기간이 지난 후 어떤 속성이 지정되어 있는지 기억이 나지 않을 경우 다음 명령으로 속성값을 확인할 수 있다.


# svn proplist -v .

전체 디렉토리를 다 확인하려면 다음과 같이 한다.

# svn proplist -vR



적용되어 있는 속성 삭제

# svn propdel svn:ignore dir_name


posted by 구닥다리 엔지니어
:
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 구닥다리 엔지니어
:
OSS(Open Source Software)/chef 2014. 4. 14. 18:18

레시피를 작성할 때 log나 package라는 명령을 사용하는데, 이러한 명령은 ruby 문법이 아닌 chef가 제공하는 DSL이다.

자신이 정의할 수도 있고, 제삼자가 만든 것을 import 할 수도 있다.

Resource의 리스트는 공식 문서에서 확인 가능하다.

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

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

리눅스 파일 퍼미션 변경 recipe  (0) 2014.05.20
chef 구성  (0) 2014.04.15
멱등성이란?  (0) 2014.04.14
chef-solo를 이용한 패키지 설치  (0) 2014.04.14
chef solo  (0) 2014.04.14
posted by 구닥다리 엔지니어
:
OSS(Open Source Software)/chef 2014. 4. 14. 18:06

실행을 여러번 반복해도 같은 결과를 보장 받을 수 있는 특성.

즉, Chef의 레시피는 몇 번이고 실행해도 결과는 같으며, 결국, Chef의 실행이 끝난 후 서버 상태는 동일하다는 것을 보증하는 것이다.


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

chef 구성  (0) 2014.04.15
Resource란?  (0) 2014.04.14
chef-solo를 이용한 패키지 설치  (0) 2014.04.14
chef solo  (0) 2014.04.14
knife 초기 설정  (0) 2014.04.14
posted by 구닥다리 엔지니어
:
OSS(Open Source Software)/chef 2014. 4. 14. 18:03

chef-solo를 이용해 패키지를 설치해 본다.


레시피 파일을 수정(default.rb)

package "php" do

action :install

end


실행

chef-solo -c solo.rb -j localhost.json



여러 개의 패키지를 한번에 설치 하기 - 반복문 이용

%w{zsh gcc make yum-utils}.each do |pkg|

        package pkg do

                action :install

        end

end


실행

# chef-solo -c solo.rb -j localhost.json

[Mon, 14 Apr 2014 18:01:09 +0900] INFO: *** Chef 0.10.6 ***

[Mon, 14 Apr 2014 18:01:10 +0900] INFO: Setting the run_list to ["recipe[hello]"] from JSON

[Mon, 14 Apr 2014 18:01:10 +0900] INFO: Run List is [recipe[hello]]

[Mon, 14 Apr 2014 18:01:10 +0900] INFO: Run List expands to [hello]

[Mon, 14 Apr 2014 18:01:10 +0900] INFO: Starting Chef Run for localhost

[Mon, 14 Apr 2014 18:01:10 +0900] INFO: Running start handlers

[Mon, 14 Apr 2014 18:01:10 +0900] INFO: Start handlers complete.

[Mon, 14 Apr 2014 18:01:10 +0900] INFO: Processing log[Hello, Chef!] action write (hello::default line 9)

[Mon, 14 Apr 2014 18:01:10 +0900] INFO: Hello, Chef!

[Mon, 14 Apr 2014 18:01:10 +0900] INFO: Processing package[zsh] action install (hello::default line 12)

[Mon, 14 Apr 2014 18:01:13 +0900] INFO: package[zsh] installed version 4.3.10-5.el6

[Mon, 14 Apr 2014 18:01:13 +0900] INFO: Processing package[gcc] action install (hello::default line 12)

[Mon, 14 Apr 2014 18:01:13 +0900] INFO: Processing package[make] action install (hello::default line 12)

[Mon, 14 Apr 2014 18:01:13 +0900] INFO: Processing package[yum-utils] action install (hello::default line 12)

[Mon, 14 Apr 2014 18:01:15 +0900] INFO: package[yum-utils] installed version 1.1.30-14.el6

[Mon, 14 Apr 2014 18:01:15 +0900] INFO: Chef Run complete in 4.967731 seconds

[Mon, 14 Apr 2014 18:01:15 +0900] INFO: Running report handlers

[Mon, 14 Apr 2014 18:01:15 +0900] INFO: Report handlers complete


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

Resource란?  (0) 2014.04.14
멱등성이란?  (0) 2014.04.14
chef solo  (0) 2014.04.14
knife 초기 설정  (0) 2014.04.14
리포지터리(키친), 쿡북, 레시피  (0) 2014.04.14
posted by 구닥다리 엔지니어
:
OSS(Open Source Software)/chef 2014. 4. 14. 17:27
chef 설치
# rpm -Uvh http://rbel.frameos.org/rbel6
Retrieving http://rbel.frameos.org/rbel6
warning: /var/tmp/rpm-tmp.ZoRc8e: Header V4 DSA/SHA1 Signature, key ID f345be74: NOKEY
Preparing...                ########################################### [100%]
   1:rbel6-release          ########################################### [100%]

# yum install rubygem-chef


리포지터리 생성

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

Initialized empty Git repository in /game/chef-repo/.git/

remote: Reusing existing pack: 223, done.

remote: Total 223 (delta 0), reused 0 (delta 0)

Receiving objects: 100% (223/223), 46.09 KiB, done.

Resolving deltas: 100% (56/56), done.


쿡북 생성

# rm -rf cookbooks/

# git clone git://github.com/opscode/cookbooks.git

Initialized empty Git repository in /game/chef-repo/cookbooks/.git/

remote: Reusing existing pack: 18242, done.

remote: Total 18242 (delta 0), reused 0 (delta 0)

Receiving objects: 100% (18242/18242), 9.04 MiB | 2.16 MiB/s, done.

Resolving deltas: 100% (6971/6971), done.


knife 초기화

# knife configure


예제 cookbook 생성

# cd chef-repo

# knife cookbook create hello -o cookbooks

** Creating cookbook hello

** Creating README for cookbook: hello

** Creating metadata for cookbook: hello


레시피 편집

# vim cookbooks/hello/recipes/default.rb


log "Hello, Chef!"


chef solo 실행 시 사용할 레시피를 포함하는 JSON 파일 준비

chef-repo/localhost.json

{

        "run_list" : [

                "recipe[hello]"

        ]

}


solo.rb 파일 생성

file_cache_path "/tmp/chef-solo"

cookbook_path ["/game/chef-repo/cookbooks"]


chef-solo 실행

# chef-solo -c solo.rb -j localhost.json

[Mon, 14 Apr 2014 17:25:35 +0900] INFO: *** Chef 0.10.6 ***

[Mon, 14 Apr 2014 17:25:35 +0900] INFO: Setting the run_list to ["recipe[hello]"] from JSON

[Mon, 14 Apr 2014 17:25:35 +0900] INFO: Run List is [recipe[hello]]

[Mon, 14 Apr 2014 17:25:35 +0900] INFO: Run List expands to [hello]

[Mon, 14 Apr 2014 17:25:35 +0900] INFO: Starting Chef Run for localhost

[Mon, 14 Apr 2014 17:25:35 +0900] INFO: Running start handlers

[Mon, 14 Apr 2014 17:25:35 +0900] INFO: Start handlers complete.

[Mon, 14 Apr 2014 17:25:35 +0900] INFO: Processing log[Hello, Chef!] action write (hello::default line 9)

[Mon, 14 Apr 2014 17:25:35 +0900] INFO: Hello, Chef!

[Mon, 14 Apr 2014 17:25:35 +0900] INFO: Chef Run complete in 0.002279 seconds

[Mon, 14 Apr 2014 17:25:35 +0900] INFO: Running report handlers

[Mon, 14 Apr 2014 17:25:35 +0900] INFO: Report handlers complete


chef-solo 사용 순서 요약

  • 레시피 생성
  • JSON 파일로 실행할 레시피 지정
  • chef-solo 명령어로 실행


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

멱등성이란?  (0) 2014.04.14
chef-solo를 이용한 패키지 설치  (0) 2014.04.14
knife 초기 설정  (0) 2014.04.14
리포지터리(키친), 쿡북, 레시피  (0) 2014.04.14
chef 설치  (0) 2014.04.14
posted by 구닥다리 엔지니어
:
OSS(Open Source Software)/chef 2014. 4. 14. 15:18

knife로 cookbook을 만들기 전에 먼저 knife 초기 설정을 해야 한다.

# knife configure

위 명령으로 초기화를 하면 ~/.chef/knife.rb 라는 파일이 생성 된다.

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

chef-solo를 이용한 패키지 설치  (0) 2014.04.14
chef solo  (0) 2014.04.14
리포지터리(키친), 쿡북, 레시피  (0) 2014.04.14
chef 설치  (0) 2014.04.14
knife subcommand - configure  (0) 2014.04.10
posted by 구닥다리 엔지니어
:
OSS(Open Source Software)/svn 2014. 4. 14. 14:54

# svn co [저장소 주소] [로컬 디렉토리명]


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

파일 및 디렉토리 무시하기  (0) 2014.04.17
프로젝트 파일 추가  (0) 2014.04.14
새로운 프로젝트 생성  (0) 2014.04.14
posted by 구닥다리 엔지니어
: