Как стать автором
Обновить
  • по релевантности
  • по времени
  • по рейтингу

Первый опыт в качестве шеф-повара, или управление конфигурацией

Системное администрированиеPuppet

Введение


Автоматизированное управление конфигурацией ваших компьютеров — необходимо для любой компании с большим парком компьютеров.

Сейчас среди администраторов очень популярен Puppet, но, по моему мнению, продукты с самописным DSL (предметно-ориентированным языком программирования) — ограниченны по своей природе.

Chef использует DSL, основанный на Ruby, что придаёт ему изящество и неограниченную расширяемость.

Update: spanasik поправил меня, Puppet также имеет в дополнение к внешнему DSL ещё и внутренний DSL, основанный на Ruby.

Прочесть вводную статью
Всего голосов 23: ↑22 и ↓1 +21
Просмотры10.3K
Комментарии 17

Chef или как управлять тысячей серверов

Оверсан-Скалакси
Suck on my chocolate salty balls (c) ChefДавайте каждый попробует ответить на вопрос: как установить apache на сервер? Этот вопрос порождает ещё десяток: какая ОС стоит на сервере, какую версию ставить, где лежат конфиги по-умолчанию и т.д. и т.п.

А теперь давайте попробуем ответить на вопрос: как установить apache на 1000 серверов? Тут, при стандартном подходе, вопросов возникнет ровно в 1000 раз больше. Часть из вас наверняка подумали, что можно написать скрипт на shell/perl/python/ruby, который будет обходить все сервера и устанавливать apache, другая часть подумала о distributed shell'ах (PDsh, dsh, etc), кто-то же подумал монтировать rootfs серверов по NFS.

В ряде случаев выше предложенные варианты решений удовлетворительны, но на практике я нигде не видел полностью гомогенных систем (зачастую, внутри компании можно встретить не только разные версии ОС, но и различные дистрибутивы. Также в России/СНГ очень распространена каша из FreeBSD/Linux в ядре проектов), так что вряд ли за адекватное время будет возможно написать скрипт, который установит и настроит apache на зоопарке в 1000 машин под CentOS, Debian, Ubuntu, FreeBSD всевозможных версий.

По моим наблюдениям, очень мало IT подразделений, даже очень крупных компаниий, используют в своей работе SCM (Software Configuration Management). В этом посте я постараюсь описать все преимущества использования Chef в IT инфраструктуре на простых примерах и больших масштабах.

Если же, после столь короткого вступления, вы не прониклись идеей Chef, да и времени читать длинный технический пост у вас нет, то рекомендую вам пролистать до конца и посмотреть как используем Chef мы, Engine Yard, 37signals и подумать, можете ли вы переложить на него часть своей работы.
Читать дальше →
Всего голосов 97: ↑91 и ↓6 +85
Просмотры71.4K
Комментарии 26

Выпуск Chef 0.8.8

Системное администрирование
Перевод
Наступило время Chef 0.8.8, и большая новость, связанная с этим выпуском: мы исправили ошибку с ресурсом remote_directory, который был сломан для пользователей утилиты Chef Solo. Извините, ребята — мы добавили тесты, чтобы быть уверенными, что эта ошибка не проявится в будущем. Особое спасибо Джейсону Дюсеку, Михаилу Клишину и Дмитрию Дзёме за отчёт об ошибке и помощь в её исправлении.
Читать дальше →
Рейтинг 0
Просмотры474
Комментарии 0

Chef 0.8.14 — поддержка Windows etc

Системное администрирование
Новый выпуск Chef принёс с собой поддержку Windows и Scientific Linux в качестве клиента, более корректную поддержку FreeBSD, поддержку Ruby 1.9, а также множество исправлений.

Всем рекомендую обновиться, так как исправлена одна серьёзная уязвимость.

Update: в этом выпуске также обнаружено несколько недоработок (самая критичная — не совсем корректное изменение логики работы шаблонов), так что в течение ближайших дней можно ожидать ещё одной версии.
Всего голосов 5: ↑3 и ↓2 +1
Просмотры613
Комментарии 0

Немного о Chef 0.9

