Как стать автором
Обновить
0
Рейтинг

Puppet *

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

Сначала показывать
  • Новые
  • Лучшие
Порог рейтинга
  • Все
  • ≥0
  • ≥10
  • ≥25
  • ≥50
  • ≥100

Инфраструктура как код в Авито: уроки, которые мы извлекли

Блог компании Авито Системное администрирование *Серверное администрирование *Puppet *

Привет, Хабр! Меня зовут Саша Козлов, я занимаюсь разработкой инфраструктуры и системным администрированием в Авито последние три с половиной года. Я расскажу, как мы масштабировали и модернизировали со временем нашу работу с инфраструктурным кодом и вывели её на качественно новый уровень.


Мы отвечаем за полный цикл управления оборудованием: от закупки и монтажа в ДЦ до доставки до конечного потребителя. Речь пойдёт об уроках, которые мы вынесли за последние несколько лет, работая с тысячей единиц оборудования и несколькими тысячами единиц конфигурирования.


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

Новости

Введение в Puppet

Блог компании Авито Системное администрирование *Puppet *

Puppet — это система управления конфигурацией. Он используется для приведения хостов к нужному состоянию и поддержания этого состояния.


Я работаю с Puppet уже больше пяти лет. На мой взгляд, его официальная документация хороша для тех, кто уже знаком с Puppet, а для новичка она сложна — сразу даётся много новых терминов; непонятно, в каком порядке читать. Эта статья — по сути переведённая компиляция ключевых моментов из официальной документации, которая позволит новичкам быстро вникнуть в суть Puppet. Я переупорядочил информацию, чтобы постепенно рассказать про все сущности и термины.


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

Миграция с Nagios на Icinga2 в Австралии

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

Всем привет.


Я — сисадмин linux, переехал из России в Австралию по независимой профессиональной визе в 2015 году, но статья будет не о том, как поросёнку завести трактор. Таких статей уже и так достаточно (тем не менее, если будет интерес — напишу и про это), так что я хотел бы рассказать о том, как на своей работе в Австралии в должности linux-ops-инженера я был инициатором миграции с одной системы мониторинга на другую. Конкретно — Nagios => Icinga2.


Статья частично техническая и частично — про общение с людьми и проблемы, связанные с разницей в культуре и методах работы.

Как оно всё было и с какой кучей геморроя мне пришлось столкнуться
Всего голосов 18: ↑18 и ↓0 +18
Просмотры 5.6K
Комментарии 7

Разработка модулей для puppet при помощи puppet development kit

Open source *Системное администрирование *Puppet *
Tutorial

Примерно месяц назад у меня был выбор: писать ли модуль для puppet "в стол" (то есть, для внутренней инфраструктуры) или делать его универсальным, открывать исходники и публиковать его на puppet forge. Конечно, быстрее и проще было бы набросать быстро под себя 2-3 класса и на том успокоиться, но вот опыт, который был получен в процессе публикации модуля, является ценным и хочется им поделиться. В рунете никакой информации по использованию puppet development kit (далее PDK) нет, так что можно считать это своеобразным туториалом.


О чём статья


В процессе разработки модуля (а точнее, двух) я открыл для себя PDK, который сильно облегчает как разработку, так и сопровождение модулей. А именно:


  • Автоматическое форматирование metadata.json при обновлении последнего
  • Генерация конфигурации для различных систем CI, которые умеют следующее:
    • Проверка ruby кода линтером rubocop
    • Запуск юнит тестов
    • При определённых условиях — автоматическая заливка рабочего кода на puppet forge
  • Генерация документации на основе тегов в коментариях при помощи yard
  • Плашка [PDK] для модуля на puppet forge. Мелочь, а приятно!

Всех заинтересованных

прошу под кат!
Всего голосов 7: ↑7 и ↓0 +7
Просмотры 2.4K
Комментарии 0

Автоматизация системы мониторинга на базе Icinga2 и Puppet

Системное администрирование *IT-инфраструктура **nix *Серверное администрирование *Puppet *
Из песочницы

 Автоматизация системы мониторинга на базе Icinga2 и Puppet


Поговорим немного о… Infrastructure as code (IaC).


На Хабре есть несколько очень хороших статей про Icinga2, есть также отличные статьи про Puppet:

Icinga2 простой вариант
Поднимаем микромониторинг на icinga2 с минимальными затратами
Настройка современного Puppet сервера с нуля

