Возможно вы искали: 'Doom 2: Hell on Earth'

May 15 2025 23:46:57
  • Как сделать 8Gamers.Ru домашней страницей?
  • Игры
    • База данных по играх
    • Игровые новости
    • Игровая индустрия
    • Обзоры на игры
    • Прохождения игр
    • Гайды к играм
    • Превью о играх
    • Игровые тизеры
    • Игровые арты
    • Игровые обои
    • Игровые скриншоты
    • Игровые обложки
    • Игровые трейлеры
    • Игровое видео
    • Вышедшие игры
    • Ближайшие релизы игр
  • Кино и ТВ
    • База данных по кино
    • Статьи о кино
    • Постеры
    • Кадры из кино
    • Кино трейлеры
    • Сегодня в кино
    • Скоро в кино
  • Комиксы и манга
    • Манга по алфавиту
    • База данных по комиксах
    • Читать онлайн комиксы
    • Читать онлайн манга
    • База персонажей
  • Читы и коды
    • Чит-коды для PC игр
    • Чит-коды для консольных игр
    • Трейнеры
    • Коды Game Genie
  • Моддинг
    • Модификации
    • Карты к играм
    • Программы для моддинга
    • Статьи о моддинге
  • Геймдев
    • Всё о создании игр
    • Список движков
    • Утилиты в помощь игроделу
    • Конструкторы игр
    • Игровые движки
    • Библиотеки разработки
    • 3D-модели
    • Спрайты и тайлы
    • Музыка и звуки
    • Текстуры и фоны
  • Рецензии
    • Игры
    • Кино
    • Аниме
    • Комиксы
    • Мангу
    • Саундтреки
  • Саундтреки
    • Лирика
  • Файлы
    • Патчи к играм
    • Русификаторы к играм
    • Сохранения к играм
    • Субтитры к кино
  • Медиа
    • Видео
    • Фото
    • Аудио
    • Фан-арты
    • Косплей
    • Фото с виставок
    • Девушки из игр
    • Рисунки
    • Рисуем онлайн
    • Фотохостинг
  • Юмор
    • Анекдоты
    • Афоризмы
    • Истории
    • Стишки и эпиграммы
    • Тосты
    • Цитаты
  • Флеш
    • Азартные
    • Аркады
    • Бродилки
    • Гонки
    • Для девочек
    • Для мальчиков
    • Драки
    • Квесты
    • Леталки
    • Логические
    • Мультфильмы
    • Открытки
    • Приколы
    • Разное
    • Спорт
    • Стратегии
    • Стрелялки
Статистика

Статей: 87772
Просмотров: 96161170
Игры
Injustice:  Gods Among Us
Injustice: Gods Among Us
...
Dark Souls 2
Dark Souls 2
Dark Souls II - вторая часть самой хардкорной ролевой игры 2011-2012 года, с новым героем, сюжето...
Battlefield 4
Battlefield 4
Battlefield 4 - продолжение венценосного мультиплеер-ориентированного шутера от первого ли...
Кино
Steins;Gate
Steins;Gate
Любители японской анимации уже давно поняли ,что аниме сериалы могут дать порой гораздо больше пи...
Ку! Кин-дза-дза
Ку! Кин-дза-дза
Начинающий диджей Толик и всемирно известный виолончелист Владимир Чижов встречают на шумной моск...
Обзоры на игры
• Обзор Ibara [PCB/PS2] 18360
• Обзор The Walking ... 18804
• Обзор DMC: Devil M... 19880
• Обзор на игру Valk... 15878
• Обзор на игру Stars! 17765
• Обзор на Far Cry 3 17950
• Обзор на Resident ... 16024
• Обзор на Chivalry:... 17510
• Обзор на игру Kerb... 17981
• Обзор игры 007: Fr... 16620
Превью о играх
• Превью к игре Comp... 17960
• Превью о игре Mage... 14464
• Превью Incredible ... 14723
• Превью Firefall 13481
• Превью Dead Space 3 16335
• Превью о игре SimC... 14732
• Превью к игре Fuse 15443
• Превью Red Orche... 15542
• Превью Gothic 3 16347
• Превью Black & W... 17355
Главная » Статьи » Разное » Puppet, система управления конфигурациями (puppet linux config)

