[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: как правильно конфигурировать системы при помощи chef,puppet, etc



17.04.2013 18:34, Владимир Скубриев пишет:
Изучаю chef уже целую неделю.

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

Первый и самый простой вариант - это поддержка нужных конфигурационных файлов пакетов с использованием шаблонов и переменных.

Второй способ это конфигурирование пакетов при помощи стандартных средств конфигурации системы. Например debconf: debconf-get-selections, debconf-set-selections.

Третий и видимо - это совместное использование обоих способов.

В связи с этим возникает вопрос а как правильно сочетать данные методы или не сочетать?

Простой пример с которым я столкнулся.

Например мы хотим установить на клиенте libnss-ldapd. Но при этом на клиенте:

1. Она может быть не установлена
2. Она может быть установлена - но не правильно сконфигурирована
3. Нам может понадобится изменить какие-то дополнительные параметры этой библиотеки, конфигурирование которых не доступно через debconf.

Мы можем описать наш рецепт следующим образом:

1. Чтобы при установке использовался наш конфигурационный файл debconf
2. Чтобы при переустановке использовался наш конфигурационный файл debconf 3. Дописывать скриптами в нужные нам конфигурационные файлы нужные парамтеры.

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

Еще возникает вопрос про обновление системы.

Что будет в случае, если пакет был сконфигурирован через копирование конфигурационного файла . Пользователь выполнил обновление системы. Сработала пере конфигурация обновленного пакета и изменились конфигурационные файлы.

В этом отношении у меня полная каша в голове. Проясните пожалуйста как все должно быть. Что-то я совсем запутался.

Еще возникает вопрос чисто по системе debconf.

Где посмотреть в системе какие именно скрипты изменяют конфигурационные файлы и вообще занимаются обработкой параметров базы данных debconf.

Как данные скрипты относятся к ручной правке конфигурационных файлов из практики ?

И как вообще принято администрировать систему debian в рамках моего вопроса?

Я конечно понимаю, что очень много всего спросил. Увы подсказать не кому.

Надеюсь на понимание. Спасибо!



Поведение Puppet здесь очень простое, клиент (конечная машина) раз в пол часа опрашивает сервер о своей конфигурации и каждый раз при этом проверяет, что данная машина этой конфигурации соответствует.

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

Т.к. через Puppet у нас управляются не все сервисы, то периодически возникают ситуации, что конфиг на конечной машине поправили, а puppet это изменение "отменил", т.к. на сервере puppet этот файл хранится в предыдущей версии.

--
С уважением,
Кубашин Александр


Reply to: