В чем разница между постоянным томом (PV) и заявкой на постоянный том (PVC) в Kubernetes / Openshift, если обратиться к документации?
В чем разница между ними простым языком?
В чем разница между постоянным томом (PV) и заявкой на постоянный том (PVC) в Kubernetes / Openshift, если обратиться к документации?
В чем разница между ними простым языком?
PVC - это заявление о потребности в хранилище, которое в какой-то момент может стать доступным / удовлетворенным - например, в привязке к некоторому фактическому PV.
Это немного похоже на концепцию асинхронного программирования в обещании. PVC обещает, что в какой-то момент он «преобразуется» в объем хранилища, который ваше приложение сможет использовать, и одну из определенных характеристик, таких как класс, размер и режим доступа (ROX, RWO и RWX).
Это способ отвлечься от размышлений о конкретной реализации хранилища от ваших модулей / развертываний. В большинстве случаев вашему приложению не нужно объявлять «предоставьте мне хранилище NFS с сервера X размером Y»; это больше похоже на «Мне нужно постоянное хранилище класса по умолчанию и размера Y».
При этом развертывания в разных кластерах могут по-разному удовлетворять эту потребность. Один может связать устройство EBS, другой может подготовить GlusterFS, и ваши основные манифесты остаются одинаковыми в обоих случаях.
Кроме того, в вашем развертывании могут быть определены шаблоны утверждений томов, чтобы каждый модуль автоматически создавал отражающий PVC (т. Е. Поддерживающий независимое от инфраструктуры определение хранилища для группы масштабируемых модулей, где каждому требуется собственное выделенное хранилище).
Из документов
PV - это ресурсы в кластере. PVC являются запросами для этих ресурсов, а также действуют как проверки требований к ресурсу.
Таким образом, постоянный том (PV) - это «физический» том на хост-машине, в котором хранятся ваши постоянные данные. Заявка на постоянный том (PVC) - это запрос для платформы на создание для вас PV, и вы присоединяете PV к своим модулям через PVC.
Что-то похожее на
Pod -> PVC -> PV -> Host machine
PVC
и PV
, потому что он определяет классы PV
, доступные для генерации через PVC
.
- person Will Gordon; 18.09.2018
Кратко:
- Вот вам место для хранения! PersistenVolume (PV)
- Вы получаете хранилище, если оно вам действительно нужно! PersistentVolumeClaim (PVC)
Коротко и просто
Постоянный том - доступное хранилище, допустим, у вас 100 ГБ.
Заявление на постоянный том - вы запрашиваете у постоянного тома, допустим, вы запрашиваете 10Gi, вы его получите, но если вы запросите 110Gi, вы его не получите.
PersistentVolume (PV) - это часть хранилища в кластере, которая была предоставлена администратором сервера / хранилища / кластера или динамически предоставлена с использованием классов хранилища. Это ресурс в кластере, как и узел.
PersistentVolumeClaim (PVC) - это запрос пользователя на хранение, который может быть получен из PV. Он похож на стручок. Поды потребляют ресурсы узлов, а PVC - фотоэлектрические ресурсы. Поды могут запрашивать определенные уровни ресурсов (ЦП и память). Заявления могут запрашивать определенный размер и режимы доступа (например, они могут быть установлены ReadWriteOnce, ReadOnlyMany или ReadWriteMany.
PersistentVolume (PV) - это часть хранилища в кластере или центральном хранилище, скажем, 100 ГБ.
PersistentVolumeClaim (PVC) - это запрос пользователя на хранилище, чтобы приложение использовало 10 ГБ.
В сценарии реальной жизни PV - это целый пирог, а PVC - кусок пирога (но у вас может быть целый пирог, если нет других людей, которые можно есть (точно так же, как если нет другого приложения для использования, вы можете использовать весь PV)).
Заявление о постоянном объеме сообщает вам, к каким параметрам у вас есть доступ в конкретном кластере, и они получили в этом магазине циркуляр под названием Smart Tech с некоторыми объявлениями о ваших параметрах конфигурации, эти объявления являются заявлением о постоянном объеме.
Внутри вашего конфигурационного файла вы записываете различные постоянные заявки на объем, которые у вас будут внутри кластера, вроде того, что вы хотите передать Санте, но, конечно же, вы собираетесь передать это продавцу в Smart Tech, когда вы сделано.
Итак, вы пишете файл конфигурации, в котором говорится, что для всех ваших кластеров должен быть доступен жесткий диск на 600 ГБ, а также для жесткого диска на 1 ТБ.
Когда вы выбираете один из этих вариантов утверждения постоянного объема, вы идете и запрашиваете, чтобы Kubernetes (продавец) пошел и получил этот вариант для вас, вариант, который вы выбрали, Kubernetes должен просмотреть эти экземпляры вариантов хранения на складе. комнаты, которые легко доступны. Эти экземпляры жестких дисков можно использовать сразу, и они считаются статически подготовленными, поскольку создаются заранее.
С другой стороны, есть динамически настраиваемые параметры, которые были созданы на лету, когда вы спросили Kubernetes у продавца, так что вроде как производство точно в срок, оно было создано, когда вы сразу же об этом попросили.
Таким образом, Persistent Volume Claim - это реклама в магазине опций, и какой бы из них вы ни выбрали, Kubernetes получит его, либо в хранилище, либо создаст его на лету.
Постоянный том - это фактический продукт или параметры, которые вы получаете обратно от Kubernetes, о которых просили. Если в Kubernetes нет того, что вы просили, он попытается создать это на лету за вас.
Итак, PVC - это то, что Smart Tech рекламирует, что они могут предложить вашему кластеру, который Kubernetes вам получит продавец, а PV - это фактический готовый продукт, доставленный вам.
PersistentVolume (PV) и PersistentVolumeClaim (PVC) - это API-интерфейсы ресурсов, предоставляемые Kubernetes. PV - это часть хранилища, которая должна быть предварительно выделена администратором. А PVC - это запрос пользователя на часть хранилища.
Вы можете найти некоторые общие при сравнении PV и PVC с узлами и стручками. PV как узел, определяющий хранилище. PVC-подобные модули, которые требуют ресурсов (Mem, CPU) и получают их, если у узла есть ресурсы для распределения, которые в данном случае являются хранилищем.
PV - это логическое представление хранилища, подключенного к модулю или развертыванию. Он использует PVC для запроса ресурсов хранения у физических ресурсов хранения в вашем кластере Kube. На мой взгляд, его отношения больше похожи на:
Pods -> PV -> PVC -> Physical Storage
Многие объяснения в Интернете звучат сбивающе с толку, и я понимаю это из их взаимосвязи в файлах манифеста.