설정관리가 필요한 모든 운영체제가 리눅스 였으면 좋겠다. 하지만 세상일이 내맘 같지 않아서 관리 시스템내에 윈도우즈가 있다는 거다. 윈도우즈를 버리고 리눅스로 통일하면 좋겠으나, 어디까지나 나만의 생각.
다행히 윈도우즈 서버용 chef-client가 있다. 예전에는 한참의 삽질을 해야 윈도우즈에 chef-client를 설치할 수 있었던 것 같은데, 지금은 한번에 설치가능하다고 한다.
이 문서는 리눅스 환경에서 Chef install의 윈도우즈 운영체제 버전이다.
http://wiki.opscode.com/display/chef/Installing+Chef+Client+on+Windows 를 방문, chef-client-latest.msi를 다운로드해서 설치하면 된다. Ruby에서 부터 chef-client까지 필요한 모든 것을 한번에 설치해 준다.
https://lh5.googleusercontent.com/-OGb4Pd1MX9U/UK7RjqYM6ZI/AAAAAAAACk8/Zmyk36QoPKs/s640/windows_chef_client01.png
https://lh6.googleusercontent.com/-14sBZIqWk3U/UK7Rjr71J_I/AAAAAAAACk4/q-RYJ6IQjVI/s640/windows_chef_client02.png
chef 관련 프로그램들은 c:/opscode 디렉토리 밑에 설치된다. 프로그램들이 제대로 설치가 됐는지 테스트 해보자.
C:\chef>chef-client
[2012-11-22T15:30:28+09:00] INFO: *** Chef 10.16.2 ***
[2012-11-22T15:30:36+09:00] INFO: Client key C:\chef\client.pem is not present -
registering
[2012-11-22T15:30:39+09:00] INFO: HTTP Request Returned 404 Not Found: Cannot lo
ad node yun-windows
[2012-11-22T15:30:39+09:00] INFO: Run List is []
[2012-11-22T15:30:39+09:00] INFO: Run List expands to []
....
Node가 성공적으로 등록됐는지 chef server에서 확인한다.
# knife node list
windows2003.test.com
...
cookbook 테스트
chef install에 있는 HelloWorld 쿡북 예제를 윈도우 버전으로 수정했다. HelloWorld/recipes/default.rb만 약간 수정했다.
template "c:/chef/HelloWorld.txt" do
source "HelloWorld.txt.erb"
variables :message => node['message']
action :create
end
경로에 역슬래쉬(\)가 아닌 슬래쉬(/)를 사용하는 것에 주의하자.
지원 resource
남은건 리소스 지원 여부다. 아래의 리소스를 아직 지원하지 않는다고 한다.
Cron
Deploy
Erlang call
Git
Http request
Ifconfig
Link
Mdadm
Package (but gem_package - for ruby gems, does work)
Route
SCM
Script
Subversion
지원하지 않는 리소스가 있기는 하지만, PowserShell script 리소스가 있어서 (약간 귀찮은 걸 제외하면)문제될 것 같지는 않다.
Contents
Windows 서버를 chef server로 사용하기
Windows 서버에 chef-client 설치하기
테스트 환경
빠른 설치
설정
cookbook 테스트
지원 resource
히스토리
Recent Posts
Archive Posts
Tags