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

2013-04-23 Пенетрантность Кубашин Александр Сергеевич

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 этот файл хранится в 
предыдущей версии.


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


--
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/5176717a.5020...@k-sc.ru



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

2013-04-18 Пенетрантность Alex Mestiashvili
On 04/17/2013 04:34 PM, Владимир Скубриев wrote:
 Изучаю chef уже целую неделю.
 
 В процессе изучения способов конфигурации пакетов пришел к выводу, что
 это можно делать разными способами.
 
 Первый и самый простой вариант - это поддержка нужных конфигурационных
 файлов пакетов с использованием шаблонов и переменных.
 
 Второй способ это конфигурирование пакетов при помощи стандартных
 средств конфигурации системы. Например debconf: debconf-get-selections,
 debconf-set-selections.
 
 Третий и видимо - это совместное использование обоих способов.
 
 В связи с этим возникает вопрос а как правильно сочетать данные методы
 или не сочетать?
 
 Простой пример с которым я столкнулся.
 
 Например мы хотим установить на клиенте libnss-ldapd. Но при этом на
 клиенте:
 
 1. Она может быть не установлена
 2. Она может быть установлена - но не правильно сконфигурирована
 3. Нам может понадобится изменить какие-то дополнительные параметры этой
 библиотеки, конфигурирование которых не доступно через debconf.
 
 Мы можем описать наш рецепт следующим образом:
 
 1. Чтобы при установке использовался наш конфигурационный файл debconf
 2. Чтобы при переустановке использовался наш конфигурационный файл debconf
 3. Дописывать скриптами в нужные нам конфигурационные файлы нужные
 парамтеры.
 
 Насколько я понимаю смысл использования chef, puppet - достижения
 идемпотентности конфигурации  настраиваемых машин. Насколько я понимаю
 мне необходимо учитывать все возможные факторы, описывать решения для
 них в рецептах и в дальнейшем совершенствовать свои рецепты, с целью
 чтобы они соответствовали максимально той конфигурации, которую я хочу
 получить.
 
 Еще возникает вопрос про обновление системы.
 
 Что будет в случае, если пакет был сконфигурирован через копирование
 конфигурационного файла . Пользователь выполнил обновление системы.
 Сработала пере конфигурация обновленного пакета и изменились
 конфигурационные файлы.
если конфиг был изменен вручную, то по умолчанию dpkg спросит - а менять
ли конфиг или оставить как было.

у юзера есть root ? или sudo на aptitude update/upgrade ?
 
 В этом отношении у меня полная каша в голове. Проясните пожалуйста как
 все должно быть. Что-то я совсем запутался.
 
 Еще возникает вопрос чисто по системе debconf.
 
 Где посмотреть в системе какие именно скрипты изменяют конфигурационные
 файлы и вообще занимаются обработкой параметров базы данных debconf.
 
man debconf
 It's more typical for debconf to be used via dpkg-preconfigure(8) or
dpkg-reconfigure(8).

а так preinst/postinst и т.д. скрипты лежат в /var/lib/dpkg/info/

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

 И как вообще принято администрировать систему debian в рамках моего
 вопроса?
 
админ - хозяин. какой конфиг он установил такой и должен стоять.

в крайнем случае Debian это конструктор в которым можно переставить
пакет как надо.

главное не забывать бекапы важных, рабочих конфигов.
 Я конечно понимаю, что очень много всего спросил. Увы подсказать не кому.
 
 Надеюсь на понимание. Спасибо!
 
 
Удачи,
Alex


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/517010f2.3000...@biotec.tu-dresden.de



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

2013-04-17 Пенетрантность Владимир Скубриев

Изучаю chef уже целую неделю.

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


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


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


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

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


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

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


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


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

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


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


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

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


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


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

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


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


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

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

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


--
С Уважением,
специалист по техническому и программному обеспечению,
системный администратор

Скубриев Владимир
~~~
Россия, Ростовская область, г. Таганрог

тел. моб: +7 (918) 504 38 20
skype: v.skubriev
icq: 214-800-502
www: skubriev.ru


--
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/516eb2de.8080...@skubriev.ru