回顾:
上一篇文章讲到的创建持久卷、使用持久卷
这节讲的是持久卷和pod解耦,程序的开发人员不需要自己创建卷、不需要了解底层使用哪些存储技术,只需要声明你需要多大容量的持久化存储,一切交给机群管理员就可以。
理想的情况是,在kubernetes 上部署应用程序的开发人员不需要知道底层使用的哪种存储技术,同理也不需要了解应该使用哪些类型的物理服务器来运行pod,与基础设施相关的交互是集群管理员独有的控制领域
1)持久卷和持久卷声明
PersistentVolume(PV)持久卷
研发人员无须向他们的pod中添加特定技术卷,而由集群管理员设置底层存储,然后通过kubernetes API服务器创建持久卷并注册。在创建持久卷时,管理员可以指定其大小和所支持的访问模式
PersistentVolumeClaim(PVC)持久卷声明
当集群用户需要在其pod中使用持久化存储时,他们首先创建持久卷声明清单,指定所需的最低容量要求和访问模式,然后用户将持久卷声明提交给kubernetes API服务器,Kubernetes将找到可匹配的持久卷并将其绑定到持久卷声明
持久卷声明可以当作pod中的一个卷来使用,其他用户不能使用相同的持久卷,除非先通过删除持久卷声明绑定来释放
2)创建持久卷
yaml文件,在创建持久卷时,管理员需要告诉kubernetes其对应的容量需求、是否可由单个节点或多个节点同时读取或写入,还需要告诉kubernetes如何处理PersistentVolume(当持久卷声明的绑定被删除时)。最重要的是,需要指定持久卷支持的实际存续类型、位置和其他属性。
3)通过创建持久卷声明来获取持久卷
创建持久卷声明,yaml文件,制定申请的空间,是否允许单个或多个客户端访问等
当创建好声明,kubernetes就会找到适当的持久卷并将其绑定到声明,持久卷的容量必须足够大以满足声明的需求,并且卷的访问模式必须包含声明中指定的访问模式
列举持久卷声明:kubectl get pvc
列举持久卷:kubectl get pv
注意:pvc代称persistentvolumeclaim
访问模式如下:
RWO—ReadWriteOnce—仅允许单个节点挂载读写
ROX—ReadOnlyMany—允许多个节点挂载只读
RWX—ReadWriteMany—允许多个节点挂载读写这个卷
4)在pod中使用持久卷声明
创建pod,yaml中引用持久卷声明
本文介绍了Kubernetes中如何实现持久卷(PersistentVolume, PV)和持久卷声明(PersistentVolumeClaim, PVC)的解耦,使得开发者无需关注底层存储技术,只需声明存储需求。集群管理员负责创建和配置PV,而用户通过创建PVC来请求存储。当PVC与PV匹配后,它们会被绑定,提供给Pod使用。访问模式包括:ReadWriteOnce、ReadOnlyMany和ReadWriteMany。在Pod中引用PVC即可使用持久化存储。

3733

被折叠的 条评论
为什么被折叠?



