Мы говорим о контейнерах Docker, таких как sysdig, консул, fluentd, mesos-slave и т. Д., Которые мы используем практически на всех машинах.
В настоящее время мы используем Ubuntu Upstart и CoreOS Fleetctl.Мы переходим на Ubuntu 18.04 LTS и в настоящее время рассматриваем вопрос о том, следует ли преобразовать конфигурацию в:
- Systemd или
- Docker-compose
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?