Puppet, система управления конфигурациями (puppet linux config)

Ключевые слова: puppet, linux, config, (найти похожие документы)

From: spanasik
Date: Mon, 9 Jan 2010 17:02:14 +0000 (UTC)
Subject: Puppet, система управления конфигурациями

Оригинал: http://habrahabr.ru/blogs/linux/67471/ http://habrahabr.ru/blogs/linux/68532/

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

В этой статье я расскажу об основных особенностях системы.
Puppet написана на Ruby, архитектура - клиент-серверная. На каждом
управляемом узле находится клиент, который периодически обращается по
https к серверу за обновлениями конфигурации.
Puppet, система управления конфигурациями

Язык управления конфигурациями

Конфигурация описывается на специальном языке. Базовыми элементами
конфигурации являются ресурсы. Каждый ресурс имеет тип, атрибуты и
название. Самый простой пример ресурса, файловый:

file { "/etc/passwd":
owner => "root"
}


Этот ресурс включает проверку владельца файла /etc/passwd, и если он
отличен от root, Puppet устанавливает юзера root хозяином этого файла.
Ресурсы можно (и обычно нужно) группировать в классы. Например, класс
для Postfix будет содержать ресурсы и для установки и для настройки
почтового сервера Postfix.

Одним из главных элементов описания конфигурации является узел (node).
Узел позволяет описывать функциональность определённого типа. Скажем,
можно описать узел "офисный десктоп", или "веб-сервер".
Соответственно, для офисного десктопа будет установлено и настроено всё
необходимое для офиса ПО, а для веб-сервера какой-нибудь апач или
nginx.

Вообще, язык описания конфигурации поддерживает практически все фичи
нормального ООП-языка. Так что, по сути получается, что вы как бы
программируете поведение машин. Действительно, в результате получается
довольно наглядное описание, которое легко читать и понимать.
Сообщество пользователей делится своими наработками, в терминах Puppet они
называются "рецептами".

Где и как это работает ?

Следующее, что необходимо отметить, это платформонезависимость. Ваши
сценарии могут разворачиваться одинаково на Linux и FreeBSD, все
особенности конкретной платформы учитываются клиентом Puppet. Вы можете
ознакомиться со списком поддерживаемых платформ, чтобы убедиться,
что ваша любимая ОС поддерживается Puppet. Windows в этом списке нет,
но сообщается, что Puppet в ней работает через cygwin.

Что касается производительности. Она и сейчас довольно неплохая.
Скажем, вы можете управлять 50-100 машинами с помощью довольно
средненького сервера с 2 гигами памяти. Однако, на подходе версия 0.25,
в которой одной из главных фич является переход с XML-RPC на REST, что
означает существенное улучшение производительности.

Кроме того, как практически любой веб-сервис, Puppet масштабируется.
Puppet можно запускать с помощью nginx и Mongrel. Так что вы можете не
опасаться ситуации, когда вдруг ваша организация разрастётся до больших
размеров, Puppet с этой работой справится :-)

Резюме

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


Часть II

В первой части я рассказал об основных особенностях системы
управления конфигурациями Puppet. Во второй части мы настроим две
машины для того, чтобы попробовать базовые вещи.
Для имён хостов я решил использовать имена роботов из эпопеи Джорджа
Лукаса "Звёздные войны": R2D2 и C-3PO. Так как R2 умнее, то
он будет управлять C-3PO :-)

В качестве ОС для экспериментов решил ипользовать Ubuntu Server
8.04.01-LTS. Можно было и Debian, и Cent OS, и FreeBSD - не
принципиально. Ubuntu Server использую по причине простоты её
настройки, дружелюбности лично для меня. Кому нравится что-то другое -
не вопрос.

Управляющий сервер

Итак, начнём с R2D2, т.е. с управляющей машины. На неё мы ставим пакет
puppetmaster:

sudo apt-get install puppetmaster


