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

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

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




Ответы (10)


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

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

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

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

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

person Radek 'Goblin' Pieczonka    schedule 23.02.2018
comment
Любой, кто ищет четкое различие / разъяснение между PV, PVC и классом хранилища, может обратиться: - portworx .com / basic-guide-kubernetes-storage. - person Suhas Chikkanna; 18.09.2018
comment
Цитата из связанной статьи: Заявления о постоянном томе представляют собой исключительное использование постоянного тома определенным модулем. - person Vaviloff; 09.04.2020
comment
Заявления о постоянном томе представляют собой исключительное использование постоянного тома конкретной цитатой Pod, что не является точным. ПВХ можно установить в несколько коробов. - person gyro; 10.04.2021

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

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

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

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

Pod -> PVC -> PV -> Host machine
person Will Gordon    schedule 23.02.2018
comment
Хост-машиной может быть любое хранилище = [NFS | облачное хранилище | поставщики хранилищ | ...] - person Pav K.; 30.08.2018
comment
@will Gordon Попросите вас сообщить мне, где в вашем ответе отображается класс хранилища. - person Suhas Chikkanna; 18.09.2018
comment
@SuhasChikkanna, StorageClasses (kubernetes.io/docs/concepts/storage/storage-classes) просто определяют тип PVC, который может запросить пользователь. - person Will Gordon; 18.09.2018
comment
@WillGordon Да, теперь я вижу вашу картинку как это. Пожалуйста, поправьте меня, если я ошибаюсь: - Стручок - ›PVC -› PV - ›(Класс хранения, если применимо) -› Хост-машина . А также, для всех остальных, это хорошее руководство, чтобы узнать разницу между PV, PVC, Storage Class (portworx.com/basic-guide-kubernetes-storage). - person Suhas Chikkanna; 18.09.2018
comment
@SuhasChikkanna Это кажется правильным, хотя я думаю, что StorageClass будет находиться между PVC и PV, потому что он определяет классы PV, доступные для генерации через PVC. - person Will Gordon; 18.09.2018

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

person mrw    schedule 06.02.2020
comment
Привет и добро пожаловать в Stack Overflow. Вы можете дать более подробное объяснение? Можно резюмировать ваше решение, но, пожалуйста, постарайтесь быть описательным, если можете :) - person Ema.jar; 06.02.2020

Коротко и просто

Постоянный том - доступное хранилище, допустим, у вас 100 ГБ.

Заявление на постоянный том - вы запрашиваете у постоянного тома, допустим, вы запрашиваете 10Gi, вы его получите, но если вы запросите 110Gi, вы его не получите.

person Aditya    schedule 21.07.2020
comment
есть ли размер? - person Jesse; 16.02.2021
comment
@Jesse, это зависит от того, как провайдер куба настроил свои службы. на локальном компьютере, очевидно, он ограничен размером вашего жесткого диска - person Kirk Sefchik; 17.02.2021

PersistentVolume (PV) - это часть хранилища в кластере, которая была предоставлена ​​администратором сервера / хранилища / кластера или динамически предоставлена ​​с использованием классов хранилища. Это ресурс в кластере, как и узел.

PersistentVolumeClaim (PVC) - это запрос пользователя на хранение, который может быть получен из PV. Он похож на стручок. Поды потребляют ресурсы узлов, а PVC - фотоэлектрические ресурсы. Поды могут запрашивать определенные уровни ресурсов (ЦП и память). Заявления могут запрашивать определенный размер и режимы доступа (например, они могут быть установлены ReadWriteOnce, ReadOnlyMany или ReadWriteMany.

person Divyani Singh    schedule 21.07.2020

  1. PersistentVolume (PV) - это часть хранилища в кластере или центральном хранилище, скажем, 100 ГБ.

  2. PersistentVolumeClaim (PVC) - это запрос пользователя на хранилище, чтобы приложение использовало 10 ГБ.

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

person Dashrath Mundkar    schedule 28.03.2020

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

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

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

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

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

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

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

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

person Daniel    schedule 29.05.2019

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

person Aakanksha Mane    schedule 03.03.2020

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

person Mickey Hovel    schedule 25.03.2020

PV - это логическое представление хранилища, подключенного к модулю или развертыванию. Он использует PVC для запроса ресурсов хранения у физических ресурсов хранения в вашем кластере Kube. На мой взгляд, его отношения больше похожи на:

Pods -> PV -> PVC -> Physical Storage

Многие объяснения в Интернете звучат сбивающе с толку, и я понимаю это из их взаимосвязи в файлах манифеста.

person Z.Wei    schedule 24.12.2020