Spec-Zone.ru › Chef 18

роль ножа

[редактировать на GitHub]

Роль — это способ определения определённых шаблонов и процессов, которые существуют на узлах организации и относятся к одной функциональной обязанности. Каждая роль состоит из нуля (или более) атрибутов и списка выполнения. К каждому узлу можно назначить ноль (или более) ролей. Когда роль выполняется на узле, параметры конфигурации этого узла сравниваются с атрибутами роли, а затем содержимое списка выполнения этой роли применяется к параметрам конфигурации узла. При запуске клиента Chef Infra он объединяет собственные атрибуты и списки выполнения с теми, которые содержатся в каждой назначенной роли.

Используйте подкоманду knife role для управления ролями, связанными с одним или несколькими узлами на сервере Chef Infra.

Примечание

Чтобы добавить роль к узлу и затем создать список выполнения для этого узла, используйте подкоманду knife node и её аргумент run_list add.

Примечание

Ознакомьтесь со списком общих параметров, доступных для этой (и всех) подкоманд и плагинов knife.

удаление по шаблону

Используйте аргумент bulk delete для удаления одной или нескольких ролей, которые соответствуют шаблону, определённому регулярным выражением. Регулярное выражение должно быть заключено в кавычки и не должно быть окружено косыми чертами (/).

Синтаксис

У этого аргумента следующий синтаксис:

knife role bulk delete REGEX

Параметры

У этой команды нет специфических параметров.

Примеры

В следующих примерах показано, как использовать эту подкоманду knife:

Удаление ролей по шаблону

Используйте регулярное выражение для определения шаблона, используемого для удаления ролей по шаблону:

knife role bulk delete "^[0-9]{3}$"

создание

Используйте аргумент create для добавления роли на сервер Chef Infra. Данные роли сохраняются в формате JSON на сервере Chef Infra.

Синтаксис

У этого аргумента следующий синтаксис:

knife role create ROLE_NAME (options)

Параметры

У этого аргумента следующие параметры:

--description DESCRIPTION

Описание роли. Это значение заполняет поле описания для роли на сервере Chef Infra.

Примечание

См. config.rb для получения дополнительной информации о том, как добавить определённые параметры knife в качестве настроек в файл config.rb.

Примеры

В следующих примерах показано, как использовать эту подкоманду knife:

Создание роли

Чтобы добавить роль с именем role1, введите:

knife role create role1

В $EDITOR введите данные роли в формате JSON:

{
   "name": "role1",
   "default_attributes": {
   },
   "json_class": "Chef::Role",
   "run_list": ["recipe[cookbook_name::recipe_name]",
                 "role[role_name]"
   ],
   "description": "",
   "chef_type": "role",
   "override_attributes": {
   }
}

По завершении сохраните его.

удаление

Используйте аргумент delete для удаления роли с сервера Chef Infra.

Синтаксис

У этого аргумента следующий синтаксис:

knife role delete ROLE_NAME

Параметры

У этой команды нет специфических параметров.

Примеры

В следующих примерах показано, как использовать эту подкоманду knife:

Удаление роли

knife role delete devops

Введите Y для подтверждения удаления.

редактирование

Используйте аргумент edit для редактирования данных роли на сервере Chef Infra.

Синтаксис

У этого аргумента следующий синтаксис:

knife role edit ROLE_NAME

Параметры

У этой команды нет специфических параметров.

Примеры

В следующих примерах показано, как использовать эту подкоманду knife:

Редактирование роли

Для редактирования данных роли с именем role1, введите:

knife role edit role1

Обновите данные роли в формате JSON:

{
   "name": "role1",
   "description": "This is the description for the role1 role.",
   "json_class": "Chef::Role",
   "default_attributes": {
   },
   "override_attributes": {
   },
   "chef_type": "role",
   "run_list": ["recipe[cookbook_name::recipe_name]",
                "role[role_name]"
   ],
   "env_run_lists": {
   },
}

По завершении сохраните его.

из файла

Используйте аргумент from file для создания роли, используя существующие данные JSON в качестве шаблона.

Синтаксис

У этого аргумента следующий синтаксис:

knife role from file FILE

Параметры

У этой команды нет специфических параметров.

Примечание

См. config.rb для получения дополнительной информации о том, как добавить определённые параметры knife в качестве настроек в файл config.rb.

Примеры

В следующих примерах показано, как использовать эту подкоманду knife:

Создание роли из JSON-данных

Чтобы просмотреть данные роли, основанные на значениях, содержащихся в файле JSON:

knife role from file "path to JSON file"

список

Используйте аргумент list для просмотра списка доступных ролей на сервере Chef Infra.

Синтаксис

У этого аргумента следующий синтаксис:

knife role list

Параметры

У этого аргумента следующие параметры:

-w, --with-uri

Показать соответствующие URI.

Примеры

В следующих примерах показано, как использовать эту подкоманду knife:

Просмотр списка ролей

Чтобы просмотреть список ролей на сервере Chef Infra и отобразить URI для каждой возвращённой роли, введите:

knife role list -w

показать

Используйте аргумент show для просмотра данных роли.

Синтаксис

У этого аргумента следующий синтаксис:

knife role show ROLE_NAME

Параметры

У этого аргумента следующие параметры:

-a ATTR, --attribute ATTR

Атрибут (или атрибуты) для отображения.

Примечание

См. config.rb для получения дополнительной информации о том, как добавить определённые параметры knife в качестве настроек в файл config.rb.

Примеры

В следующих примерах показано, как использовать эту подкоманду knife:

Показать данные в формате JSON

Чтобы просмотреть информацию в формате JSON, используйте общий параметр -F как часть команды, например:

knife role show devops -F json

Другие доступные форматы включают text, yaml, и pp.

Показать данные в формате необработанного JSON

Чтобы просмотреть информацию об узле в необработанном формате JSON, используйте параметр -l или --long:

knife role show -l -F json <role_name>

и/или:

knife role show -l --format=json <role_name>

© Chef Software, Inc.
Licensed under the Creative Commons Attribution 3.0 Unported License.
The Chef™ Mark and Chef Logo are either registered trademarks/service marks or trademarks/servicemarks of Chef, in the United States and other countries and are used with Chef Inc's permission.
We are not affiliated with, endorsed or sponsored by Chef Inc.
https://docs.chef.io/knife_role/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API