Архив рубрики: Configuration/Orchestration

Вопросы, касающиеся установки, настройки и работы CMS (Configuration Manament System — система управления конфигурациями) Puppet, Ansible и Chef

AWS: миграция RTFM 2.1 — CloudFormation для EC2 c Jenkins

30 сентября 2017
 

 Задача — развернуть CloudFromation стек с одним EC2 интансом и примонтировать Elastic Block Store (EBS) с данными Jenkins. Потом с помощью Ansible — установить там Docker и запустить Jenkins. Подготовка Сначала — вручную создадим EBS, который будет хранить данные Jenkins и далее будет подключаться к создаваемому EC2 интансу. Создаём именованный профиль AWS CLI для RTFM:… Читать далее »

Let’s Encrypt: firewall и верификация домена

26 сентября 2017
 

 Во время установки и получения сертификата с помощью Ansible — возник вопрос с доступом к серверу для верификации, т.к. доступ к портам 80 и 443 ограничен на уровне Azure Network Security Group. Для certbot можно было бы использовать manual верификацию через DNS — но тут требовалось или ручная обработка, или боль с Azure DNS API… Читать далее »

Ansible: ansible-galaxy — репозиторий ролей и Jenkins VM provision

25 сентября 2017
 

 Продолжаем сетап системы мониторинга. Предыдущие части: Prometheus: мониторинг – введение, установка, запуск, примеры Azure: provisioning с Resource Manager, Jenkins и Groovy Ansible: пример установки NGINX Jenkins: Pipeline, Groovy, Ansible и VM provisioning Для NGINX роль я писал руками, далее — используем Ansible Galaxy.

Jenkins: Pipeline, Groovy, Ansible и VM provisioning

22 сентября 2017
 

 Продолжение постов Ansible: пример установки NGINX и Azure: provisioning с Resource Manager, Jenkins и Groovy. Задача  — запускать провижен VM из Jenkins. Пока выполняется только установка NGINX, позже будет добавлен Prometheus. Используем Jenkins Pipeline и groovy-скрипты. Описание Используется два репозитория: один для скриптов Jenkins (переменная $BUILD_REPO_URL в скриптах ниже), второй для файлов Ansbile ($INFRA_URL), в которых описаны хосты… Читать далее »

Ansible: пример установки NGINX

20 сентября 2017
 

 Задача — установить NGINX на удалённый хост с помощью Ansbile. Подготовка На рабочей машине — устанавливаем Ansible: [simterm] $ sudo pacman -S ansible [/simterm] В Jenkins — будем использовать Docker образ (или плагин). Проверяем: [simterm] $ ansible —version ansible 2.3.2.0 config file = /etc/ansible/ansible.cfg configured module search path = Default w/o overrides python version = 2.7.13… Читать далее »

AWS [China]: начало

3 мая 2017
 

 Описание Продолжение проекта, описанного в посте AWS: билд Java + Maven + Docker + Packer + Terraform — будем разворачивать нечто аналогичное в Китае. Хотя у Китая есть «свой AWS» — Aliyun.com, принадлежащий Alibaba Group, тем не менее — мы будем пользоваться именно Amazon Web Services. В этом посте не будет HowTo do something — больше просто описание опыта работы… Читать далее »

What is: Infrastructure as Code

8 марта 2017
 

 Одним из наиболее важных трендов в IT за последние годы стало бурное развитие автоматизации и одновременно — уменьшение  необходимости во вмешательстве человека и выполнении каких-либо действий. Виртуализация дала нам возможность развёртывания новых окружений для девелоперов, в которых они могли бы делать их работу без опасений затронуть Production-систему, а гипервизоры, такие как Hyper-V или VMWare позволяют… Читать далее »

AWS: билд Java + Maven + Docker + Packer + Terraform

20 февраля 2017
 

 Достаточно…. Скажем так — интересная схема билда и деплоя одного приложения. Приложение включает в себя 6 контейнеров (5 — сервисы самого приложения, и один контейнер — Zuul discovery service). Сама идея и архитектура — красивая и достаточно сложная. Но использовать такое для билда и деплоя 5 контейнеров… Overhead, overengineering. Ещё один антипаттерн того, как надо… Читать далее »

Terraform: InvalidGroupId.Malformed: Invalid id

11 ноября 2016
 

 Обновление инфраструктуры с помощью Terraform упало с ошибкой: … Error applying plan: 1 error(s) occurred: * aws_security_group.api_ec2: Error authorizing security group ingress rules: InvalidGroupId.Malformed: Invalid id: «0» (expecting «sg-…») status code: 400, request id: f761e22f-9773-413e-af57-a13632569604 …

Packer: введение, примеры

20 октября 2016
 

 Введение Packer — утилита для сборки образов виртуальных машин для различных платформ из одного файла конфигурации. Packer не является заменой таких средств как Chef или Ansible, и может использовать их для конфигрирования системы перед сборкой образа. Образ, создаваемый Packer, включает в себя настроенную операционную систему, необходимый набор ПО, который позволяет быстро развернуть новую машину. Packer умеет… Читать далее »