Однако тема автоматизации и интеграции этих двух потрясающих систем совсем не раскрыта.
В данном руководстве, я покажу на «живом» примере, как можно, объединив эти две
системы, получить мощный инструмент мониторинга вашей инфраструктуры со всем набором необходимых функций. Статья является своего рода руководством к действию по установке пакета «все в одном флаконе». После выполнения этого руководства у вас в наличии будет полностью рабочее решение мониторинга, которое в дальнейшем можно будет «допиливать» под себя. Давайте попробуем!
Читать дальше →
Всего голосов 11: ↑10 и ↓1 +9
Просмотры 5K
Комментарии 11

Puppet+Hiera. Выжимаем максимум

Блог компании Semrush Системное администрирование **nix *Puppet *

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


Написать эту статью меня побудило то, что в интернете я особо не находил хороших, реально рабочих примеров того, как можно работать с hiera и для чего она нужна. В основном, это туториалы с примерами для того, чтобы въехать в тему. Но реальное практическое применение hiera там не написано. Возможно, я плохо искал, но вот вам реальный пример, который, возможно, вам поможет расставить все точки над i, как и мне когда-то.


Для кого была бы полезна данная статья


Если:


  • Вы знаете, что такое Puppet и Hiera, но особо не использует их в связке, потому что непонятно, как это делать и зачем
  • У вас в компании есть множество команд и вам надо как-то разграничивать конфигурацию серверов на уровне команд
  • Вы используете паппет, и нодные файлы у вас разрослись до неимоверных размеров
  • Вам нравится читать конфигурацию серверов в божественном yaml формате :)
  • Вы в принципе интересуетесь темой Configuration Management и системным администрированием

Эта статья для вас.

Читать дальше →
Всего голосов 15: ↑14 и ↓1 +13
Просмотры 7.7K
Комментарии 21

Настройка среды разработки: кофейная гуща (Часть 2)

Разработка веб-сайтов *PHP *Puppet *
Настройка среды разработкиПривет, дорогой читатель!
В этот раз я хочу поделиться своим результатом настройки персонального окружения для работы с различными PHP-based проектами с использованием Puppet. В данной статье описываются результаты, которые были получены в процессе изучения и написания Puppet конфигурации.

Данная статья написана с целью показать один из способов это сделать. Я не хочу призывать к действию, а только делюсь тем, с чем я столкнулся, что сделал и как использую.

Статья будет очень длинной с уклоном в техническую сторону. Прошу под «кат».
Читать дальше →
Всего голосов 10: ↑10 и ↓0 +10
Просмотры 5.7K
Комментарии 3

Devops в кровавом энтерпрайзе

Блог компании КРОК IT-инфраструктура *Серверное администрирование *Управление разработкой *Puppet *

Вот к такому можно стремиться

У нас больше 350 своих разработчиков ПО и тестировщиков по всей стране, плюс мы часто взаимодействуем с инженерами и разработчиками заказчиков. Чтобы перейти на практическое использование devops, нам нужно было обеспечить не только внедрение методологии, но и приучить любимых российских заказчиков к некоторой базовой культуре. Просто пара диалогов для понимания:
— Почему у нас всё упало?
— Потому что вы откатали это на стенде, всё протестировали, а потом развернули на проде. Вот у вас настройка, которая не попала в инструкции, и жила только в голове старого админа.

Или:
— Почему не запускается по всей стране?
— Потому что у вас несколько десятков разных региональных инсталляций, каждая делалась руками, и на каждой разные конфиги. И ещё в паре случаев инженер ошибся.
— Поправите до завтра? Очень нужно! Только доступ удалённо мы вам не дадим.
— ..! Конечно, у нас есть команда высокооплачиваемых спецов, обожающих ездить на Дальний Восток. Нет проблем.
Читать дальше →
Всего голосов 44: ↑42 и ↓2 +40
Просмотры 31K
Комментарии 28

RubyMine 2017.3. Более быстрая IDE, WSL, Embedded Puppet, и многое другое

Блог компании JetBrains Ruby *Ruby on Rails *DevOps *Puppet *
Здравствуй, Хабр! Как можно заметить по последним постам в блоге JetBrains, многие продукты компании находятся в стадии заключительных релизов в этом году.

В этой серии мы расскажем про новую версию IDE для Ruby и Rails, RubyMine 2017.3.


Всего голосов 4: ↑4 и ↓0 +4
Просмотры 3K
Комментарии 2

Базовая установка и настройка Puppet 4 с хранением манифестов в SVN

*nix *DevOps *Puppet *
Tutorial
Доброго времени суток!

