Учебники

Шеф-повар — Роли

Роли в Chef — это логический способ группировки узлов. Типичными случаями являются роли для веб-серверов, серверов баз данных и т. Д. Можно настроить пользовательский список выполнения для всех узлов и переопределить значение атрибута в ролях.

Создать роль

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.

Загрузить роль на сервер Chef

vipin@laptop:~/chef-repo $ knife role from file web_servers.rb 

Теперь нам нужно назначить роль узлу с именем server.

Определите роль в файле Ruby внутри папки ролей репозитория Chef.

Роль состоит из имени и атрибута описания.

Роль состоит из списка выполнения для конкретной роли и параметров атрибута для конкретной роли.

У каждого узла, который имеет роль в своем списке выполнения, список выполнения роли будет определен как отдельный.

Все рецепты в списке выполнения роли будут выполнены на узле.

Роль будет загружена на сервер Chef с помощью роли ножа из команды file.

Роль будет добавлена ​​в список выполнения узла.

Запуск клиента Chef на узле, имеющем роль в его списке выполнения, выполнит все рецепты, перечисленные в роли.