Kubernetes卷,PersistentVolume,PersistentVolume声明

时间:2019-12-16 22:25:14

标签: kubernetes

我已经在Kubernetes上工作了一段时间了,但是仍然经常对Volume,PersistentVolume和PersistemtVolumeClaim感到困惑。如果有人可以简要总结它们之间的区别,那将是很好的。

2 个答案:

答案 0 :(得分:2)

卷-要使Pod引用外部存储,它需要卷规格。该卷可以来自configmap,秘密,持久性卷声明,主机路径等

PeristentVolume-它表示可用的存储。云提供商的插件可以创建此资源。

PeristentVolumeClaim-这声明了特定的资源,并且如果持久卷在命名空间中可用,则符合声明要求,那么声明将与该Peristentvolume绑定

目前未使用此PVC / PV。然后在Pod规范中,pod将Claim用作卷,然后将存储连接到Pod

答案 1 :(得分:0)

这些全都在Kubernetes应用程序上下文中。为了保持应用程序在不同Kubernetes平台之间的可移植性,最好从应用程序中删除基础架构。在这里,我将解释属于 Application config Platform config 的Kubernetes对象。如果您的应用程序同时在例如GCP和AWS,您将需要两套平台配置,一套用于GCP,一套用于AWS。

应用程序配置

音量

吊舱可以装载卷。卷的来源可以是不同的事物,例如ConfigMap,Secret或 PersistentVolumeClaim

PersistentVolumeClaim

PersistentVolumeClaim代表特定PersistentVolume实例的声明。对于可移植性,此声明可以针对特定的 StorageClass ,例如SSD。

平台配置

StorageClass

StorageClass表示具有特定属性的PersistentVolume 类型。可以是SSD。但是StorageClass在每个平台上都不同,例如一个在AWS,Azure上的定义,另一个在GCP或Minikube上的定义。

PersistentVolume

这是平台上的特定卷。并且在平台上可能有所不同,例如awsElasticBlockStore或gcePersistentDisk。这是保存实际数据的实例。

Minikube示例

有关使用Minikube和Pod的Pod如何使用 PersistentVolume StorageClass Volume 的完整示例,请参见Configure a Pod to Use a PersistentVolume for Storage hostPath