WedX - журнал о программировании и компьютерных науках

ReadWrite - много томов на кубернетах с терабайтами данных

Мы хотим развернуть кластер k8s, который будет одновременно запускать ~ 100 модулей с интенсивным вводом-выводом. Все они должны иметь доступ к одному и тому же тому.

Что мы пробовали до сих пор:

  • CephFS
    • was very complicated to set up. Hard to troubleshoot. In the end, it crashed a lot and the cause was not entirely clear.
  • Helm NFS Server Provisioner
    • runs pretty well, but when IO peaks a single replica is not enough. We could not get multiple replicas to work at all.
  • MinIO
    • is a great tool to create storage buckets in k8s. But our operations require fs mounting. That is theoretically possible with s3fs, but since we run ~100 pods, we would need to run 100 s3fs sidecars additionally. Thats seems like a bad idea.

Должен быть способ получить 2 ТБ данных, смонтированных в кластере GKE с относительно высокой доступностью?

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


Я подумывал создать этот вопрос о сбое сервера, но сообщество k8s намного меньше, чем сообщество SO.


  • Вы используете Google Kubernetes Engine? Вы пробовали использовать класс хранения, отличный от класса по умолчанию, в PersistentVolumeClaim? 15.01.2020
  • Вот отличный блог о производительности хранилища vitobotta.com/2019/08/06/ 15.01.2020
  • Вы пробовали Cloud Filestore - cloud.google.com/filestore? Это поддержит ваш вариант использования, однако я слышал, что у других возникают проблемы с получением от него действительно хорошей пропускной способности. 15.01.2020

Ответы:


1

Я думаю, что по состоянию на январь 2020 года у меня есть окончательный ответ, по крайней мере, для нашего варианта использования:

| Solution        | Complexity | Performance | Cost           |
|-----------------|------------|-------------|----------------|
| NFS             | Low        | Low         | Low            |
| Cloud Filestore | Low        | Mediocre?   | Per Read/Write |
| CephFS          | High*      | High        | Low            |

* You need to add an additional step for GKE: Change the base image to ubuntu

Я сам не тестировал Filestore, но просто воспользуюсь ответом stringy05: у других есть проблемы получить действительно хорошую пропускную способность

Ceph мог бы быть намного проще, если бы он поддерживался Helm.

16.01.2020
  • Почему вы полностью отказались от использования SSD-хранилища с динамически подготовленными PersistentVolumes? Есть ли какая-то причина относительно вашего варианта использования, которая полностью отбрасывает это? cloud.google.com/kubernetes-engine/ документы / инструкции / 16.01.2020
  • В названии написано ReadWriteMany. Прямое подключение дисков позволяет только RWOnce. 17.01.2020
  • Спасибо, я не знал об этом факте. 17.01.2020
  • На странице с ценами кажется, что Cloud Filestore будет стоить не менее 200 долларов в месяц. Их минимальный размер тома составляет 1 ТБ и стоит не менее 0,20 доллара США за ГБ в месяц. 20.02.2020
  • @ckeeney Хорошее замечание. Если вас устраивают жесткие диски, обычные диски gcp стоят всего 40 долларов за ТБ в месяц и гораздо более гибкие в отношении размера. Также очень низкая стоимость эксплуатации. 21.02.2020
  • Новые материалы

    Объяснение документов 02: BERT
    BERT представил двухступенчатую структуру обучения: предварительное обучение и тонкая настройка. Во время предварительного обучения модель обучается на неразмеченных данных с помощью..

    Как проанализировать работу вашего классификатора?
    Не всегда просто знать, какие показатели использовать С развитием глубокого обучения все больше и больше людей учатся обучать свой первый классификатор. Но как только вы закончите..

    Работа с цепями Маркова, часть 4 (Машинное обучение)
    Нелинейные цепи Маркова с агрегатором и их приложения (arXiv) Автор : Бар Лайт Аннотация: Изучаются свойства подкласса случайных процессов, называемых дискретными нелинейными цепями Маркова..

    Crazy Laravel Livewire упростил мне создание электронной коммерции (панель администратора и API) [Часть 3]
    Как вы сегодня, ребята? В этой части мы создадим CRUD для данных о продукте. Думаю, в этой части я не буду слишком много делиться теорией, но чаще буду делиться своим кодом. Потому что..

    Использование машинного обучения и Python для классификации 1000 сезонов новичков MLB Hitter
    Чему может научиться машина, глядя на сезоны новичков 1000 игроков MLB? Это то, что исследует это приложение. В этом процессе мы будем использовать неконтролируемое обучение, чтобы..

    Учебные заметки: создание моего первого пакета Node.js
    Это мои обучающие заметки, когда я научился создавать свой самый первый пакет Node.js, распространяемый через npm. Оглавление Глоссарий I. Новый пакет 1.1 советы по инициализации..

    Забудьте о Matplotlib: улучшите визуализацию данных с помощью умопомрачительных функций Seaborn!
    Примечание. Эта запись в блоге предполагает базовое знакомство с Python и концепциями анализа данных. Привет, энтузиасты данных! Добро пожаловать в мой блог, где я расскажу о невероятных..


    Для любых предложений по сайту: [email protected]