Системное администрированиеPuppet
20 июня вышел в свет Chef 0.9.0, и затем ещё несколько патчей, устраняющих ошибки в этом продукте. Фактически можно рекомендовать к использованию, начиная с версии 0.9.4.

Изменены протоколы работы клиентов и сервера, поэтому обновление с Chef 0.8 надо производить и на сервере, и на клиентских машинах. Сам процесс обновления тривиален (на сервере при условии установки из гемов — gem install chef chef-server chef-server-api chef-server-webui chef-solr ohai, плюс рестарт сервисов, плюс rake install, на клиенте просто gem i chef).

Основные изменения затронули механизм хранения «кулинарных книг», — теперь можно поддерживать одновременно несколько версий одной книги. Улучшена поддержка Windows-клиентов.
Читать дальше →
Всего голосов 9: ↑3 и ↓6 -3
Просмотры887
Комментарии 4

Видео с конференции RailsClub'Moscow (30 октября 2010г.)

Ruby
Смотреть всё подряд
Представлены доклады:

1. Ruby NoName Podcast Crew «Chef Light»
С помощью Chef можно организовать управление серверами не только для больших организаций, а для всех.
Есть сервер, есть клиенты которые гоняются на других серверах. Сервер говорит что надо сделать, клиенты делают. Для всего этого существуют dsl конфигурации с поддержкой pakages.
*Удалённое проведение конференции накладывает свои особенности. Извиняемся за качество видео.

2. Макс Лапшин «Rails do scale»
Пример приложения быстрого приложения на Rail для Vkontakte с посещаемостью ~ 1000 запросов в секунду.
Дёшево и работоспособно.

3. Алекс Дмитриев «Умное кэширование в rails»
Докладчик рассказывает о том, как пользоваться кэшированием в Rails, когда нужно использовать кэширование, что кэшировать, где хранить кэш и т.д.

4. Иван Евтухович «Vim or die»
Докладчик рассказывает о возможностях Vim — одного из мощнейших текстовых редакторов с полной свободой настройки и автоматизации.

5. Тимофей Цветков «Liquor, Liquid и другие безопасные языки разметки в RoR»
Безопасные шаблонизаторы для RoR. С помощью чего и как.

6. Андрей Руденко «Deploy fu»
Докладчик обсуждает достоинства и недостатки наиболее популярных в Ruby-сообществе инструментов развертывания приложений: Chef, Capistrano, Puppet, Сfengine, Bash-скриптики и др. Основная часть доклада посвящена презентации своего решения — Lorenz (см. github->lorenz).

Приятного просмотра.
Всего голосов 33: ↑30 и ↓3 +27
Просмотры786
Комментарии 15

Как управлять виртуальными машинами, если их много

Системное администрирование
После того, как у нас вышли в релиз еще несколько проектов, а количество тикетов в трекере на тему «создать пользователя, развернуть виртуалку, дать доступ» превысило все мыслимые пределы, назрела необходимость что-то менять.
Задача: организовать рабочее окружение linux для нескольких команд разработчиков и тестировщиков. Общее количество виртуальных машин — три-четыре десятка.

image
Читать дальше →
Всего голосов 75: ↑69 и ↓6 +63
Просмотры16.6K
Комментарии 36

Суперкластер из 30 тыс. ядер на Amazon EC2

Облачные вычисления
Компания Cycle Computing успешно запустила на Amazon EC2 кластер из 3809 восьмиядерных процессоров, что в совокупности даёт систему с 30 472 ядрами, 27 ТБ оперативной памяти и 2 ПБ дискового пространства. Кластер Nekomata (с японского, разновидность кошки-монстра) работает на CentOS Linux.

С производительностью около 200 TFlops Nekomata мог бы занять 37-е место в списке самых мощных суперкомпьютеров мира. Суперкластер смонтирован для одной из крупных фармацевтических компаний, название которой не разглашается. Стоимость аренды составляет $1279/час на максимальной нагрузке.
Читать дальше →
Всего голосов 36: ↑28 и ↓8 +20
Просмотры2.4K
Комментарии 30

Сегмент Clodo во втором ДЦ и работа над ошибками

