Monthly Archives: September 2017

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

09/30/2017
 

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

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

09/26/2017
 

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

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

09/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

09/22/2017
 

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

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

09/20/2017
 

 Задача – установить NGINX на удалённый хост с помощью Ansbile. Подготовка На рабочей машине – устанавливаем Ansible: В Jenkins – будем использовать Docker образ (или плагин). Проверяем: Создание Inventory Пока есть только один Dev сервер, позже добавим Production. Документация по Ansbile Inventory – тут>>>. В корне репозитория создаём каталоги: Переходим в него, и создаём файл hosts в… Read More »

Azure: provisioning с Resource Manager, Jenkins и Groovy

09/19/2017
 

 Описание сетапа развёртывания группы ресурсов Azure с одной виртуальной машиной для будущего мониторинга проекта. В этой части – создание Azure Resource Manager шаблона, настройка Jenkins и примеры Groovy скриптов. Далее – провижен NGINX и Prometheus с Ansbile. Ещё позже – Grafana. Все файлы и скрипты хранятся в Github. Подготовка Используем готовый шаблон от Azure отсюда>>>.… Read More »

Prometheus: мониторинг – введение, установка, запуск, примеры

09/18/2017
 

 Prometheus – open-source система мониторинга, изначально разработанная в SoundCloud в 2012, публичный релиз состоялся в 2015. Сам Prometheus написан большей частью на Go, компоненты связываются по HTTP. Для визуализации имеет собственные графики, но может работать с системами типа Grafana (о ней позже, тоже будем применять). Данные хранит локально, в собственной TSDB базе, индексы хранятся в LevelDB.… Read More »

Linux: C – адресное пространство процесса

09/17/2017
 

 Адресное пространство процесса на примере программы на C. Используемые утилиты и файлы: size /proc/$PID/maps objdump pmap Все примеры выполняются на ОС: С ядром: С использованием gcc:

Arch Linux: Skype – /usr/lib32/libcrypto.so.1.0.0: version `OPENSSL_1.0.2d’ not found

09/14/2017
 

 И снова Skype и libcrypto: $ skype /usr/lib32/skype/skype: /usr/lib32/libcrypto.so.1.0.0: version `OPENSSL_1.0.2d’ not found (required by /usr/lib32/libQtNetwork.so.4) /usr/lib32/skype/skype: /usr/lib32/libssl.so.1.0.0: version `OPENSSL_1.0.2d’ not found (required by /usr/lib32/libQtNetwork.so.4) Похожая проблема уже возникала, варианты решения описаны в посте Arch: skype error while loading shared libraries: libssl.so.1.0.0 – три решения. Проверяем: При переустановке Skype из AUR – видим сообщение: Устанавливаем: Собирается… Read More »

AWS: CloudFront – обновить SSL сертификат

09/13/2017
 

 Устанавливаем AWS CLI: $ sudo pacman -S aws-cli Настраиваем именованный профиль: Проверяем имеющиеся сертификаты: Новый сертификат, промежуточный сертификат и приватный ключ локально, на рабочей машине: Загружаем сертификат в AWS. Path должен начинаться с /cloudfront: Проверяем: Обновляем сертификат в CloudFront: (либо через CLI update-distribution). Готово.