📅  最后修改于: 2020-11-04 04:50:50             🧑  作者: Mango
Chef中的角色是对节点进行分组的逻辑方法。典型的情况是具有Web服务器,数据库服务器等的角色。可以为所有节点设置自定义运行列表,并覆盖角色中的属性值。
vipin@laptop:~/chef-repo $ subl roles/web_servers.rb
name "web_servers"
description "This role contains nodes, which act as web servers"
run_list "recipe[ntp]"
default_attributes 'ntp' => {
'ntpdate' => {
'disable' => true
}
}
创建角色后,我们需要上载到Chef服务器。
vipin@laptop:~/chef-repo $ knife role from file web_servers.rb
现在,我们需要为一个称为服务器的节点分配一个角色。
vipin@laptop:~/chef-repo $ knife node edit server
"run_list": [
"role[web_servers]"
]
Saving updated run_list on node server
user@server:~$ sudo chef-client
...TRUNCATED OUTPUT...
[2013-07-25T13:28:24+00:00] INFO: Run List is [role[web_servers]]
[2013-07-25T13:28:24+00:00] INFO: Run List expands to [ntp]
...TRUNCATED OUTPUT...