На просторах интернета можно встретить немало статей на тему Infrastructure as Code, утилит SaltStack, Kitchen-CI и так далее, однако, сколько я не встречал различного рода примеров IaC, они зачастую остаются только кодом, как правило, с делением на бранчи в VCS соответствующие наименованию типа среды, например dev/int, возможно даже с тэгами, а говорить о полноценном цикле разработки конфигураций как правило не приходится. Во всяком случае с компаниями, с которыми знаком именно такая ситуация, да и статей не находил.
Может быть оно и понятно — тотальный Agile и "раз-раз и в продакшен".
Попробую исправить ситуацию данной статьей.
Рубрика «serverspec»
Релизный цикл для Infrastructure as Code
2017-07-22 в 21:00, admin, рубрики: devops, Jenkins, kitchen-ci, linux, saltstack, serverspec, sonatype nexusПочему мы уверены в том, что развернули
2017-03-09 в 9:12, admin, рубрики: Ansible, chef, chef lwrp, devops, goss, infrastructure as code, infrastructure testing, inspec, puppet, qa, salt, serverspec, sre, testinfra, Настройка Linux, Серверная оптимизация
Часто бывает, когда что-то не работает. И никто не хочет, чтобы что-то не работало по его вине. В контексте больших инфраструктур и распределенных приложений ошибка конфигурации может быть фатальной.
В статье я покажу как правильно тестировать окружение для приложения, какие инструменты использовать, приведу примеры удачного и целесообразного тестирования.
Статья будет интересна командам, которые практикуют DevOps или SRE, ответственным Dev, и прочим хорошим людям.
Читать полностью »
Ansible: тестируем плейбуки (часть 2)
2016-07-06 в 5:02, admin, рубрики: Ansible, centos-admin.ru, Jenkins, kitchen-ci, serverspec, southbridge.ru, tdd, test-kitchen, Блог компании centos-admin.ru, ит-инфраструктура, Серверное администрирование, системное администрированиеИтак, в нашей прошлой статье мы рассмотрели как можно быстро и просто настроить среду для тестирования плейбуков и ролей Ansible. Это всё, конечно, очень хорошо и удобно, но почему бы нам не автоматизировать весь процесс внесения изменений в инфраструктуру от написания плейбука до внесения изменений на сервера?
Напомню несколько условий, при которых мы будем выполнять тестирование конфигураций:
1. Вся конфигурация хранится в git-репозитории;
2. Jenkins периодически опрашивает git-репозиторий с нашими ролями/плейбуками на предмет внесённых изменений;
3. При появлении изменений Jenkins запускает job с тестированием конфигурации. Тесты состоят из двух этапов:
3.1 Kitchen-CI берёт обновленный код из репозитория, запускает полностью свежий docker-контейнер, заливает в них обновлённые плейбуки из репозитория и запускает Ansible локально, в docker-контейнере;
3.2 Если первый этап прошёл успешно, в docker-контейнере запускается serverspec и проверяет, корректно ли встала новая конфигурация;
4. Если в Kitchen-CI все тесты прошли успешно, то Jenkins инициирует заливку новой конфигурации.
В идеале, весь процесс от написания плейбука и коммита в репозиторий до внесения изменений на сервера, должен проходить без нашего участия. Сильно углубляться в установку Jenkins и подробно расписывать о пайплайнах в данной статье не планируется. Первое делается без проблем из стандартных репозиториев, а второе — сугубо индивидуальное.
Читать полностью »
Ansible: тестируем плейбуки (часть 1)
2016-06-22 в 5:47, admin, рубрики: Ansible, kitchen-ci, serverspec, southbridge.ru, tdd, test-kitchen, Блог компании centos-admin.ru, ит-инфраструктура, Серверное администрирование, системное администрированиеДумаю, любой системный администратор, использующий Ansible для управления своим зоопарком серверов задавался вопросом о проверке корректности описания конфигурации своих серверов. Как же не бояться вносить изменения в конфигурации серверов?
В серии статей, посвященных DevOps, мы расскажем об этом.
Тестируем проект на SaltStack c помощью KitchenCI
2016-05-30 в 11:10, admin, рубрики: devops, infrastructure as code, kitchenci, qa, saltstack, serverspec, testing tools, testkitchen, Блог компании Plesk, ит-инфраструктура, системное администрирование, Тестирование IT-систем, метки: saltstackВведение
У меня есть pet project, которым я занимаюсь в свободное время. Этот проект полностью посвящён инфраструктурным экспериментам. Для управления конфигурацией я использую SaltStack. SaltStack — это централизованная система управления инфраструктурой. Это значит, есть мастер-сервер, который настраивает подчинённые серверы.
За время жизни проекта я наступил на небольшой набор граблей, но в итоге пришёл к очень удобному подходу работы с ним. В общем про это и статья — как оно все начиналось и к чему пришло.
Тестируем Chef cookbook. Часть 1
2015-03-18 в 11:42, admin, рубрики: chef, chefspec, devops, infrastructure as code, serverspec, testing cookbook, testing tools, testkitchen, Блог компании Express 42, ит-инфраструктура, системное администрирование, Тестирование IT-систем, метки: devops
Привет! Сегодня мы начинаем серию технических статей о Devops, Chef, infrastructure as code и всем таком. Эта статья – первая из трех о тестировании в Chef. Цикл статей будет полезен тем, кто уже знаком с Chef и хочет научиться тестировать свой код.
Концепция infrastructure as code позволяет нам применять к инфраструктуре решения из мира разработки. Отдельные компоненты инфраструктуры в проектах часто повторяются. При интеграции таких компонентов наиболее удобный вариант – общие кукбуки. Код кукбуков постоянно меняется, фиксятся баги, появляется новый функционал. С помощью тестирования мы отслеживаем регрессии, контролируем обратную совместимость и внедряем новые фичи быстрее.
В этой статье мы познакомимся с инструментами для тестирования, напишем простой кукбук и тест к нему.