после выполнения этой команды управляющий сервер будет установлен и
запущен под учётной записью puppet.
Теперь создадим конфигурационный файл для управляющего сервера. В
терминах puppet он называется манифестом. Манифест site.pp создадим в
каталоге /etc/puppet/manifests. Содержимое такое:

file { "/etc/passwd":
owner => "root",
group => "bin",
mode => 644,
}


Здесь следует сразу отметить, что так как мы не задали никакие узлы, то
все параметры, указанные в манифесте будут применены ко всем клиентским
хостам. Таким образом, все машины, обратившиеся за конфигурацией к R2D2
проверят права и владельца файла /etc/passwd.

Сервер работает на порту 8140, так что в случае проблем, проверьте
настройки сети, клиентские машины должны иметь доступ к порту 8140 на
управляющем сервере.

Клиент

На клиент мы ставим пакет puppet:

sudo apt-get install puppet


Клиент в отличие от сервера работает под учёткой root, чтобы иметь
возможность внести любые изменения в систему. Для начала клиент генерит
сертификат, который при первом соединении с сервером просит подписать.
Если сертификат подписывается, клиент получает актуальный конфиг, после
чего применяет его к машине. В дальнейшем каждые полчаса клиент
проверяет не изменилась ли конфигурация.

Добавим в конце конфига /etc/puppet/puppet.conf строчки:

[puppetd]
server=r2d2.localdomain


это говорит клиенту, с каким сервером работать. Можно указать ip, у
меня ip r2d2 прописан в /etc/hosts.

ОЧЕНЬ ВАЖНО, чтобы имя сервера было в точности таким, каким подписывает
сертификаты управляющий сервер. Проверить имя сервера в сертификатах
можно с помощью openssl:

openssl s_client -showcerts -connect r2d2.localdomain:8140


Также закомментируем строчку:

#pluginsync=true


Эта опция задаёт синхронизацию плагинов с сервером - пока это не
нужно, лучше закомментить.

Теперь запустим клиент puppet чтобы он сгенерировал сертификат,
отправил его на управляющий сервер и запросил подписать:

spanasik@c3po:~$ sudo puppetd -verbose -test
info: Creating a new certificate request for c3po.localdomain
info: Creating a new SSL key at
/var/lib/puppet/ssl/private_keys/c3po.localdomain.pem
warning: peer certificate won't be verified in this SSL session
notice: No certificates; exiting


Так, теперь сертификат c3po должен быть на r2d2, проверим его наличие
на r2d2, и если он там, подпишем:

spanasik@r2d2:~$ sudo puppetca -list
c3po.localdomain
spanasik@r2d2:~$ sudo puppetca -sign c3po.localdomain
Signed c3po.localdomain


Сертификат подписан. Повторяем тестовый запуск клиента:

spanasik@c3po:~$ sudo puppetd -verbose -test
warning: peer certificate won't be verified in this SSL session
notice: Got signed certificate
info: No classes to store
info: Caching catalog at /var/lib/puppet/state/localconfig.yaml
notice: Starting catalog run
info: Creating state file /var/lib/puppet/state/state.yaml
notice: Finished catalog run in 0.04 seconds


Всё работает ОК. Теперь проверим, что будет, если поменять владельца
файла /etc/passwd :-)

Моя учётка - spanasik, так что я назначу себя его владельцем и
установлю маску 777:

spanasik@c3po:~$ sudo chown spanasik:users /etc/passwd
spanasik@c3po:~$ sudo chmod 777 /etc/passwd
spanasik@c3po:~$ ls -la /etc/passwd
-rwxrwxrwx 1 spanasik users 1084 2009-09-01 12:01 /etc/passwd
:-)


Теперь запускаем клиента puppet:

spanasik@c3po:~$ sudo puppetd -verbose -test
notice: Ignoring cache
info: No classes to store
info: Caching catalog at /var/lib/puppet/state/localconfig.yaml
notice: Starting catalog run
notice: //File[/etc/passwd]/owner: owner changed 'spanasik' to 'root'
notice: //File[/etc/passwd]/group: group changed 'users' to 'root'
notice: //File[/etc/passwd]/mode: mode changed '777' to '644'
notice: Finished catalog run in 0.03 seconds


Вуаля!

