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

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

105
smc 23 Фев 2018 в 23:52

7 ответов

Лучший ответ

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

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

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

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

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

49
Radek 'Goblin' Pieczonka 10 Апр 2020 в 10:42

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

PV являются ресурсами в кластере. PVC являются запросами на эти ресурсы и также служат проверкой претензий к ресурсу.

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

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

Pod -> PVC -> PV -> Host machine
43
Will Gordon 23 Фев 2018 в 21:28

< Сильный > Short :
- Здесь у вас есть хранилище! PersistenVolume (PV)
- Вы получите хранилище, если оно вам действительно нужно! PersistentVolumeClaim (PVC)

3
mrw 6 Фев 2020 в 16:02

Заявка на постоянный объем сообщает вам, к каким вариантам у вас есть доступ в определенном кластере, и они получили этот циркуляр в этом магазине под названием Smart Tech с некоторыми объявлениями о ваших параметрах конфигурации.

Внутри вашего конфигурационного файла вы записываете различные утверждения о постоянных объемах, которые вы будете иметь в своем кластере, вроде своего списка пожеланий для Санты, но, конечно, вы собираетесь передать это продавцу в Smart Tech, когда вы сделаны.

Таким образом, вы пишете файл конфигурации, в котором говорится, что жесткий диск объемом 600 ГБ доступен для всех ваших кластеров, а также жесткий диск объемом 1 ТБ.

Когда вы выбираете одну из этих опций Persistent Volume Claim, вы идете и запрашиваете, чтобы Kubernetes (продавец) пошел и получил для вас эту опцию, выбранную вами опцию, Kubernetes должен просмотреть эти экземпляры опций хранения на складе. комнаты, которые легко доступны. Эти экземпляры жестких дисков можно использовать сразу же, и они считаются статически подготовленными, поскольку они создаются заранее.

С другой стороны, есть динамически настраиваемые опции, которые были созданы на лету, когда вы спросили у Kubernetes продавца, так что вроде как производство точно в срок, оно было создано, когда вы сразу попросили об этом.

Таким образом, Заявка на постоянный объем - это реклама опций в магазинах, и какой бы вариант вы ни выбрали, Kubernetes отправится за ним, либо в хранилище, либо создаст его на лету.

Постоянный том - это фактический продукт или варианты, которые вы получаете от Kubernetes, которые вы просили. Если у Kubernetes нет того, о чем вы просили, он постарается создать его на лету для вас.

Таким образом, PVC - это то, что Smart Tech рекламирует, которую они могут предложить вашему кластеру, и Kubernetes, который вам предоставит продавец, а PV - это фактически готовый продукт, доставленный вам.

1
Daniel 29 Май 2019 в 05:15

PersistentVolume (PV) и PersistentVolumeClaim (PVC) - это API-интерфейсы ресурсов, предоставляемые Kubernetes. PV - это часть памяти, которая должна быть предварительно выделена администратором. А ПВХ - это запрос на часть хранилища пользователем.

1
Aakanksha Mane 3 Мар 2020 в 07:10

Вы можете найти некоторые общие при сравнении PV и PVC с узлами и модулями. PV похож на узел, который определяет хранилище. PVC, как стручки, которые требуют ресурсы (Mem, CPU) и получают их в случае, если у узла есть ресурсы для выделения, которое в данном случае является хранилищем.

0
Mickey Hovel 25 Мар 2020 в 08:37
  1. PersistentVolume (PV) - это часть хранилища в кластере или центральном хранилище, которое было выделено администратором или динамически выделено с использованием классов хранения.

  2. PersistentVolumeClaim (PVC) - это запрос на хранение пользователем. Это похоже на стручок. Блоки используют ресурсы узла, а PVC - ресурсы PV.

В реальной жизни предположим, что у ваших родителей много денег (PV), но они предоставляют их только после того, как вы запросите их в соответствии с вашими потребностями (PVC).

0
Dashrath Mundkar 28 Мар 2020 в 16:29