Архив рубрики: Ansible

In computing, Ansible is an open-source software provisioning, configuration management, and application deployment tool. It runs on many Unix-like systems, and can configure both Unix-like systems as well as Microsoft Windows.

Prometheus: мониторинг PHP-FPM + Ansible роль

8 июня 2018
 

 Задача – собирать метрики с PHP-FPM /status. Используем lusotycoon/phpfpm-exporter. Кроме этого экспортёра есть bakins/php-fpm-exporter – но контейнер из его Docker образа постоянно возвращает “Empty reply from server“. Есть peakgames/php-fpm-prometheus – но для него нет Docker образа, а собирать свой не хочется. Имеется также hipages/php-fpm_exporter – но с ним возникли ошибки вида “Error scraping PHP-FPM: invalid character ‘A’ looking for beginning… Читать далее »

AWS: CloudWatch unified agent – сбор метрик и логов с EC2 и Ansible роль для него

7 июня 2018
 

 В дополнение к посту AWS: CloudWatch logs – сбор и мониторинг логов, где сбор логов выполнялся старым агентом – пример использования нового агента, который собирать и метрики инстанса, и логи. Для работы агента – ЕС2 требуется подключенная роль CloudWatchAgentServerPolicy, создание описано тут>>>. Пост кратенький, просто пример установки и запуска. Установка CloudWatch unified агента Устанавливаем unzip: [simterm] root@ip-172-31-45-128:/home/admin#… Читать далее »

CircleCI: обзор Continuous Integration сервиса

31 мая 2018
 

 CircleCI – система для сборки и деплоя, аналогичная Travis CI (Github), и работающая по тем же принципам – к CircleCI-аккаунту подключаются репозитории (в отличи от Travis – к CircleCI можно добавить любой репозиторий, в т.ч. Bitbucket), билды выполняются в контейнерах или вирутальных машинах, уведомления о результатах билда можно получить на почту или через интеграцию со Slack/HipChat etc, а… Читать далее »

Ansible: модуль cloudformation

25 мая 2018
 

 Для Ansible существует интересный модуль cloudformation, который позволяет создавать и удалять AWS CloudFormation стеки. Его может быть полезно использовать, что бы удобно передавать различные параметрыдля стеков, например Dev и Production, через переменные самого Ansible. Для примера возьмём шаблон ec2_simple_stack.json. Подготовка проекта Создадим новые проект: [simterm] $ mkdir ansible_cf_example [/simterm] Создаём плейбук, всего одна роль – cloudformation:… Читать далее »

Ansible: теги, include_vars и приоритеты переменных

22 мая 2018
 

 В процессе написания плейбука для создания стека с модулем cloudformation (про него позже) появился пример использования тегов для ограничения выполнения задач из различных ролей, и хороший пример важности учёта приоритетов при использовании переменных. Ansible теги К примеру, есть такой плейбук: – hosts: – all become: true gather_facts: false roles: – role: cloudformation tags: infra -… Читать далее »

Ansible: Prometheus provisioning – роли common, exim, nginx, logrotate и unattended-upgrades

14 мая 2018
 

 Продолжение сетапа из AWS: создание стека в AWS – bash-скрипт и CloudFormation шаблон. Далее потребуется добавить Ansible playbook и роли для настройки хоста. В принципе – ничего особенно отличного от того, что описано в постах серии RTFM migration, например – Ansible: миграция RTFM 2.9 – монтирование EBS и настройка NGINX на Bastion. Что надо будет выполнить: добавить… Читать далее »

Ansible: использование Vault – зашифрованного хранилища

13 мая 2018
 

 Начиная с версии 1.5 в Ansible была доабвлена возможность хранения секретных данных, таких как пароли или RSA ключи, в зашифрованных файлах – vault (“хранилище”). Для работы с такими хранилищами используется утилита ansible-vault, которая принимает два основных аргумента – –ask-vault-pass или –vault-password-file, которые могут быть заданы через ansible.cfg. Располагается в /usr/bin/ansible-vault и представялет собой Python-скрипт.   Шифрование файлов… Читать далее »

Ansible: миграция RTFM 2.11 – хост Services – установка PHP, PHP-FPM

24 марта 2018
 

 Продолжаем миграцию. Предыдущие посты: AWS: миграция RTFM 2.1 – CloudFormation для EC2 c Jenkins Ansible: миграция RTFM 2.2 – RTFM Jenkins provision AWS: миграция RTFM 2.3 – инфраструктура для RTFM и создание CloudFormation шаблона – VPC, subnets, EC2 Jenkins: миграция RTFM 2.4 – Jenkins Pipeline для CloudFormation RTFM стека AWS: миграция RTFM 2.5 – настройка… Читать далее »

Ansible: миграция RTFM 2.10 – Let’s Encrypt, NGINX SSL, hostname и exim

10 февраля 2018
 

 Предыдущий пост серии – Ansible: миграция RTFM 2.9 – монтирование EBS и настройка NGINX на Bastion. Сегодня надо выполнить установку и настройку: Let’s Encrypt SSL на NGINX и виртуалхоста (пока только dev.rtfm.co.ua) hostname exim Ссылки на коммиты файлов, получившиеся в результате написания этого поста: roles/letsencrypt/tasks/main.yml rtfm-blog-ansible-bastion-provision.yml roles/nginx/templates/nginx.conf hosts roles/common/tasks/main.yml roles/exim/templates/update-exim4.conf.conf.j2 roles/exim/templates/mailname.j2 roles/exim/tasks/main.yml

Ansible: миграция RTFM 2.9 – монтирование EBS и настройка NGINX на Bastion

3 февраля 2018
 

 Предыдущий пост серии – Ansible: миграция RTFM 2.8 – logrotate, unattended-upgrades и Let’s Encrypt для Bastion хоста. Сейчас Bastion запущен и настроен, сегодня надо выполнить настройку NGINX. Как и прежние посты этой серии – это скорее заметки для себя по выполненным обновлениям плюс примеры настроек и действий. План таков: обновить роль common и добавить монтирование диска… Читать далее »