В чем разница между постоянным объемом (PV) и постоянным требованием к объему (PVC) в простых терминах?

В чем разница между постоянным объемом (PV) и постоянным требованием к объему (PVC) в Kubernetes/Openshift, ссылаясь на документацию?

В чем разница между простыми словами?

Ответ 1

ПВХ - это декларация о необходимости хранения, которая может в какой-то момент стать доступной - как в привязке к некоторым фактическим PV.

Это немного похоже на концепцию асинхронного программирования обещания. ПВХ обещает, что в какой-то момент "перевести" на объем хранения, который сможет использовать ваше приложение, и один из определенных характеристик, таких как класс, размер и режим доступа (ROX, RWO и RWX).

Это способ абстрактного мышления о конкретной реализации хранилища от ваших контейнеров/развертываний. Ваше приложение в большинстве случаев не требует объявления "дайте мне хранилище NFS с сервера X размера Y"; это больше похоже на "Мне нужно постоянное хранилище класса по умолчанию и размер Y".

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

Кроме того, в вашем развертывании могут быть шаблоны заявок на объем, так что каждый модуль автоматически создает отражающий ПВХ (т.е. Поддерживает определение инфраструктуры-агностического хранилища для группы масштабируемых контейнеров, каждая из которых нуждается в собственном выделенном хранилище.

Ответ 2

Из документов

PV - это ресурсы в кластере. ПВХ - это запросы на эти ресурсы, а также действуют как проверки требований к ресурсу.

Таким образом, постоянный том (PV) является "физическим" томом на главной машине, в которой хранятся ваши постоянные данные. Постоянная заявка на объем (PVC) - это запрос на создание платформы для вас, и вы присоединяете PV к своим контейнерам через PVC.

Что-то похожее на

Pod -> PVC -> PV -> Host machine