spanasik@c3po:~$ ls -la /etc/passwd
-rw-r-r- 1 root root 1084 2009-09-01 12:01 /etc/passwd


Владелец опять root, и права как положено - 644. Ну и собственно,
запускаем теперь демон клиента:

spanasik@c3po:~$ sudo /etc/init.d/puppet start
* Starting puppet configuration management tool [ OK ]

spanasik@c3po:~$ ps auxw | grep puppet | grep -v grep
root 6959 1.3 7.3 29584 18856 ? Ssl 13:46 0:00 ruby /usr/sbin/puppetd -w 0


Всё работает ОК, теперь каждые полчаса c3po будет проверять обновление
конфига на r2d2 и вносить изменения в систему.

Одна машина, автоматическое развёртывание ?

Если у вас всего одна машина, то нужно ставить оба пакета, и
настраивать в точности так же, как и описано. Преимущества
использования системы на одной машине я описал в предыдущей статье,
основное - быстрый запуск на новом сервере после краха.
Вы видите, что в этой статье я всё проделал вручную. Конечно, это не
вариант, когда у вас сотни машин. В случае, когда у вас много машин,
можно применить автоматическое развёртывание системы. Вы делаете образ
для установки, и разливаете его на винчестеры. При первой же загрузке
клиентская система подключится к управляющему серверу, а дальше уже
можно применять дефолтный конфиг, или работать с каждой по отдельности.
Отмечу, что сам я такое не делал, т.к. не админю парк машин :-)

Вот pingeee в комменте описывает возможный вариант разлива
образов по сетке:

Хотелось бы отметить, что при массовых установках может очень помочь
cobbler - небольшой provisioning-сервер. Можно создать заранее
сконфигурированный образ и раскидать на нужное количество машин по
сети (pxe-install). Одно из основных правил администрирования -
start every host in known state.

Собственно, эти два продукта (puppet и cobbler), насколько мне
известно, активно интегрируются в Red Hat Satellite (система
управления и мониторинга инфраструктуры на RHEL'ах) и находящийся в
разработке open-source аналог satellite'а - Spacewalk.

Для debian-like есть еще FAI, которая умеет pxe-установку и создание CD/DVD образов
1496 Прочтений •  [Puppet, система управления конфигурациями (puppet linux config)] [08.05.2012] [Комментариев: 0]
Добавил: Ukraine Vova
Ссылки
HTML: 
[BB Url]: 
Похожие статьи
Название Добавил Добавлено
• Puppet, система управления конфигур... Ukraine Vova 08.05.2012
Ни одного комментария? Будешь первым :).
Пожалуйста, авторизуйтесь для добавления комментария.

Проект входит в сеть сайтов «8Gamers Network»

Все права сохранены. 8Gamers.NET © 2011 - 2025

Статьи
Рецензия на Pressure
Рецензия на Pressure
Чтобы обратить на себя внимание, начинающие маленькие разработчики, как правило, уходят в жанры, ...
Рецензия на Lost Chronicles of Zerzura
Рецензия на Lost Chron...
Игры, сделанные без любви и старания, похожи на воздушный шар – оболочка есть, а внутри пусто. Lo...
Рецензия на The Bridge
Рецензия на The Bridge
«Верх» и «низ» в The Bridge — понятия относительные. Прогуливаясь под аркой, можно запросто перей...
Рецензия на SimCity
Рецензия на SimCity
Когда месяц назад состоялся релиз SimCity, по Сети прокатилось цунами народного гнева – глупые ош...
Рецензия на Strategy & Tactics: World War 2
Рецензия на Strategy &...
Название Strategy & Tactics: World War II вряд ли кому-то знакомо. Зато одного взгляда на ее скри...
Рецензия на игру Scribblenauts Unlimited
Рецензия на игру Scrib...
По сложившейся традиции в информационной карточке игры мы приводим в пример несколько похожих игр...
Рецензия на игру Walking Dead: Survival Instinct, The
Рецензия на игру Walki...
Зомби и продукция-по-лицензии — которые и сами по себе не лучшие представители игровой биосферы —...
Обратная связь | RSS | Донейт | Статистика | Команда | Техническая поддержка