Вот и настал тот день, когда пришлось отложить в сторону кукбуки, рецепты, нож шеф-повара и немного позаниматься кукловодством.
Для начала постановка задачи довольно тривиальная — организовать для девелоперов возможность быстро и просто разворачивать окружение. Обязательное требование — для автоконфигурации использовать Puppet EnterpriseЧитать полностью »
Метка «puppet»
Автоконфигурация с помощью Puppet и AWS Cloud Formation
2014-01-12 в 15:17, admin, рубрики: cloudformation, puppet, автоконфигурация, администрирование, Блог компании EPAM Systems, системное администрирование, метки: cloudformation, puppet, автоконфигурация, администрированиеРазвертывание сервера на Windows Server 2012 / Dell PowerEdge R420
2013-12-08 в 20:24, admin, рубрики: Dell PowerEdge, logstash, puppet, pxe, windows, Серверное администрирование, системное администрирование, метки: Dell PowerEdge, logstash, puppet, pxe, windowsЗадача
Необходимо развернуть сервер со следующими требованиями:
- Массив дисков RAID-10
- Full Performance in BIOS
- Windows Server 2012 с всеми обновлениями и патчами
- Это будущий сервер приложений со службами для которых необходим .net 4.5
- Мониторинг доступности сервера, а также CPU, Памяти и свободного места на диске
- Необходимо подключить сервер к системе выкатки релизов Octopus Deploy
Сложности
Основное требование здесь — все должно быть максимально автоматизировано, участие человека минимизировано до 1 минута «в начале» и 1 минута «в конце». Целью такой автоматизации является потенциальная необходимость «поднять» в дальнейшем несколько новых серверов достаточно быстро. Решение должно быть не сложным для восприятия младшими админами и разработчиками, в чьи обязанности развертывание серверов не входит.
Решение
Начнем с того, что все, что у меня сейчас есть — это работающий сервер, который подключен к сети. Я знаю его MAC-Адрес и будущее имя (app8). На нем нет ни операционной системы ни возможности вручную вставить диск. Да чего уж греха таить — диска с виндой у меня тоже нет!
Предстоит сделать следующее:
- Настроить параметры производительности BIOS
- Cоздать массив RAID-10
- Загрузится с PXE в загрузчик pxeboot.com
- Выбрать соответствующий загрузчик boot.wim и Выбрать требуемую операционную систему
- Создать логические диски C: и D:
- Произвести установку операционной системы на диск C:
- Произвести конфигурацию сервера под требуемые задачи при помощи puppet
Наши сервера находятся на колокейшене, который физически далеко, поэтому буду использовать WDS и IP KVM. Доступ к KVM осуществляется через веб интерфейс, сам удаленный «экран» реализован при помощи java-based приложения. По большому счету IP KVM уже не обязателен, т.к. все мои развертывания происходят практически автоматически, но старая привычка наблюдать за происходящим на экране осталась, да и заводские настройки железа не всегда совпадают с требуемыми.
Пока что на сервере ничего нет:
Читать полностью »
Управление правами доступа к WMI через Puppet
2013-11-30 в 20:19, admin, рубрики: linux, opsview, powershell, puppet, ruby, WMI, автоматизация, Серверное администрирование, системное администрирование, метки: monitoring, opsview, powershell, puppet, ruby, WMI, автоматизация
В качестве предисловия
Основной задачей моей работы является поддержка парка железных и vm хостов — уже под 200 (а приходил было менше 100, эх, время бежит...) Поддерживаю все железо, а также сеть. Также на мне весь мониторинг (используем Opsview — сделан на ядре nagios), аггрегация логов (я внедрил Logstash, обалденное opensource решение за место ну ооочень дорогого Splunk), configuration management (puppet), бекапы, поддержка баз данных и прочих систем тоже на мне (MongoDB, MySQL, Redis, ElasticSearch, etc). В общем — все самое интересное). Стоит отметить что у нас достаточно тонкая грань между поддержкой и разработкой, и разработчики часто говорят что они хотят, а я уже занимаюсь внедрением. Хочется рассказать обо всем что происходит интересного и какие технологии удается использовать. Какие прижились, а какие по каким-то причинам нет.
В свободное от решения проблем время перевожу инфраструктуру на Infrastructure-as-a-code (IaaC), выбрал puppet для этого из-за неоднородности нашей инфраструктуры. В моей сети зоопарк из Windows Server 2008, Windows Server 2012, CentOS 5.5, CentOS 6.4. Ах, да, пару дедушек на 2003 — пора их на пенсию отправлять скоро…
Я уже писал о том, как я использую Puppet для автоматической настройки мониторинга в Opsvew, а сегодня хочу поговорить о том, как я в очередной раз «боролся» с гетерогенностью моей среды.
Задача
Возникла необходимость автоматизировать конфигурацию WMI на серверах Windows 2008 / 2012. Ключевой необходимостью стало добавление сервисного пользователя (назовем его «domainservice-user») в локальные группы сервера, которые разрешают удаленное использование WMI, а также доступ к Performance Counters, Performance Logs, в общем ко всему что нужно чтобы удаленно мониторить сервер. Сами группы определились достаточно быстро, оставалось найти удобный и быстрый способ это сделать. Также необходимо было дать права пользователю domainservice-user на доступ к корневым неймспейсам WMI. Так же все это должно быть частью общей концепции IaaC, что должно означать как минимум проверку текущего состояния, и пропускать выполнение если пользователь уже добавлен куда нужно в любом варианте присутствия-отсутствия пользователя в группах. Т.е. решение должно быть максимально автоматизированным, а точнее полностью. После небольшого гугления стало ясно что для моего случая нужно, а мне предстояло:
Читать полностью »
Puppet + Opsview: автоматический мониторинг на основе шаблонов
2013-11-22 в 17:46, admin, рубрики: opsview, puppet, windows, автоматизация, инфраструктура, системное администрирование, управление конфигурациями, метки: monitoring, opsview, puppet, автоматизация, инфраструктура, управление конфигурациямиЗадача
Мы используем Opsview для мониторинга и Puppet для управления конфигурациями. В Opsview есть шаблоны (Host Templates), которые позволяют определить определенный список проверок (Service Checks) для определенного типа хостов. Например для хоста с шаблоном IIS будут проверяться всевозможные параметры IIS данного хоста, к примеру количество текущих подключений или например средняя скорость подключения.
Возникла задача автоматически назначать шаблон на хост, в зависимости от того, какие классы назначены в манифесте. Всё это, как всегда, для удовлетворения потребности автоматизации и лени. Итоговая цель — назначил хосту класс, вернулся через минут 15, а он уже с уствновленным IIS, с настроенными сайтами (как вариант уже с деплойнутым контентом), все они мониторятся и по этим данным строятся графики, а также алерты дают знать если что-то случилось.
Сложности
Основная сложность здесь, как обычно, в том что этого никто не сделал этого для меня. Не существует модуля «Мониторинг IIS в один клик» для моей инфраструктуры. Практически сложность заключается в том, как сообщить модулю который управляет конфигурацией Opsview что в другом модуле создали сайт, передать параметры URI которые нужно мониторить, а также имена шаблонов хоста (в данном случае это будет как минимум шаблон IIS). Мои попытки и пробы включали следующее:
Читать полностью »
Внедрение корпоративного Linux в ПриватБанке
2013-11-12 в 7:33, admin, рубрики: linux, puppet, Ubuntu, ПриватБанк, Убунтариум, метки: linux, puppet, Ubuntu, ПриватБанкИстория
Внедрение Linux в ПриватБанке началось в 2007 году. За это время был пройден большой путь и хотелось бы поделиться с сообществом своим опытом внедрения. На данный момент мы достигли следующих показателей: более 36500 рабочих мест с ОС Linux в 4000 отделений, расположенных в 5 странах.
В 2007 году за основу был взят ASPLinux 11.2. Со временем для альтернативы были выбраны другие дистрибутивы — Fedora, openSUSE, Ubuntu. Позже стала очевидной необходимость создания собственного дистрибутива и системы управления рабочими станциями. Разработка началась в январе 2012 года. Для основы был выбран Ubuntu 12.04 LTS с рабочим окружением Gnome Classic (no effect). Основные аргументы: Ubuntu — самый распространённый десктопный дистрибутив последних лет; обширное комьюнити, где проще найти решение возникающих проблем; именно его в качестве основы внедрения выбрал Google, много примеров внедрения в государственных и муниципальных учреждениях Германии, Франции. Выбор системы управления остановился на Puppet.
В июне 2012 года стартовал переход и к январю 2013 на корпоративную ОС были переведены уже около 95% ПК. Такая скорость перехода обусловлена тем, что сотрудники уже имели опыт работы в Linux.
Основные задачи, которые удалось решить благодаря текущему внедрению:
- cущественная экономия ресурсов при поддержке ОС на рабочих местах сотрудников;
- поддержание программного обеспечения в актуальном состоянии;
- возможность оперативного применения критических обновлений (до 1 часа на всех ПК);
- cбор и анализ статистической информации о парке ПК и периферии;
- создание системы проактивной реакции на сбои (Event Manager).
Дальше более детальное описание компонентов нашей реализации.
Читать полностью »
Как сразу стать «крутым» rails-разработчиком. Cоздание веб-приложения
2013-11-02 в 12:02, admin, рубрики: continuous integration, framework, integration testing, puppet, rails, ruby on rails, rvm, vagrant, автоматизация рутины, администрирование, Веб-разработка, метки: continuous integration, framework, integration testing, puppet, rails, rvm, unit-testing, vagrant, автоматизация рутины, администрированиеСвою первую программу я писал для интерпретатора Basic. Он запускался при включении машины, а после ввода программу можно было выполнить командой RUN.
Многое изменилось с тех пор. Мы говорим о стеках технологий и целых экосистемах в IT. За выполнение каждой прихоти программиста конкурируют несколько систем/библиотек/расширений/модулей/сервис. А выбрать среди них порой так же сложно, как написать свой велосипед.
К психиатру пришел человек с жалобой на невроз.
— А кем же вы работаете? — интересуется доктор.
— Сортировщиком апельсинов на овощной базе. Передо мной желоб, по которому катятся апельсины. Крупные я должен класть в один ящик, а мелкие — в другой.
— Что же нервного в такой работе?
— Как что? Я целый день должен принимать решения, решения, решения.
Далее немного ироничное руководство для тех, кто не хочет ничего решать, а хочет сразу попасть на уровень профи и использовать все модные технологии, минуя долгий путь исследования и выработки собственных предпочтений.
Итак, для создания rails-приложения нам понадобятся
Читать полностью »
ansible
2013-10-03 в 5:29, admin, рубрики: Ansible, chef, puppet, системное администрирование, метки: Ansible, chef, puppetAnsible — yet another система управления конфигурациями. Отличительная особенность — простота, при большой гибкости. И это не просто слова — дальше я покажу на примерах несколько простейших операций и познакомлю вас с некоторыми “бест практис”.
Итак, у нас есть группы хостов:
WebServersG1 | webserver1-g1, webserver2-g1 |
WebServersG2 | webserver1-g2, webserver2-g2 |
WebServersProxy | webserver-proxy1, webserver-proxy2 |
DataBase | db1, db2 |
DataBaseSlave | dbs1, dbs2 |
SomeServers | someserver1, someserver2 |
Мы хотим подготовить все хосты к адекватной работе — установить необходимый набор софта (htop, zsh, vim, iftop, sudo, mc, tmux, wget), скопировать свои ключи и конфиги и поставить и сконфигурировать софт специфичный для этого сервера.
Ansible подразумевает минимум два файла для начала работы — инвентарный файл, в который мы пишем список хостов и делим их по группам — inventory и файл задач — playbook.
Они нужны для того, чтобы когда мы все сделаем запустить все красиво:
ansible-playbook -i инвентарный_файл playbook.yml
Давайте создадим инвентарный файл по имени “infrastructure” на основе наших хостов:
Читать полностью »
puppet: уменьшение автоматизации без потери функционала
2013-09-16 в 17:14, admin, рубрики: linux, puppet, системное администрирование, метки: puppet Любой, кто занимается администрированием более двух одинакого настраиваемых серверов, рано или поздно, начинает смотреть на системы, позволяющие автоматизировать процесс настройки. Я для этого использую puppet и хотел бы поделиться опытом его применения на большом количестве серверов (в данный момент управляемая инфраструктура — около 120 Linux серверов (Centos 5 + Centos 6), котоыре можно разделить на три неравные логические группы), которые должны работаь в режиме 24/7/365.
Читать полностью »
Очень простая система управления конфигурациями
2013-05-13 в 5:34, admin, рубрики: Ansible, puppet, ит-инфраструктура, системное администрирование, метки: Ansible, puppet Для тех кто используетненавидит и в целом измученн puppet'ом, ansible покажется глотком освежающего нарзана, Эдакий фремворк систем управления конфигураций.
Структура работы с системой такова: вносим хосты в список => пишем плейбук под группу хостов => начинаем использовать.
Описываем сеть.
[hardware]
server_1
server_2
Читать полностью »
Бюджетное решение для бэкапа целого офиса
2013-04-23 в 7:46, admin, рубрики: backup, badoo, puppet, баду, Блог компании Badoo, бэкап, ит-инфраструктура, системное администрирование, метки: backup, badoo, puppet, баду, бэкап
Большинство статей в наш блог пишут разработчики. Мы решили исправить эту несправедливость и добавить немного DevOps. Сегодня поговорим о важном ― о бэкапах.
Так как Badoo активно развивается и количество сотрудников постоянно увеличивается, мы пришили к выводу, что централизованное резервное копирование гораздо удобнее, чем частичное копирование и хранение информации в различных местах.
В статье мы рассмотрим, как различными способами «забэкапить» довольно большое количество рабочих станций с помощью одного хранилища, не прибегая к серьёзным вложениям и избегая громоздкой реализации.
Заранее оговоримся, что бэкап не охватывает 100% сотрудников, так как не все хранят свои данные на локальных машинах, поэтому у нас не было цели сделать бэкап обязательно-принудительным.
Одной из основных сложностей централизованного бэкапа стало то, что сотрудники используют разные операционные системы.
Как же мы смогли собрать всех на одном сервере?
Читать полностью »