openshift / kubernetes с glusterfs: как предотвратить округление размера емкости? - PullRequest
0 голосов
/ 28 июня 2018

Я использую openshift с glusterfs в качестве системы хранения. Динамическая подготовка работает очень хорошо, но всегда округляет выделенную емкость до следующего значения в ГБ. Например: я запрашиваю объем 400 МБ, но создается объем 1 ГБ.

Это поведение настраивается? Я настраиваю openshift через расширенную установку с openshift / ansible.

Ответы [ 2 ]

0 голосов
/ 08 августа 2018

Повторение ответа Грэма: да, так работает Kubernetes, но причины могут быть в GlusterFS и / или Heketi. Исходный код для поставщика содержит следующие строки:

// GlusterFS/heketi creates volumes in units of GiB.
sz, err := volutil.RoundUpToGiBInt(capacity)

Таким образом, ответ очевиден: вы не можете изменить единицу округления, так как она жестко запрограммирована. Мне не хватает объяснения, является ли это ограничение архитектурной проблемой или проблемой конфигурации, но, тем не менее, комментарий в коде указывает на проблему в алгоритмах распределения GlusterFS / Heketi.

0 голосов
/ 29 июня 2018

Вот как работает Kubernetes внизу. Если у вас определены статические тома, запрос на выделение используется для получения наилучшего из доступных совпадений. Так что, если нет одного точного размера, он возьмет следующий размер. Он не может разделить постоянный том и просто отдать его вам. Он также не устанавливает никаких ограничений, поэтому, несмотря на то, что вы запрашиваете 400 МБ, вы можете использовать до 1 ГБ, предоставляемых постоянным томом.

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

...