пример файла развертывания marathon json при использовании драйвера тома glusterfs

Привет, я действительно не знал, был ли мой вопрос больше о сбое сервера или здесь, я надеюсь, что devops не будет возражать, если я опубликую здесь.

Я работаю над стеком с помощью mesos/marathon/docker/glusterfs, я устал от огромного количества документации.

Я ищу пример файла развертывания marthon для развертывания с использованием драйвера glusterfs.

Автор говорит, что мы должны создать том заранее, но ничего не говорит о его монтировании.

"container": {
 "type": "DOCKER",
 "docker": {
   "image": "kylemanna/openvpn:latest",
   "parameters": [
     {
       "key": "volume-driver",
       "value": "glusterfs"
     },
     {
       "key": "cap-add",
       "value": "NET_ADMIN"
     }
   ],
   "network": "BRIDGE",
   "portMappings": [
     {
       "containerPort": 1194
     } 
   ]
 },
 "volumes": [
   {
     "containerPath": "/etc/openvpn",
     "hostPath": "openvpn-data",
     "mode": "RW"
   }
 ]
}

Мой контейнер продолжает перезапускаться в марафоне, и в журналах говорится, что /usr/local/bin/ovpn_run: line 16: /etc/openvpn/ovpn_env.sh: No such file or directory

На моем файловом сервере gluster эти файлы присутствуют в /data/openvpn-data/ovpn_env.sh

Я не вижу никакой точки монтирования в /mnt, я думаю, что марафон сделал монтирование сам, но поскольку контейнер продолжает перезапускаться, я его не вижу.

Я сделал docker inspect, чтобы проверить, где хранится файловая система, и обнаружил, что она хранится в /var/lib/docker-volumes/_glusterfs/openvpn-data.

Итак, вот мои вопросы:

  • Верен ли мой JSON-файл марафона?
  • Будет ли контейнер ждать загрузки всех данных и нужно ли что-то для этого настраивать?
  • Стираются ли данные при удалении контейнера на марафоне?
  • Должен ли я иметь свой ovpn_env.sh в /data/myvolume/ovpn_env.sh или /data/myvolume/etc/openvpn/ovpn_env.sh

person Dimitri Kopriwa    schedule 01.04.2016    source источник


Ответы (2)


Взгляните на следующую проблему

и документы на

Цитировать:

Тома Docker с драйверами плагинов сейчас недоступны.

Вам нужно будет создать том/монтирование перед запуском контейнера и сопоставить папку хоста при запуске приложения через Marathon (вы уже делаете это). Я думаю, именно поэтому в настоящее время он называется "постоянные локальные тома"...

person Tobi    schedule 04.04.2016

Определите его в части «параметры», например:

  "parameters": [
    {
      "key": "volume-driver",
      "value": "glusterfs"
    },
    {
      "key": "volume",
      "value": "openvpn-data:/etc/openvpn"
    }
  ]
person Jiang Jun    schedule 27.06.2016
comment
@BigDong Посмотрите внимательно, пожалуйста ... Вы определяете объем в объемах марафонского json, однако я определяю это в параметрах. Вот почему мое решение работает. Я проверил это. - person Jiang Jun; 28.06.2016