博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
通过一个例子学习Kubernetes里的PersistentVolumeClaim的用法
阅读量:2438 次
发布时间:2019-05-10

本文共 1442 字,大约阅读时间需要 4 分钟。

Kubernetes的pod本身是无状态的(stateless),生命周期通常比较短,只要出现了异常,Kubernetes就会自动创建一个新的Pod来代替它。

而容器产生的数据,会随着Pod消亡而自动消失。

为了实现Pod内数据的存储管理,Kubernetes引入了两个API资源:Persistent Volume(持久卷,以下简称PV)和Persistent Volume Claim(持久卷申请,以下简称PVC)。

PV是Kubernetes集群中的一种网络存储实现,跟Node一样,也是属于集群的资源。

PV跟Docker里的Volume(卷)类似,不过会有独立于Pod的生命周期。

使用kubectl get pv查看列表:

webp

而PVC是用户的一个请求,跟Pod类似。Pod消费Node的资源,PVC消费PV的资源。

webp

Pod 能够申请特定的资源(CPU和内存);PVC能够申请特定的尺寸和访问模式,例如可以加载一个读写实例或者多个只读实例,(就是上图kubectl get pvc返回结果的Access Mode这一列的值RWO, ROX等等)而无须感知这些实例背后具体的存储实现。

我们来看一个具体的PVC实例,名称为nginx-pvc:

kind: PersistentVolumeClaim apiVersion: v1 metadata: name: nginx-pvc spec: storageClassName: default accessModes: - ReadOnlyMany resources: requests: storage: 1Gi

webp

使用命令kubectl create -f pvc.yaml创建这个yaml文件定义的persistent volume claim:

webp

然后定义一个pod,消费这个名为nginx-pvc的persistent volume claim:

webp

webp

使用kubectl describe pvc nginx-pvc查看这个persistent volume claim对应生成的persistent volume:

webp

webp

现在我用命令kubectl cp train.jpg nginx-storage-pod:/usr/share/nginx/html将两个文件train.jpg和index.html文件拷贝到pod内部文件路径/usr/share/nginx/html下面:

webp

现在切换到nginx-storage-pod pod里,在/usr/share/nginx/html目录下果然发现了这两个文件:

webp

接下来我定义了另一个pod,同样适用nginx-pvc这个PVC:

webp

创建完这个pod之后,then kubectl exec -ti another ash 进入pod内部/usr/share/nginx/html,同样发现了index.html和train.jpg.

webp

这个例子说明persistent volume claim能够用于在多个pod间共享持久化数据。

要获取更多Jerry的原创文章,请关注公众号"汪子熙":

webp

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/24475491/viewspace-2221872/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/24475491/viewspace-2221872/

你可能感兴趣的文章
红旗Linux桌面版5.0BETA版已提供下载(转)
查看>>
使用 parted 来分区(转)
查看>>
看看我这是怎么了啊?郁闷死我了!!!(转)
查看>>
Red Hat9.0与Win XP双系统安装指南[图](转)
查看>>
基于Linux的传真系统(转)
查看>>
UNIX操作系统正确的五种关机方法(转)
查看>>
LINUX和WINDOWS之间的磁盘共享(转)
查看>>
Web站点崩溃的原因总结(转)
查看>>
单一产品不会成功 开源软件开始商业应用(转)
查看>>
RedHat上SSH2的安装和使用(转)
查看>>
Free BSD,Linux之比较(转)
查看>>
Linux系统可卸载内核模块完全指南(中)(转)
查看>>
构建安全Linux系统十二守则(转)
查看>>
安全使用RedHat Linux系统(转)
查看>>
Linux 对Koffice的测试(转)
查看>>
Yum可以让你随时拥有最新的Fedora(转)
查看>>
MPlayer安装和使用指南(转)
查看>>
安装MySQL(UNIX)(转)
查看>>
UNIX系统操作命令(转)
查看>>
RedHat Linux 9软件RAID配置(转)
查看>>