标签:mes 需要 file bec nfs-utils ocs 通过 nginx can
Volume由于pod销毁后,导致数据也会销毁,就得用到Volume
参考文档:https://kubernetes.io/docs/concepts/storage/volumes/
创建一个空卷,挂载到Pod中的容器。Pod删除该卷也会被删除。
应用场景:Pod中容器之间数据共享
通过-c 指定哪个容器
kubectl logs -c read my-pod
共享宿主机目录,pod分配在哪个node上,就是共享的node上的目录或者文件
由于共享的是tmp,这是目录,所以用Directory,若是共享1.txt,这个是文件,就是File
查看分配到了哪个node上:
在192.168.1.24的/tmp创建目录或者文件,因为是共享的tmp,在进入容器里验证,这里的共享可以删除修改
总结:以上都是本地的数据卷,若是pod删除了,k8s把你再拉起一个pod,在另外的node上,那就看不到了,需要使用网络的数据库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/
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,小规模的话还好,大规模的话就很麻烦,这个时候需要动态供给
插件文档: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下面的目录:
标签:mes 需要 file bec nfs-utils ocs 通过 nginx can
原文地址:http://blog.51cto.com/jacksoner/2333318