关注分享主机优惠活动
国内外VPS云服务器

通过示例了解如何将 PersistentVolumeClaim 与 Kubernetes 结合使用

总结:无状态对象通常具有较短的生命周期。 只要发生异常,就会自动创建新的异常来替代它。 为了实现内部数据的存储管理,引入了两种资源:持久卷(以下简称持久卷)和持久卷应用程序(以下简称持久卷应用程序)。 与卷类似,但具有独立的生命周期。

Kubernetes Pod 本身是无状态的,它们的生命周期通常很短。 只要发生异常,Kubernetes 就会自动创建一个新的 pod 来替换它。

当 Pod 终止时,容器生成的数据会自动消失。

Kubernetes 使用持久卷(Persistent Volume,以下简称 PV)和持久卷声明(Persistent Volume Application,以下简称 PV)来实现 Pod 中的数据存储管理,我们引入两个 API 资源。 : PVC)。

PV 是 Kubernetes 集群内的网络存储实现。 与节点一样,它们也是集群资源。

PV 与 Docker 卷类似,但具有独立于 Pod 的生命周期。

使用 kubectl get pv 查看列表。

PVC 与 pod 一样,都是用户请求。 Pod 消耗节点资源,PVC 消耗 PV 资源。

Pod 可以应用于特定资源(CPU 和内存)。 PVC可以应用于特定的规模和接入模式。 例如,您可以加载一个读/写实例或多个只读实例(返回结果的Access Mode列中的值,例如RWO、ROX等),而无需知道这些实例背后的具体存储实现。这是图中的kubectl get pvc执行的。

让我们看一下名为 nginx-pvc 的特定 PVC 实例:

kind: Persistent VolumeClaim apiVersion: v1 元数据: name: nginx-pvc spec : storageClassName: 默认 accessModes: - ReadOnlyMany 资源: 请求: Storage: 1Gi

使用命令 kubectl create -f pvc.yaml 定义创建持久卷声明。 此 yaml 文件:

接下来,定义一个使用名为 nginx-pvc 的持久卷声明的 pod:

kubectl description pvc 显示使用 nginx-pvc 响应此持久卷请求而生成的持久卷。

现在使用命令 kubectl cp train.jpg nginx-storage-pod:/usr/share/nginx/html Masu. 将train.jpg和index.html这两个文件复制到pod的内部文件路径/usr/share/nginx。 /html :

如果你现在切换到 nginx-storage-pod pod,你会在 /usr/share/nginx/ 中找到以下两个文件html 目录:我做到了。 /p>

接下来,我们定义了另一个也适用于 nginx-pvc PVC 的 pod。

创建此 pod 后,然后 kubectl exec -ti 另一个 ash 进入 pod 内的 /usr/share/nginx/html 和 index.html 并找到 train.jpg 。

此示例说明持久卷声明可以在多个卷上使用。在 OD 之间共享持久数据。
获取更多Jerry原创文章,请关注公众号“王子熙”:

未经允许不得转载:主机频道 » 通过示例了解如何将 PersistentVolumeClaim 与 Kubernetes 结合使用

评论 抢沙发

评论前必须登录!