Мы говорим о контейнерах Docker, таких как sysdig, consul, fluentd, mesos-slave и т. Д., Которые мы запускаем почти на всех машинах.
В настоящее время мы используем Upstart от Ubuntu и Fleetctl от CoreOS. Мы переходим на Ubuntu 18.04 LTS и в настоящее время рассматриваем возможность преобразования конфигурации в:
Systemd может выполнять проверки работоспособности и автоматически возвращать процессы, которые умерли, обратно в оперативный режим. Он также наиболее похож на Upstart, который мы активно используем. Наши файлы конфигурации Upstart генерируются из облачной конфигурации следующим образом:
- >
/usr/local/bin/generate-docker-upstart fluentd registry/fluentd:1.0.1
-e HOST=elasticsearch
-e PORT=9200
-e INDEX=fluentd
-e NODE=`hostname -s`
-e ROLE=app
-e ENVIRONMENT={{Ref:Environment}}
-e TENANT={{Ref:Tenant}}
-p 24224:24224
--name \$NAME \$IMAGE
Мы используем AWS CloudFormation для вывода виртуальных машин в онлайн.
Мы не можем использовать реальную среду оркестровки контейнеров (мы уже используем Marathon / Mesos), потому что эти службы должны работать на каждом хосте до запуска Marathon / Mesos.
Какое решение наиболее разумно? Преобразовать эти файлы в systemd или начать использовать docker-compose, несмотря на то, что уже используете Marathon в Mesos?