Сегодня будем готовить Puppet 4 на Ubuntu Server 16.04 c хранением манифестов в SVN. Так же статье будет рассмотрен пример создания простого собственного модуля для установки и конфигурирования агента сбора логов в Graylog2 через Graylog Collector Sidecar и использованием Filebeat в качестве бэкэнда. Данный пример не претендует на изящное решение, но описывает ключевые аспекты с примером.

Исходная машина для Puppet Server — VPS Ubuntu 16.04 — 4Gb Memory, 2 CPU cores.
Читать дальше →
Всего голосов 9: ↑9 и ↓0 +9
Просмотры 4.5K
Комментарии 7

В разрезе: новостной агрегатор на Android с бэкендом. Система мониторинга и визуализации данных (InfluxDB, Grafana)

Настройка Linux *IT-инфраструктура *DevOps *Puppet *
Вводная часть (со ссылками на все статьи)

Сложные системы (распределённые/крупные/со сложной логикой/сложной системой данных) – как живой организм: подвижный, изменчивый и самостоятельный. Всё это требует постоянного контроля со стороны разработчиков/администраторов/DevOps-инженеров.

К этому выводу я пришёл, когда система несколько раз «загибалась» в ходе её разработки, настройки сервера и эксплуатации. Это натолкнуло меня на мысль, что мониторинг должен осуществляться не только на этапе производственной эксплуатации, но и на этапе разработки.

Обо всём по порядку…
Читать дальше →
Всего голосов 5: ↑4 и ↓1 +3
Просмотры 8K
Комментарии 6

В разрезе: новостной агрегатор на Android с бэкендом. Система контроля конфигураций (Puppet)

Настройка Linux *IT-инфраструктура *Серверное администрирование *DevOps *Puppet *
Вводная часть (со ссылками на все статьи)

В ITIL (v3) среди описанных процессов есть 2 особенно интересных: «Процесс управления конфигурациями» и «Процесс управления изменениями», предназначенных для анализа и управления изменениями конфигураций систем. Для продолжения повествования нужно определиться, что такое «система». В это понятие входит огромное количество составляющих, влияющих (прямо или косвенно) на предоставление услуги:

  • серверы

    • настройки безопасности (пользователи, группы, права, межсетевые экраны);
    • установленные приложения и библиотеки;
    • настройки работы приложений (лимиты по дискрипторам, памяти, времени CPU и т.д.);
    • резервное копирование;

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

Пытаться минимизировать контур системы вашего проекта (тип, резервное копирование не относится к функционированию системы) – значит рыть себе яму, в которую рано или поздно вы провалитесь.
Читать дальше →
Всего голосов 6: ↑5 и ↓1 +4
Просмотры 1.9K
Комментарии 0

Первоначальная настройка Puppet — не все так просто, как кажется

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

image


Всем привет! В данной статье хочу поделиться с вами впечатлениями от настройки Puppet для конфигурации Windows-серверов.


В целом, задача заключалась в следующем: организовать процесс автоматической доставки и установки патчей для обновления удаленных серверов. Выбирали из известных менеджеров конфигураций, главное требование к которым — поддержка Windows на высоком уровне. Сразу скажу, что от Puppet решили отказаться из-за высокого порога вхождения, pull подхода и необходимости знания Ruby. Но уж очень хочется поделиться тем, что получилось.


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

RubyMine 2017.1: Docker, RuboCop, автогенерация Rails-тестов, улучшения для Puppet

Блог компании JetBrains Ruby *Ruby on Rails *Puppet *
Привет, Хабр! Недавно мы выпустили RubyMine 2017.1, новую версию нашей IDE для Ruby и Rails, и уже обновили её до более стабильной версии 2017.1.1. Пора рассказать о том, что в ней нового.


  • Docker
  • Создание RVM-гемсетов
  • RuboCop
  • Мгновенное создание Rails-тестов
  • Улучшения для разработки модулей Puppet
  • Структура проекта Puppet
  • Улучшения для JavaScript
  • Обновленный поиск в VCS
Всего голосов 23: ↑21 и ↓2 +19
Просмотры 3.8K
Комментарии 3

Установка и настройка Puppet + Foreman на Ubuntu 14.04 (пошаговое руководство)

Системное администрирование *DevOps *Puppet *
image Доброго времени суток, жителям Хабра!

Когда число управляемых серверов достигает нескольких десятков, а то и сотен, приходится искать решение по автоматической настройке и управлению таким парком. Тут на помощь приходит Puppet. Почему Puppet? Puppet кроссплатформенный, имеет богатое сообщество, имеет множество готовых модулей (4800+), имеет Enterprise версии. Все эти плюсы не дают усомнится в мощи данного продукта. Но управлять из консоли таким «комбайном» не так просто. Потому для удобного управления и настройки Puppet был разработан Foreman. Далее установка и настройка этой связки на примере задачи управления SSH-ключами.
Читать дальше →
Всего голосов 17: ↑15 и ↓2 +13
Просмотры 21K
Комментарии 26

