Архив метки: Docker Compose

Jenkins: деплой Docker Compose из Ansible и ECR авторизация

26 сентября 2019
 

 В продолжение поста AWS: создание Elastic Container Registry и деплой из Jenkins, в котором создали джобу для билда Docker-образов и их пуша в AWS ECR – теперь надо создать джобу в Jenkins для деплоя и запуска одного Docker-контейнера. Запускать будем через Docker Compose, в котором Ansible будет задавать требуемую версию из параметров Jenkins-джобы. Для того, что… Читать далее »

SonarQube: Unrecoverable indexation failures и Elasticsearch “Disk watermark exceeded”

29 августа 2019
 

 Есть SonarQube, запускается из Jenkins-джоб. См. SonarQube: запуск в Docker и вызов из Jenkins Pipeline. SonarQube из Jenkins запускается, задачи проходят, но в самом SonarQube возникает ошибка: java.lang.IllegalStateException: Unrecoverable indexation failures: 1 errors among 1 requests at org.sonar.server.es.IndexingListener$1.onFinish(IndexingListener.java:39) at org.sonar.server.es.BulkIndexer.stop(BulkIndexer.java:122) … Логи SonarQube: Aug 29 12:30:26 jenkins-production docker-compose[12591]: sonarqube_1  | 2019.08.29 09:30:26 ERROR web[][o.s.s.es.BulkIndexer] index… Читать далее »

Docker: Compose и общие сети

20 августа 2019
 

 Имеется Docker Compose стек с Jenkins, SonarQube и PostgresSQL, см. пост SonarQube: запуск в Docker и вызов из Jenkins Pipeline. Проблема в том, что они описаны в одном Compose-файле, и весь стек перезапускается единым systemd-файлом (см. Linux: systemd сервис для Docker Compose). Соответственно, если надо перезапустить SonarQube – то придётся перезапускать и Jenkins, на котором… Читать далее »

SonarQube: запуск в Docker и вызов из Jenkins Pipeline

18 июня 2019
 

 Задача – запустить SonarQube, что бы Jenkins выполнял проверку кода. Jenkins работает в Docker, билды запускаются тоже Docker. Основная проблема, которая возникла во время запуска SonarQube из Docker Compose, это то, что контейнер с SonarQube внутри себя запускает процесс с Elastisearch (что, вроде как, нарушает главный принцип использования конейнеров – 1 сервис на один контейнер).… Читать далее »

Prometheus: мониторинг для RTFM – Grafana, Loki и promtail

9 марта 2019
 

 После внедрения Loki на рабочем проекте – решил добавить его и себе. А заодно – добавить node_exporter и alertmanager, что бы получать уведомления, когда на разделах будет заканчиваться место. Обычно “Ссылки по теме” размещаю в конце поста, но тут стоит их добавить в начале. Для общего знакомства с Prometheus: Prometheus: мониторинг — введение, установка, запуск,… Читать далее »

Docker: RabbitMQ: exec(): Unable to fork, Prometheus node_exporter и Docker limits

15 февраля 2019
 

 RabbitMQ перестал принимать новые сообщения, и при выполнении запроса – возвращает ошибки вида: exec(): Unable to fork write(): send of 12 bytes failed with errno=104 Connection reset by peer fwrite(): send of 19 bytes failed with errno=32 Broken pipe Собственно, по сообщениям видно, что проблема с памятью – exec() не может выполнить fork() и выделить… Читать далее »

Linux: systemd сервис для Docker Compose

14 августа 2018
 

 Есть Docker Compose файл, который запускает Prometheus стек. Рабочий каталог Prometheus – /opt/prometheus, в котором находится Compose файл prometheus-compose.yml. Для управления им через systemd – создаём файл /etc/systemd/system/prometheus.service: [Unit] Description=Prometheus stack Requires=docker.service After=docker.service [Service] Restart=always WorkingDirectory=/opt/prometheus ExecStart=/usr/local/bin/docker-compose -f prometheus-compose.yml up ExecStop=/usr/local/bin/docker-compose -f prometheus-compose.yml down [Install] WantedBy=multi-user.target Проверяем. Запускаем: [simterm] # systemctl start prometheus.service [/simterm] Проверяем… Читать далее »

Prometehus: обзор – federation, мониторинг Docker Swarm и настройки Alertmanager

9 апреля 2018
 

 Задача – настроить Proof of Concept мониторинга, используя Prometheus, что бы показать основные его возможности. Используется Prometheus 2.2.1 (между 1.* и 2.* существенные различия в синтаксисе). Чего не добавлено в этот пост – это работа с Prometheus API, и хотелось подробнее остановиться на Grafana и её шаблонах, но уже отдельным постом. Кроме того, в самом тексте… Читать далее »

Docker: использование configs и secrets в Swarm

15 ноября 2017
 

 Начиная с версии 17.06 – у Docker Swarm появилась поддержка новой концепции хранения и подключения файлов настроек для сервисов – configs. А ещё ранее, с версии 1.13 – secrets, для хранения и передачи зашифрованных данных между менеджерами и нодами. Ниже – описание и применение secrets и configs в Docker Swarm. Подготовка VirtualBox Создаём машинку в VirtualBox… Читать далее »

Ansible: роли для Docker Compose, Prometheus и node_exporter

2 октября 2017
 

 Перебирал несколько ролей в Ansible Galaxy для установки и настройки Prometheus – но в конце-концов решил делать всё по-своему. Будем использовать Docker Compose, который будет запускать сам Prometheus и node_exporter. Роль Docker Compose Начнём с добавления роли docker-compose. В корне репозитория создаём каталог roles/docker-compose/tasks: [simterm] $ mkdir -p roles/docker-compose/tasks [/simterm] Создаём файл roles/docker-compose/tasks/main.yml: – name:… Читать далее »