码迷,mamicode.com
首页 > 其他好文 > 详细

《四》Volume & PersistentVolume

时间:2018-12-21 12:56:33      阅读:225      评论:0      收藏:0      [点我收藏+]

标签:mes   需要   file   bec   nfs-utils   ocs   通过   nginx   can   

Volume

由于pod销毁后,导致数据也会销毁,就得用到Volume

参考文档:https://kubernetes.io/docs/concepts/storage/volumes/

emptyDir

创建一个空卷,挂载到Pod中的容器。Pod删除该卷也会被删除。
应用场景:Pod中容器之间数据共享

技术分享图片

通过-c 指定哪个容器
kubectl logs -c read my-pod

hostPath

共享宿主机目录,pod分配在哪个node上,就是共享的node上的目录或者文件

由于共享的是tmp,这是目录,所以用Directory,若是共享1.txt,这个是文件,就是File
技术分享图片

查看分配到了哪个node上:
技术分享图片

在192.168.1.24的/tmp创建目录或者文件,因为是共享的tmp,在进入容器里验证,这里的共享可以删除修改

总结:以上都是本地的数据卷,若是pod删除了,k8s把你再拉起一个pod,在另外的node上,那就看不到了,需要使用网络的数据库nfs

网络数据卷-nfs

node节点都要安装,因为你创建pod时k8s会帮你调到任意的node
服务端:192.168.1.25 安装 yum install nfs-utils -y
[root@docker ~]# cat /etc/exports
/data/nfs *(rw,no_root_squash)

启动:systemctl start
客户端:192,168.1.23 安装 yum install nfs-utils -y
客户端:192,168.1.24 安装 yum install nfs-utils -y

技术分享图片

技术分享图片

验证:
http://192.168.1.23:34293/
http://192.168.1.24:34293/

PersistentVolumes(持久卷) 和PersistentVolumeClaim(持久卷申请)

Pod 消费 Node 的资源,PVCs 消费 PV 的资源

先创建需求pvc:

技术分享图片

再创建好的资源pv:
必须要有/data/nfs/wwwroot 这个目录
技术分享图片

1、kubectl apply -f pvc.yaml
kubectl apply -f my-pv.yaml
2、查看绑定(如果pv有使用过,则需要重建):
技术分享图片

pvc必须根据容量和访问模式才能匹配pv

3、验证访问
http://nodeip:serviceport

总结:
Access Modes 访问模式:
ReadWriteOnce – the volume can be mounted as read-write by a single node (单node的读写)
ReadOnlyMany – the volume can be mounted read-only by many nodes (多node的只读)
ReadWriteMany – the volume can be mounted as read-write by many nodes (多node的读写)
Notice:单个PV挂载的时候只支持一种访问模式

pv:运维/存储人员提供
pvc:需求连接
由于上面是手动创建pv,pvc,小规模的话还好,大规模的话就很麻烦,这个时候需要动态供给

PersistentVolume 动态供给

插件文档:https://kubernetes.io/docs/concepts/storage/persistent-volumes/
参考文档:https://github.com/kubernetes-incubator/external-storage

因动态供给有些不支持,需要手动安装插件,比如nfs
技术分享图片

1、kubectl apply -f storageclass-nfs.yaml
2、kubectl apply -f deployment-nfs.yaml
3、kubectl apply -f rbac.yaml
4、kubectl apply -f nginx-demo.yaml

验证:
技术分享图片

自动帮你创建nfs下面的目录:
技术分享图片

《四》Volume & PersistentVolume

标签:mes   需要   file   bec   nfs-utils   ocs   通过   nginx   can   

原文地址:http://blog.51cto.com/jacksoner/2333318

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!