Почему мы уверены в том, что развернули

Настройка Linux *IT-инфраструктура **nix *DevOps *Puppet *
image
Часто бывает, когда что-то не работает. И никто не хочет, чтобы что-то не работало по его вине. В контексте больших инфраструктур и распределенных приложений ошибка конфигурации может быть фатальной.

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

Статья будет интересна командам, которые практикуют DevOps или SRE, ответственным Dev, и прочим хорошим людям.
Читать дальше →
Всего голосов 21: ↑21 и ↓0 +21
Просмотры 12K
Комментарии 9

CodingFuture + Puppet. Часть VI: актуальные чёрные списки и защищённый стук

Системное администрирование *IT-инфраструктура **nix *Серверное администрирование *Puppet *

use cases


Вкратце:


  1. Защита сервисов и открытие портов по стуку криптографически стойким и не воспроизводимым Single Packet Authorization (SPA) с fwknop 2.6.9+.
  2. Динамически настраиваемое обновление чёрных списков с All Cybercrime IP Feeds by FireHOL.
  3. Полноценная поддержка ipset в cfnetwork.
  4. Поддержка собственных чёрных списков.
  5. Типичные варианты применения.

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

RubyMine 2016.3: Отладка в режиме attach, обновленная поддержка Puppet, синхронизация SDK через rsync

Блог компании JetBrains Ruby *Ruby on Rails *Puppet *
Привет, хабравчане!

В ноябре мы анонсировали обновленные IntelliJ IDEA, CLion, PyCharm и DataGrip, а эта статья — для Ruby/Rails-разработчиков. Мы выпустили RubyMine 2016.3, заключительное обновление нашей IDE для Ruby и Rails в этом году! Обновление доступно для скачивания и бесплатного 30-дневного ознакомления на нашем сайте.


Читать дальше →
Всего голосов 13: ↑12 и ↓1 +11
Просмотры 4.6K
Комментарии 14

Развертывание OpenSource Puppet 4 с несколькими Puppet masters. Часть III. Настройка puppet-db с помощью Puppet

Настройка Linux *Системное администрирование *IT-инфраструктура *Серверное администрирование *Puppet *
Tutorial
Развертывание OpenSource Puppet 4 с несколькими Puppet masters. Часть I. Подготовительная
Развертывание OpenSource Puppet 4 с несколькими Puppet masters. Часть II. Настройка Puppet Masters

Настройка puppet-db с помощью Puppet


Зададим настройки для ноды puppet-db в репозитории puppet-environments.git.

В случае стандартного размещения datadir для postgresql


В репозитории puppet-environments.git в файл manifests/nodes.pp добавим настройки puppet-db:

node default {

}
node puppet-db {
  class { 'puppetdb':
    listen_addresses => '0.0.0.0',
  }
}
Читать дальше →
Всего голосов 10: ↑8 и ↓2 +6
Просмотры 3.2K
Комментарии 6

Развертывание OpenSource Puppet 4 с несколькими Puppet masters. Часть II. Настройка Puppet Masters

Настройка Linux *Системное администрирование *IT-инфраструктура *Серверное администрирование *Puppet *
Tutorial
Развертывание OpenSource Puppet 4 с несколькими Puppet masters. Часть I. Подготовительная
Развертывание OpenSource Puppet 4 с несколькими Puppet masters. Часть III. Настройка puppet-db с помощью Puppet

Настройка серверов puppet


Общие настройки серверов. На серверах puppet-master01, puppet-master02 и на puppet-db добавим репозитории puppetlabs:

wget https://apt.puppetlabs.com/puppetlabs-release-pc1-xenial.deb
sudo dpkg -i puppetlabs-release-pc1-xenial.deb
sudo apt update

На серверах puppet-master01, puppet-master02 установим puppet-сервер:

sudo apt install puppetserver

Проверим адрес, порт и требование авторизации в файле /etc/puppetlabs/puppetserver/conf.d/webserver.conf, по умолчанию должно быть:

client-auth: want
ssl-host: 0.0.0.0
ssl-port: 8140

На сервере puppet-db достаточно puppet-агента:

sudo apt install puppet-agent

Остальное на puppet-db установим с помощью Puppet.
Читать дальше →
Всего голосов 9: ↑8 и ↓1 +7
Просмотры 4.6K
Комментарии 4

Вклад авторов