Подтвердить что ты не робот

Атрибуты шеф-повара против пакетов данных

Я новичок в Chef, и после прочтения документации мне все еще сложно понять, когда использовать атрибуты и когда использовать пакеты данных.

Какие данные должны храниться как атрибуты и какие данные должны храниться в пакетах данных?

Спасибо

4b9b3361

Ответ 1

Ну, это зависит. Хотя данные и атрибуты данных содержат данные, основное различие между ними заключается в том, что атрибуты отображаются как свойства node при запуске рецепта, но у вас нет четкого обзора того, какие пакеты данных были использованы (за исключением того, что вы проходите через рецепты в списке запуска).

Я лично храню в атрибутах:

  • Пути, в которых установлено что-то (файлы, программы)
  • Версии программного обеспечения
  • Urls, порты (для загрузки с серверов, прослушивание и т.д.).
  • Usernames

И в пакетах данных:

  • Все, что невозможно разоблачить - в зашифрованных пакетах данных (закрытые ключи, пароли)
  • свойства пользователя (имя, оболочка, хэши паролей, открытый ключ, комментарий и т.д.).
  • Некоторые другие конфигурации, которые больше похожи на объекты, но не простые строковые или числовые данные, и это не важно для самого node.

О последнем пункте: пример - список репозиториев maven. У репозитория есть свойства: имя, URL, политика и т.д. И не важно для node, какие репозитории настроены - важно, чтобы он был установлен. Другим примером является пользователь, только доступные имена пользователей находятся в атрибутах. Все остальные данные находятся в пакете данных, хотя он может быть открыт - никаких секретных данных нет.

Ответ 2

Конечно, это одна из тех вещей, где нет простого ответа. Мое эмпирическое правило состоит в том, что все, что является одним из многих, принадлежит мешке данных. Например, если у вас есть список пользователей и групп, которые вы хотите создать на node, используя fchichol users cookbook, то это пакет данных. Для настройки параметров на сервере MySQL он присваивает атрибуты.