chef

1) chef-server

配置knife

$ knife configure -i

为工作站安装并配置Knife Client

ubuntu@chef-server:~$ knife client create chef-workstation -d -a -f /home/ubuntu/.chef/chef-workstation.pem

2) chef-workstation

安装Ruby与其它依赖包, 安装RubyGems, 安装Chef Gem, 安装Git

创建Chef Repository
备注:Chef的大部分配置工作都是在Workstaion中的Chef Repository中完成的,不同的Chef Repository可以管理不同的Chef Server。

1. 创建配置文件夹
ubuntu@chef-workstation:/opt/chef-local$ sudo mkdir -p .chef

2.传输pem认证文件到Workstation (chef-workstation.pem和validation.pem)

3. ubuntu@chef-workstation:/opt/chef-local$ sudo knife configure

4. 确认Knife工具能否连接到Chef Server
ubuntu@chef-workstation:~$ knife client list

Boostrap可以用来将目标节点初始化为一个Client

ubuntu@chef-workstation:~$ sudo knife bootstrap 10.6.1.172 -x ubuntu -P password --sudo

验证chef-client-1是否已经注册 ubuntu@chef-workstation:~$ knife client list

使用

1. 创建cookbook, 并上传到chef server

ubuntu@chef-workstation:/opt/chef-local$ sudo knife cookbook upload user

2. 创建role, 并上传到chef server

ubuntu@chef-workstation:/opt/chef-local$ sudo knife role from file roles/ubuntu_servers.rb

3. 为cookbook创建data_bag, 并上传到chef server

ubuntu@chef-workstation:/opt/chef-local/data_bags$ sudo knife data bag create users

ubuntu@chef-workstation:/opt/chef-local/data_bags$ sudo knife data bag from file users users/ubuntu.json

4. 为节点增加run_list,即将ubuntu_servers这个角色赋给chef-client-1
ubuntu@chef-workstation:/opt/chef-local$ sudo knife node run_list add chef-client-1 "role[ubuntu_servers]"

3)chef-client

chef-client拉取配置

ubuntu@chef-client-1:~$ sudo chef-client

猜你喜欢

转载自flyingsword945.iteye.com/blog/2098312