Clodo
На предыдущей неделе мы запустили в коммерческую эксплуатацию второй сегмент облака Clodo — в ЦОДЕ KIAEHOUSE, расположенном на территории Курчатовского Института.

Тестировали и отлаживали мы его долго. Основная задача, которую мы ставили перед собой, когда работали над вторым сегментом — это сделать «работу над ошибками», избавиться от тех недочетов, которые привели к тем событиям, про которые вы, дорогие читатели нашего хабраблога, не устаете напоминать нам в наших постах.

Как вы знаете, никакая авария и никакой простой не обходится так или иначе без человеческого фактора. Люди, какими бы они не были профессионалами, склонны ошибаться. Поэтому мы постарались минимизировать человеческий фактор и автоматизировать все процессы жизнедеятельности облака. Кроме того, мы поставили перед собой еще ряд задач, имеющих отношение к стабильности.
Задачи и решения
Всего голосов 28: ↑21 и ↓7 +14
Просмотры4.8K
Комментарии 6

Основные тезисы конференции HighLoad++ 2011

Я пиарюсь
imageВ октябре 2011 года в Москве проходила ежегодная конференция разработчиков высоконагруженных проектов HighLoad++.
Решил поделиться с читателями основными тезисами с конференции. Поскольку вся информация открыта и доступна на странице конференции, решил что собрать все тезисы вместе будет не такой уж и плохой затеей. Сразу отмечу, что в отчёте не содержится детальной информации о каждом докладе — затронуты лишь ключевые моменты.
Итак, о чём говорилось на HighLoad++ 2011.
Читать дальше →
Всего голосов 32: ↑30 и ↓2 +28
Просмотры3.9K
Комментарии 2

5 основных анти-паттернов системного администрирования

Системное администрированиеPuppet
Из песочницы

Введение


Эта статья – скорее из разряда «для самых маленьких», чем «для умудренных опытом», но она призвана повышать профессиональную культуру системных администраторов.
В силу специфики работы мне «по наследству» достается самый разнообразный облачный ад, который приходится разгребать, оптимизировать, приводить в чувство и делать прозрачным и красивым. Эти заметки, пожалуй, иллюстрация к тем моментам, которые вообще недопустимы в системном администрировании.
В причинах, которыми порождаются эти анти-паттерны, можно разбираться очень долго: дедлайны, законы и темпы бизнеса, да и просто идиотизм, наконец. Но цель статьи другая. Мне бы хотелось породить конструктивную дискуссию. А вот уже её результаты и являются основной целью статьи.
Читать дальше →
Всего голосов 81: ↑71 и ↓10 +61
Просмотры45.5K
Комментарии 59

Порцию серверов пожалуйста, или как начать деплоить с Opscode Chef

Серверное администрирование
Большинство русских статей по (Opscode Chef), которые мне попадались, содержали выдержки из кукбука (cookbook) и рассказ «какая классная штука Шеф». И все. Мол, смотри как я могу! А что и как с ним делать — не понятно. На официальном сайте есть подробная вики. Но в ней, ИМХО, легко заблудиться. Простого руководства «как сделать элементарное чтобы работало» нашел только в виде видео, по мотивам которого родилась эта статья.
Читать дальше →
Всего голосов 14: ↑14 и ↓0 +14
Просмотры10.8K
Комментарии 15

Быстрое развертывание среды разработки

Разработка веб-сайтов
Чтобы избежать больших затрат на развертывание сред разработки и тестирования, приближенных к среде эксплуатации (development stage vs production stage parity), всё большую популярность приобретает виртуализация сред.

В этой статье я расскажу, как создавал соответствующую репродуцируемую среду разработки на примере своего проекта runit-man с использованием Vagrant.
Читать дальше →
Всего голосов 27: ↑24 и ↓3 +21
Просмотры74.4K
Комментарии 7

Автоконфигурация в облаке Amazon при помощи Chef-Solo

EPAM
Из песочницы
Tutorial
Здравствуйте!

В этой статье я хочу рассказать об автоконфигурации в облаке. Для примера запустим ec2-инстанс, на котором «приготовится» WordPress.

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



