Общий постоянный том Kubernetes AWS

Имею следующее:

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

Я ищу общий том ...

Я ищу решение, в котором 2 модуля и каждый из контейнеров в модулях могут совместно использовать каталог с доступом для чтения и записи. Таким образом, если один контейнер из модуля 1 пишет в него, контейнеры из модуля 2 смогут получить доступ к новым данным.

Возможно ли это с постоянными томами и PVC? если да, то что мне нужно и каковы указатели на более подробную информацию о том, какая FS будет работать лучше всего, статическая или динамическая, а также класс хранения.

Может объем ведро S3?

Спасибо!


person Assaf Moldavsky    schedule 23.04.2019    source источник


Ответы (2)


Есть несколько вариантов в зависимости от цены и необходимых усилий:

  1. Самое простое, но немного более дорогое решение - использовать EFS + Постоянные тома NFS. Однако EFS имеет серьезные ограничения пропускной способности, подробности читайте здесь. .
  2. Вы можете создать pod с NFS-сервером внутри и снова смонтировать NFS Persistent Volumes в pod'ы. См. Пример здесь. Это требует большего количества ручной работы и не является полностью доступным. Если модуль NFS-сервера выйдет из строя, вы увидите некоторое (надеюсь) короткое время простоя, прежде чем он будет воссоздан.
  3. Для конфигурации высокой доступности вы можете подготовить GlusterFS в Kubernetes. Это требует больших усилий, но обеспечивает большую гибкость и скорость.
  4. Хотя установка S3 в капсулы каким-то образом возможна с использованием ужасных костылей, это решение имеет множество недостатков и в целом не является производственным классом. Вы можете это сделать в целях тестирования.
person Vasili Angapov    schedule 23.04.2019
comment
спасибо за то, что поделились этими знаниями, я считаю, что 1 или 2 должны сработать, мне нужно будет исследовать глубже. Что касается S3, скажем, я действительно хотел протестировать этот путь для разработки, как этого можно достичь? - person Assaf Moldavsky; 23.04.2019

См. https://kubernetes.io/docs/concepts/storage/persistent-volumes/#access-modes для всех доступных бэкэндов томов (вам нужна ReadWriteMany совместимость)

Как вы можете найти там, AWSElasticBlockStore не поддерживает его. Вам понадобится сторонний поставщик томов, поддерживающий ReadWriteMany.

UPD: другой ответ https://stackoverflow.com/a/51216537/923620 предполагает, что AWS EFS тоже работает.

person Max Lobur    schedule 23.04.2019