Один и тот же объем данных подключен к нескольким контейнерам даже на разных хостах - PullRequest
0 голосов
/ 12 мая 2018

Я могу привязать том докера к определенному контейнеру в рое благодаря flocker , но теперь у меня будет несколько копий моего сервера (для балансировки нагрузки), и поэтому я поиск чего-либо для привязки одного и того же объема данных к нескольким репликам службы Docker. В документации флокера я обнаружил, что

Может ли более одного контейнера иметь доступ к одному и тому же объему? Флокер работает создание отношения 1 к 1 тома и контейнера. Это означает Вы можете иметь несколько томов для одного контейнера, и эти тома всегда будет следовать за этим контейнером.

Flocker присоединяет тома к отдельному хосту агента (хосту докера) и это может быть только один хост за один раз, потому что присоединяет Flocker Блочное хранилище. Узлы на разных хостах не могут получить доступ к одному и тому же том, потому что он может быть присоединен только к одному узлу за раз.

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

Можно ли подключить один том к нескольким хостам? В настоящее время нет поддержки из нескольких подключаемых бэкэндов, таких как GCE в режиме только для чтения, или NFS-подобных бэкэнды, такие как хранилище или распределенные файловые системы, такие как GlusterFS нужно интегрировать. Flocker фокусируется в основном на использовании блочных хранилищ случаи, которые присоединяют том к одному узлу одновременно.

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

Я бы не использовал NAS / NFS или какие-либо другие распределенные файловые системы.

Есть предложения?

Заранее спасибо.

1 Ответ

0 голосов
/ 15 мая 2018

В k8s вы можете монтировать том на разные модули одновременно, если технология, поддерживающая том, поддерживает общий доступ.

Как указано в Постоянные тома Kubernetes :

Режимы доступа. PersistentVolume может быть установлен на хосте любым способом. поддерживается поставщиком ресурсов. Как показано ниже, провайдеры имеют разные возможности, и режимы доступа каждого PV установлены на конкретные режимы, поддерживаемые этим конкретным томом. Например, NFS может поддерживать несколько клиентов для чтения / записи, но конкретный PV NFS может экспортироваться на сервер только для чтения. Каждый PV получает свой набор режимы доступа, описывающие возможности конкретного PV.

Режимы доступа:

  • ReadWriteOnce - том может монтироваться как чтение-запись одним узлом
  • ReadOnlyMany - том может быть подключен только для чтения многими узлами
  • ReadWriteMany - том может быть смонтирован как чтение-запись многими узлами

Типы томов, поддерживающих режим ReadOnlyMany:

  • AzureFile
  • CephFS
  • FC
  • FlexVolume
  • GCEPersistentDisk
  • GlusterFS
  • ISCSI
  • Quobyte
  • NFS
  • RBD
  • ScaleIO

Типы томов, поддерживающих режим ReadWriteMany:

  • CephFS
  • GlusterFS
  • Quobyte
  • RBD
  • PortworxVolume
  • VsphereVolume (работает, когда блоки расположены)
...