首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >理解Kubernetes中的PV - PV如何存储数据?

理解Kubernetes中的PV - PV如何存储数据?
EN

Stack Overflow用户
提问于 2020-09-29 20:04:34
回答 1查看 515关注 0票数 1

我学习k8s,我有一个小问题要理解PV。

例如,我想在/var/lib/postgresql/data中部署存储数据的PostgreSQL,我想使用本地磁盘进行PV,所以我创建了它并设置了path:/mnt/ssd/Kubernetes/Postgres

我不明白PV和PVC将如何存储我的数据,因为我用pod1创建了PostgreSQL,创建了新的DB并杀死了这个pod1。新pod2仍然有数据库,这是我第二次在pod1上创建的,但是在pod2中的本地磁盘上,我没有任何文件,所以

  1. 新pod2是如何了解创建的数据库的?PV如何存储我创建的数据库的数据?
  2. 如果我的磁盘上没有任何数据,为什么PV需要它?
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-09-30 14:30:56

为了更好地理解库伯内特斯的卷、持久卷和索赔是如何工作的,我强烈建议查阅有关以下方面的正式文档:

容器中的磁盘文件是短暂的,这给在容器中运行的应用程序带来了一些问题。首先,当容器崩溃时,kubelet将重新启动它,但是文件将丢失-容器以干净状态开始。其次,在Pod中一起运行容器时,通常需要在这些容器之间共享文件。Kubernetes Volume抽象解决了这两个问题。

  1. 持久卷

PersistentVolume (PV)是集群中由管理员提供或使用存储类动态配置的存储部分。它是集群中的资源,就像节点是集群资源一样。PVs是像Volumes这样的卷插件,但是它的生命周期与使用PV的任何单个Pod无关。这个API对象捕获存储实现的详细信息,无论是NFS、iSCSI还是特定于云提供商的存储系统。

  1. A PersistentVolumeClaim (聚氯乙烯):

是用户对存储的请求。它类似于一只水壶。豆荚消耗节点资源,PVCs消耗PV资源。豆荚可以请求特定级别的资源(CPU和内存)。声明可以请求特定的大小和访问模式(例如,它们可以挂载ReadWriteOnceReadOnlyManyReadWriteMany,参见AccessModes)。

在对它们的工作原理有了坚实的理论掌握之后,您可以看到详细演练和工作示例

而且,您的PostgreSQL是有状态应用程序的一个示例。这里您可以找到一个教程,向您展示如何使用持久卷部署数据库和应用程序。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64126864

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档