Настройка PVC для одного писателя и нескольких читателей

У меня есть 2 микросервиса, один готовит файл, а другой читает его для обработки HTTP-запросов. Итак, я собираюсь создать PVC и два развертывания, по одному для каждого микросервиса. Развертывание микросервиса записи будет состоять из одного модуля, другое развертывание будет горизонтально масштабируемым. Существует 3 режима доступа, но ни один из них не кажется чтобы идеально соответствовать моим потребностям, а документы мне непонятны. Итак, какой режим доступа к PVC мне выбрать? Очень желательно иметь возможность хранить эти поды на разных узлах.


person skozlov    schedule 10.09.2020    source источник
comment
Можете ли вы предоставить больше контекста и описать этим свою цель?   -  person acid_fuji    schedule 10.09.2020
comment
У меня есть 2 микросервиса, один готовит файл, а другой читает его для обработки HTTP-запросов. Итак, я собираюсь создать PVC и два развертывания, по одному для каждого микросервиса. Развертывание микросервиса записи будет состоять из одного модуля, другое развертывание будет горизонтально масштабируемым. Итак, какой режим доступа к PVC мне выбрать?   -  person skozlov    schedule 10.09.2020
comment
Разъяснил вопрос.   -  person skozlov    schedule 14.09.2020


Ответы (2)


Вам потребуется серверная часть хранилища, которая поддерживает ReadWriteMany режимы доступа, а затем устанавливает соответствующий режим доступа для каждого развертывания на уровне заявки (для модуля, генерирующего файл, вы должны использовать ReadWriteOnce, а для второго развертывания вы должны использовать режим ReadOnlyMany).

Итак, чтобы это работало, вам нужно будет использовать nfs, cephfs или другой плагин, поддерживающий ReadWriteMany. Более подробный список подключаемых модулей можно найти здесь.

person acid_fuji    schedule 10.09.2020
comment
Спасибо за ответ! Пробую в этот понедельник и, если сработает, публикую yaml. - person skozlov; 10.09.2020
comment
Оно работает. При повторном открытии вопроса публикую подробное решение. - person skozlov; 14.09.2020

создайте 2 отдельных ПВХ с желаемыми режимами доступа для одного и того же ПВ и прикрепите к модулям в зависимости от их использования. например, write many можно использовать для записи, а readonly many можно использовать для целей RO. Ни один модуль не сможет получить доступ к тому, если там нет ПВХ.

person Muhammad Hasan    schedule 10.09.2020
comment
Насколько мне известно, k8s не позволяет создавать несколько PVC для PV. stackoverflow.com/questions/44204223/ - person skozlov; 10.09.2020
comment
@skozlov, ты прав. мои извенения - person Muhammad Hasan; 10.09.2020