Читать дальше →
Всего голосов 26: ↑23 и ↓3 +20
Просмотры7.2K
Комментарии 8

Ключ от всех дверей в непрерывной интеграции — rundeck

Настройка LinuxСистемное администрированиеСерверное администрирование
При большом количестве серверов и виртуальных машин и еще большем количестве кода в постоянном деплое, неизбежно возникают проблемы администрирования всего этого огромного хозяйства. Существует множество инструментов, позволяющих организовать continuous integration. В нашем списке точно уже есть GIT, Jenkins, Chef, Proxmox, Graylog2. Сегодня мы расскажем еще об одном удобном инструменте для автоматизации рутинных задач с помощью сценариев — rundeck. Эта статья — не подробный мануал с примерами конфигов, а скорее размышления на тему.
Читать дальше →
Всего голосов 36: ↑35 и ↓1 +34
Просмотры24.2K
Комментарии 28

Cfengine3 — система управления конфигурациями

Системное администрированиеPuppet
На Хабре несколько раз писали о системах менеджмента конфигураций puppet и chef, но по какой-то причине первопроходец этой темы — cfengine, обделен вниманием, давайте воспоним этот пробел.
Подробности
Всего голосов 15: ↑14 и ↓1 +13
Просмотры23.1K
Комментарии 14

Cfengine3 — немного о policy hub

Системное администрированиеPuppet
В прошлой заметке я кратко рассказал о замечательной системе управления конфигурациями cfengine3. Сегодня рассмотрим ее немного подробнее касательно клиент-серверной настройки и более тонкой настройки клиентов в зависимости от предполагаемой функциональности.

Читать дальше →
Всего голосов 4: ↑4 и ↓0 +4
Просмотры5K
Комментарии 3

Тестирование в Mail.Ru Group

Mail.ru GroupТестирование IT-систем
Эта статья написана по мотивам одноименного доклада на Highload++'2012. Предназначена она для руководителей, которые смогут, взглянув на наше тестирование, сравнить его с тестированием в своем проекте, для программистов и системных администраторов, которым представится возможность посмотреть на тестирование как на очень интересную работу, и, конечно, для тестировщиков.

В статье я расскажу, о том, каким на самом деле может быть тестирование, как мы сделали тестирование продуктивной и интересной работой, какие задачи мы решаем, и почему работать у нас хорошо.
Читать дальше →
Всего голосов 112: ↑76 и ↓36 +40
Просмотры39.4K
Комментарии 32

Автоматическое конфигурирование виртуальных машин в облаках при помощи метаданных

EPAMAmazon Web ServicesPuppet

In God we trust, the rest we automate
— unknown DevOps Engineer

Использование виртуализации и облачных платформ позволяет в десятки раз сократить время, затрачиваемое на запуск и обслуживание IT инфраструктуры. Один человек может манипулировать десятками, сотнями и даже тысячами виртуальных серверов, с легкостью их запускать, останавливать, клонировать, изменять конфигурацию оборудования и создавать на их основе готовые образы систем. Если все ваши сервера имеют одинаковую конфигурацию, то особых проблем нет, можно один раз вручную настроить сервер, сделать на его основе образ и запускать столько машин, сколько вам необходимо. Если же у вас большое количество разных операционных систем с разным набором программного обеспечения или если вам необходимо быстро запускать и останавливать сложные кластерные конфигурации, то обслуживание даже нескольких десятков таких серверов будет занимать очень много времени. Можно, конечно иметь набор разных скриптов и образов на все случаи жизни, которые необходимо будет сопровождать и обновлять, но более рационально использовать один скрипт и несколько образов, а все необходимые параметры передавать при старте системы. Многие платформы для облачных вычислений предлагают, так называемый, механизм метаданных (metadata) или пользовательских данных (user-data), используя этот механизм, вы можете передать скрипту все необходимые данные по настройке конкретной виртуальной машины или даже передать сам скрипт, чтобы он выполнился при старте.


Читать дальше →
Всего голосов 7: ↑6 и ↓1 +5
Просмотры8.6K
Комментарии 3