Назад | Перейти на главную страницу

Управление несколькими конфигурациями для одного и того же программного обеспечения в Chef?

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

например:

Допустим, я хочу управлять установкой Redis для два разные организации. Допустим, одной организации требуется настроить Redis двумя разными способами. Итак, это оставляет нас с три конфигурации.

Могу ли я создать одну кухню с одной кулинарной книгой Redis с тремя рецептами Redis? Могу ли я создать одну кухню для каждой организации?

Каковы лучшие практики для всего этого? Спасибо.

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

Самый простой способ с Chef solo - это тоже иметь разные списки запусков для разных машин, прямо в них указывающие атрибуты.

С другой стороны, если вы планируете использовать централизованно управляемый репозиторий Chef для управления несколькими разными клиентами / клиентами, я бы удостоверился, что в любой части вашего репозитория Chef нет ничего конфиденциального, поскольку узлы могут почти полностью бесплатно запрашивать любую кулинарную книгу. или атрибут установлен, если вы не используете зашифрованные пакеты данных, и даже тогда, в зависимости от того, как вы распространяете ключ, они могут быть небезопасными. Просто о чем подумать в будущем.

Используйте 2 поваренные книги в списке выполнения.

Первая кулинарная книга содержит параметры организации в виде атрибутов узла
default['redis']['data_dir']="/data/company1/redis"

Вторая кулинарная книга делает всю тяжелую работу, используя параметры из первой кулинарной книги по мере необходимости.
directory "#{node['redis']['data_dir']" do owner myapp mode 0755 action :create end

Если вам не нужны 2 кулинарные книги, вы также можете указать параметры с помощью пакета данных.