Проект

Общее

Профиль

Управление SCI сервисами » История » Версия 3

Версия 2 (Владимир Ипатов, 12.11.2012 03:48) → Версия 3/16 (Владимир Ипатов, 12.11.2012 04:59)

{{toc}}

h1. Управление SCI сервисами

h2. PUPPET

Puppet http://www.puppetlabs.com/) - Открытая платформа для управления платформами в промышленных масштабах. is the open source platform for enterprise systems management.
Puppet используется для автоматической настройки нод и виртуальных машин в кластере. is used to deploy the configuration to the cluster instances.
Документация можно найти здесь: Documentation can be found at http://docs.puppetlabs.com/

Puppet master, управляющий сервер, установлен на сервисной машине master is installed on the instance 'sci'.

По умолчанию у нас есть несколько модулей: By default you have several modules in puppet:
* Apt config(approx)
* DNS config(bind9)
* DHCP config(dhcpd)
* locale config(locale)
* timezone config(timezone).

Выбор классов для хостов и передача им параметров обеспечивается файлом Classes pick and providing parameters for it made by /etc/puppet/manifests/nodes.pp:
<pre>
node 'default' {
class { sources_list_local: stage => pre0, }
class { common_profile: stage => pre1, }
class { timezone: zone => "Europe/Moscow", stage => main, }
class { locale: def_locale => "ru_RU.UTF-8", stage => main, }
}

node 'sci' {
class { approx_local: stage => pre0, }
class { sources_list_local: stage => pre0, }
class { common_profile: stage => pre1, }
class { bind9_sci: stage => main, }
class { timezone: zone => "Europe/Moscow", stage => main, }
class { locale: def_locale => "ru_RU.UTF-8", stage => main, }
class { dhcpd: enabled => no, stage => post1, }
}
</pre>
Если Вы не указали хост в файле, то к ней применяются классы default. If you don&#39;t specify node, default classes will be accepted for this node.

h2. Apt

Apt настраивается во всем кластере средствами puppet is configured on the instance &#39;sci&#39; via puppet.

h3. sources.list

Шаблон для Global distributed sources.list находится в template is resided in @/etc/puppet/modules/approx/templates/sources.list.erb@ и ссылается на approx.

h3. Approx

Шаблон конфига Approx находится is configured in @/etc/puppet/modules/approx/templates/approx.conf.erb@
Для быстрого применения изменений следует: To apply your changes quickly you should issue
<pre>
/etc/init.d/puppet restart
</pre>

h2. DNS

DNS настраивается на машине is configured on the instance 'sci' посресдством паппета. via puppet.

Шаблон прямой зоны находится в The forward zone file is stored as a template at @/etc/puppet/modules/bind9/templates/sci/zone.erb@
В системе она будет в in system it will be at @/etc/bind/master/$domain@
Шаблон обратной зоны находится в The reverse zone file is stored as a template at @/etc/puppet/modules/bind9/templates/sci/in-addr.erb@
В системе она будет в in system it will be at @/etc/bind/master/in-addr@
При каждом ручном изменении зоны Вы должны увеличивать счетчик в начале файла: On each update you should set new (growing) zone serial number, initially
<pre>
0000000001 ; Serial
</pre>
Рекомендуется формат to the new growing value. YYYYMMDDNN is recommended (NN порядковый номер изменения за этот день). - is the change number in one day).
Вы можете изменять этот файл как угодно для того, чтобы он подходил к Вашей системе. Feel free to modify it to adjust your system.

Новые записи должны идти после: New names should be placed below the string
<pre>
; here you can put any other records
</pre>

Чтобы применить изменения, следует: To apply your changes quickly you should issue
<pre>
/etc/init.d/bind9 reload
</pre>

*ПРИМЕЧАНИЕ*: Если Вы используете динамические апдейты зоны(например, от dhcp сервера), Note that if you using dynamic updates(e.g. from dhcp-server) you must before editing file:
до ручного изменения файла следует "заморозить" зону:
<pre>rndc freeze your.domain</pre>
для прямой зоны for forward zone or
<pre>rndc freeze 168.192.in-addr.arpa</pre>
для обратной зоны for reverse zone.
а после изменения файла следует "разморозить" зону: And after editing the zone you must:
<pre>rndc unfreeze your.domain</pre>
или or
<pre>rndc unfreeze 168.192.in-addr.arpa</pre>

h2. DHCP

isc-dhcp-server настроен на машине sci, но отключен по умолчанию. is configured on instance sci via puppet, but disabled by default.
Если Вы хотите его включить, Вам следует сменить строчку в nodes.pp: Default setup looks like this:
<pre>
class { dhcpd: enabled => no, stage => post1, }
If you have LAN segment in yous setup, it will be configured on it, else it will be configured on ganeti bridge.
</pre> dynamic dns updates configured by default.
на:
<pre>
class { dhcpd: enabled => yes, stage => post1, }

</pre>
Если у Вас есть отдельный lan сегмент, то dhcp настраивается на него, если нет - на основной сегмент.
Дефолтный конфиг выглядит наподобие этого:
<pre>
ddns-update-style interim;
ddns-updates on;
allow-unknown-clients;
autoritative;
ddns-domainname "your.domain";
update-static-leases on;
allow client-updates;

key DHCP_UPDATE {
algorithm HMAC-MD5;
secret secret-generated-md5;
};

subnet 192.168.5.0 netmask 255.255.255.0 {
authoritative;
ddns-updates on;
range 192.168.5.11 192.168.5.254;
option routers 192.168.5.35;
option domain-name-servers 192.168.5.35;
option domain-name "your.domain";
default-lease-time 604800;
max-lease-time 2592000;
}

zone your.domain. {
primary 127.0.0.1;
key DHCP_UPDATE;
}

zone 168.192.in-addr.arpa. {
primary 127.0.0.1;
key DHCP_UPDATE;
}
</pre>

h2. Локаль locale

Локаль в кластере настраивается с помощью Locale in cluster ruled by puppet. По умолчанию она - ru_RU.UTF-8 By default it is en_US.UTF-8
Если Вам нужна другая локаль, назначьте ее в If you want to set locale you need, you must set it in @/etc/puppet/manifests/nodes.pp@
<pre>class { locale: def_locale => "ru_RU.cp1251", &quot;ru_RU.UTF-8&quot;, stage => main, }</pre>
Также Вы должны внести нужную локаль в список генерируемых локалей You must also add locale in @/etc/puppet/modules/locale/templates/locale.gen.erb@ if locale you want isn&#39;t in this list:
если этой локали нет в этом списке:
<pre>en_US ISO-8859-1
en_US UTF-8
ru_RU UTF-8
ru_RU KOI8-R
ru_RU CP1251
ru_RU ISO8859-5</pre>
*ПРИМЕЧАНИЕ*: нужную локаль следует вносить *ДО* этой строки: Note that you must add this locale *BEFORE* last string:
<pre><%= def_locale["."] = " "; def_locale %></pre>