Один экземпляр марафонского приложения создает несколько docker контейнеров - PullRequest
0 голосов
/ 14 января 2020

Я следовал примеру json app cfg @ https://mesosphere.github.io/marathon/docs/native-docker.html#bridged -networking-mode ( изменил количество экземпляров до 1 вместо 2 ) на следующей локальной установке на моем mbp running macos -

  • mesos-1.9.0 ( загружен исходный код и собран локально )
  • zookeeper-3.4.8 ( упакован как третий сторонний фреймворк с mesos-1.9.0 и выше )
  • marathon-1.5.0-96 ( скачал исходники из мезосферы github и создал локально )

С одиночным экземпляром веб-приложения python с мостовыми соединениями я заметил, что создано несколько docker контейнеров.

CONTAINER ID        IMAGE               COMMAND                  CREATED              STATUS              PORTS                                             NAMES
120bf164b817        python:3            "/bin/sh -c 'python3…"   20 seconds ago       Up 19 seconds       0.0.0.0:31532->161/udp, 0.0.0.0:31531->8080/tcp   mesos-eb3765bb-2c98-4cdf-8dbe-95ef33bdd58b
eee64f6d845b        python:3            "/bin/sh -c 'python3…"   About a minute ago   Up About a minute   0.0.0.0:31733->161/udp, 0.0.0.0:31732->8080/tcp   mesos-c17f8df0-f7a3-4352-a266-c2bf74c211fa
5dc28a7457e2        python:3            "/bin/sh -c 'python3…"   2 minutes ago        Up 2 minutes        0.0.0.0:31811->161/udp, 0.0.0.0:31810->8080/tcp   mesos-d44f0ff6-73a1-4609-bc9a-2a32330fc37e

Я не думаю, что это ожидаемое поведение, и для одного экземпляра приложения марафона должен быть создан только 1 docker контейнер.

Пожалуйста, помогите мне исправить это, если мой наблюдение верно или правильно, насколько я понимаю.

TIA.

1 Ответ

0 голосов
/ 15 января 2020

Полагаю, вы можете использовать УНИКАЛЬНЫЙ оператор ограничений. https://mesosphere.github.io/marathon/docs/constraints.html

Например:

    $ curl -X POST -H "Content-type: application/json" localhost:8080/v2/apps -d '{
    "id": "sleep-unique",
    "cmd": "sleep 60",
    "instances": 3,
    "constraints": [["hostname", "UNIQUE"]]
  }'
...