Настройка среды докеры/фига Mesos

Я пытаюсь создать кластер докеров/фишек Mesos. Я новичок в инжире и Докере. Докер имеет много документации, но я изо всех сил пытаюсь понять, как работать с изображением.

Здесь мой fig.yaml на данный момент:

zookeeper:
  image: jplock/zookeeper
  ports: 
  - "49181:2181"
mesosMaster:
  image: mesosphere/mesos:0.19.1
  ports: 
    - "15050:5050"
  links: 
    - zookeeper:zk
  command: mesos-master --zk=zk --work_dir=/var/log --quorum=1
mesosSlave:
  image: mesosphere/mesos:0.19.1
  links: 
    - zookeeper:zk
  command: mesos-slave --master=zk

Спасибо!


Edit:

Благодаря помощи Mark O`Connor, я создал рабочую платформу mesos на основе докеров (+ storm, chronos и т.д.).

Наслаждайтесь, и если вы найдете это полезным - пожалуйста, внесите свой вклад: https://github.com/yaronr/docker-mesos

PS. Пожалуйста, отметьте ответ:)

Ответ 1

Вы не указали ошибки, которые вы испытывали.

Это документация для используемого изображения:

База данных Mesos Docker, использующая пакеты Mesosphere от https://mesosphere.io/downloads/. Не запускайте Mesos, пожалуйста, используйте мезо-мастер и мезо-рабские докеры.

Что действительно беспокоило меня об этих изображениях, так это то, что они были ненадежны, и ни один источник не был сразу доступен.

Итак, я снова создал ваш пример, используя gisub mesosphere как вдохновение:

Обновленный пример

Пример обновлен, чтобы включить инфраструктуру chronos

├── build.sh
├── fig.yml
├── mesos
│   └── Dockerfile
├── mesos-chronos
│   └── Dockerfile
├── mesos-master
│   └── Dockerfile
└── mesos-slave
    └── Dockerfile

Создайте базовое изображение (нужно сделать только один раз)

./build.sh

Запустите fig, чтобы запустить экземпляр каждой службы:

$ fig up -d
Creating mesos_zk_1...
Creating mesos_master_1...
Creating mesos_slave_1...
Creating mesos_chronos_1...

Одна полезная вещь о фиге - это то, что вы можете масштабировать ведомые устройства

$ fig scale slave=5
Starting mesos_slave_2...
Starting mesos_slave_3...
Starting mesos_slave_4...
Starting mesos_slave_5...

Ведущая консоль mesos должна показывать 5 подчиненных хостов

http://localhost:15050/#/slaves

И инфраструктура chronos должна быть запущена и готова к запуску задач

http://localhost:14400

fig.yml

zk:
  image: mesos
  command: /usr/share/zookeeper/bin/zkServer.sh start-foreground
master:
  build: mesos-master
  ports:
    - "15050:5050"
  links:
    - "zk:zookeeper"
slave:
  build: mesos-slave
  links:
    - "zk:zookeeper"
chronos:
  build: mesos-chronos
  ports:
    - "14400:4400"
  links:
    - "zk:zookeeper"

Примечания:

  • Для этого примера нужен только один экземпляр zookeeper

build.sh

docker build --rm=true --tag=mesos mesos

Mesos/Dockerfile

FROM ubuntu:14.04
MAINTAINER Mark O'Connor <[email protected]>

RUN echo "deb http://repos.mesosphere.io/ubuntu/ trusty main" > /etc/apt/sources.list.d/mesosphere.list
RUN apt-key adv --keyserver keyserver.ubuntu.com --recv E56151BF
RUN apt-get -y update
RUN apt-get -y install mesos marathon chronos

Mesos-мастер/Dockerfile

FROM mesos
MAINTAINER Mark O'Connor <[email protected]>

EXPOSE 5050

CMD ["--zk=zk://zookeeper:2181/mesos", "--work_dir=/var/lib/mesos", "--quorum=1"]

ENTRYPOINT ["mesos-master"]

Mesos-ведомый/Dockerfile

FROM mesos
MAINTAINER Mark O'Connor <[email protected]>

CMD ["--master=zk://zookeeper:2181/mesos"]

ENTRYPOINT ["mesos-slave"]

Mesos-Хронос/Dockerfile

FROM mesos
MAINTAINER Mark O'Connor <[email protected]>

RUN echo "zk://zookeeper:2181/mesos" > /etc/mesos/zk

EXPOSE 4400

CMD ["chronos"]

Примечания:

  • Командная строка "chronos" настроена с использованием файлов.