Я новичок в Chef, и после прочтения документации мне все еще сложно понять, когда использовать атрибуты и когда использовать пакеты данных.
Какие данные должны храниться как атрибуты и какие данные должны храниться в пакетах данных?
Спасибо
Я новичок в Chef, и после прочтения документации мне все еще сложно понять, когда использовать атрибуты и когда использовать пакеты данных.
Какие данные должны храниться как атрибуты и какие данные должны храниться в пакетах данных?
Спасибо
Ну, это зависит. Хотя данные и атрибуты данных содержат данные, основное различие между ними заключается в том, что атрибуты отображаются как свойства node при запуске рецепта, но у вас нет четкого обзора того, какие пакеты данных были использованы (за исключением того, что вы проходите через рецепты в списке запуска).
Я лично храню в атрибутах:
И в пакетах данных:
О последнем пункте: пример - список репозиториев maven. У репозитория есть свойства: имя, URL, политика и т.д. И не важно для node, какие репозитории настроены - важно, чтобы он был установлен. Другим примером является пользователь, только доступные имена пользователей находятся в атрибутах. Все остальные данные находятся в пакете данных, хотя он может быть открыт - никаких секретных данных нет.
Конечно, это одна из тех вещей, где нет простого ответа. Мое эмпирическое правило состоит в том, что все, что является одним из многих, принадлежит мешке данных. Например, если у вас есть список пользователей и групп, которые вы хотите создать на node, используя fchichol users cookbook, то это пакет данных. Для настройки параметров на сервере MySQL он присваивает атрибуты.