Kubernetes volume数据卷
发表于:2025-01-23 作者:千家信息网编辑
千家信息网最后更新 2025年01月23日,Volume是kubernetes Pod中多个容器访问的共享目录Kubernetes提供了众多的volume类型,包括:emptyDir、hostPath、NFS、GlusterFS、configM
千家信息网最后更新 2025年01月23日Kubernetes volume数据卷
Volume是kubernetes Pod中多个容器访问的共享目录
Kubernetes提供了众多的volume类型,包括:emptyDir、hostPath、NFS、GlusterFS、configMap、Cephfs
1、emptyDir
emptyDir类型的vloume在Pod分配到node上时被创建,kubernetes会在node上自动分配一个目录,所以无须指定宿主机node上对应的目录文件,该目录初始化内容为空,当Pod从node上被移除时,emptyDir中的数据会被永久删除
1.编辑emptyDir.yaml
文件
apiVersion: extensions/v1beta1kind: Deploymentmetadata: name: web-demo-emptyspec: replicas: 2 selector: matchLabels: app: app-demo-empty template: metadata: labels: app: app-demo-empty spec: containers: - name: tomcat-demo image: tomcat imagePullPolicy: IfNotPresent ports: - containerPort: 8080 volumeMounts: # 将/mydata-data目录挂载到共享仓库 - mountPath: /mydata-data name: datavol - name: nginx-demo image: nginx imagePullPolicy: IfNotPresent ports: - containerPort: 80 volumeMounts: # 将/mydata-data目录挂载到共享仓库 - mountPath: /mydata-data name: datavol # emptyDir是一个共享仓库(中央仓库) volumes: - name: datavol emptyDir: {}
2.执行kubectl create
$ kubectl create -f emptyDir.yamldeployment.extensions/web-demo-empty created
3.先进入tomcat-demo
容器中创建文件
$ kubectl exec -it web-demo-empty-9b5644c45-7bpn5 -c tomcat-demo bash$ touch /mydata-data/data.txt$ ls /mydata-data/data.txt
4.在进入nginx-demo
容器查看是否存在data.txt
文件
$ kubectl exec -it web-demo-empty-9b5644c45-7bpn5 -c nginx-demo bash$ ls /mydata-data/data.txt
经过试验证明emptyDir是一个共享空目录,可以让Pod中的多个容器之间共享该目录
2、hostPath
hostPath类型的vloume为Pod挂载到宿主机上的目录或文件,使得容器可以使用宿主机的文件系统进行存储,但是在kubernetes中,Pod都是基于schedule
组件来动态调度在不同的node节点上,当一个Pod在当前node节点上启动并通过hostPath
存储了文件到本地后,下次在调度另外一个节点上启动时,就无法使用之前节点上存储的文件了。
1.编辑hostPath.yaml
文件
apiVersion: extensions/v1beta1kind: Deploymentmetadata: name: web-demo-hostpathspec: replicas: 2 selector: matchLabels: app: app-demo-hostpath template: metadata: labels: app: app-demo-hostpath spec: containers: containers: - name: nginx-demo image: nginx imagePullPolicy: IfNotPresent ports: - containerPort: 80 volumeMounts: - mountPath: /mydata-data name: datavol volumes: - name: datavol hostPath: path: "/data"
2.执行kubectl create
$ kubectl create -f hostPath.yamldeployment.extensions/web-demo-hostpath created
3.需要在每个node节点创建/data
目录,并创建测试文件
$ mkdir /data $ touch /data/test.txt
4.进入容器里查看是否将/mydata-data
挂载到了宿主机上
$ kubectl exec -it web-demo-hostpath-7866c644c4-7f8fk bash$ ls /mydata-data/test.txt
文件
目录
容器
节点
仓库
宿主
类型
存储
多个
宿主机
分配
调度
数据
不同
中央
之间
内容
动态
是在
空目录
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
基于组件的软件开发模型
易语言外部数据库怎么用
软件开发有学历要求吗
即时通信软件开发文档
学习计算机和网络技术哪个好
数据库怎么取消日期
梦幻西游怎么看服务器开了多少天
网络技术咨询是什么
电脑上的服务器管理器在哪里
银行数据库工程师江苏
查找数据库中已有的触发器
中山市正圣软件开发公司
我的世界服务器怎么添加手机版
网络安全小知识小游戏
网络安全服务需求书
删除dns服务器
腾讯云服务器可以上微信吗
红十字会网络安全事件
sql数据库测试
社区网络安全隐患检查
如何查看用友软件的数据库
方舟生存进化主播一般玩的服务器
服务器怎么查看昨晚几点掉电的
某软件开发企业为增值税
聊城市公安局网络安全支队
浙江个人软件开发供应
网络安全技术就业形势
移动网络安全大数据
以下哪些为关系型数据库
宝信服务器