Практично ли монтировать блочное хранилище на несколько VPS, на которых запущен Docker Swarm для общего хранилища?

Рассматривая несколько вариантов реализации общего хранилища для Docker Swarm, я вижу, что для большинства из них требуется специальный плагин Docker:

  • sshFs
  • CephFS
  • glusterFS
  • S3
  • и другие

... но одна вещь, о которой нигде не упоминается, - это просто установка типичного блочного хранилища на все узлы VPS, на которых работает Docker Swarm. Этот вариант непрактичен и поэтому не упоминается в Интернете? Я что-то пропустил?

Моя идея такова:

  1. Создайте типичное блочное хранилище (например, предлагаемое DigitalOcean или Vultr).
  2. Смонтируйте его в файловую систему VPS.
  3. Смонтируйте папку из этого блочного хранилища как том в Docker Container / Docker Worker с помощью «локального» драйвера.

Для меня это звучит наиболее просто и очевидно. Почему люди используют более сложные настройки, такие как sshFs, CephFS и т. Д.? И самое главное, жизнеспособна ли описанная мною реализация, и если да, то каковы недостатки этого способа?

1 ответ

Основное преимущество использования подключаемого модуля тома над смонтированным хранилищем сводится к возможности динамически создавать тома хранилища и связывать их с пространствами имен.

то есть с докером, управляющим хранилищем для тома с помощью директивы «volume: data:» в файле compose, том будет создан для каждого развернутого именованного стека.

Используя локальный драйвер и средства монтирования, вы, администратор роя, должны убедиться, что никакие два стека не пытаются использовать /mnt/data.

Как только вы преодолеете это препятствие, некоторые платформы будут иметь ограничения на количество хостов, к которым может быть подключено блочное хранилище.

Также следует учитывать аспект безопасности - с таким сопоставленным томом компромисс с любой службой на любом хосте может потенциально раскрыть все ваши данные злоумышленнику, где плагин тома предоставит только те данные, которые смонтированы в этом контейнере.

Все, что сказано - docker swarm - это круто, а текущего места для плагинов не хватает - если для получения работоспособного решения для хранения требуется монтирование блочного хранилища, я говорю, сделайте это. Надеюсь, поддержка CSI будет готова до конца года.

Другие вопросы по тегам