Chef
Pull型であり、管理対象サーバにパッケージインストールが必要
Chef Zero: Workstation側で使用し、クライアントサーバモデルを自動的に構成する Knife: Chefのコマンドであり、chef-repoやChefサーバへ操作を行う
Workstation: サーバ管理クライアント
Node: 管理対象サーバ
Commands
cookbook作成
code:bash
$ knife cookbook create test -o cookbooks
** Creating cookbook test
** Creating README for cookbook: test
** Creating CHANGELOG for cookbook: test
** Creating metadata for cookbook: test
# 作成されたcookbookの確認
$ ls cookbooks/test
CHANGELOG.md attributes/ files/ metadata.rb recipes/ templates/
README.md definitions/ libraries/ providers/ resources/
recipe作成
code:cookbooks/test/recipes/default.rb
log "Hello Chef"
directory "/tmp/foo" do # Dir作成
owner "root"
group "root"
mode 0655
action :create
end
使い方
code:bash
$ sudo chef-solo -o test
Starting Chef Client, version 11.6.0
Compiling Cookbooks...
Converging 2 resources
Recipe: test::default
- create new directory /tmp/foo
- change mode from '' to '0655'
- change owner from '' to 'root'
Chef Client finished, 2 resources updated
その他
code:bash
knife environment from file ${json}
knife node list
knife client list
Reference