k8s数据持久化PVPVC模板
简单的方式
在deployment是mout挂载的方式映射到物理机,然后使用name管理,例如容器的name和物理机的name相同,就可以进行挂载,类似于bindmount。有个缺点,受容器影响,当容器删除,数据也就没有了。
emptyDir方式持久化
在相同的pod中,所有容器使用同一个持久卷,生命周期和pod一致,不受容器的影响,把容器删掉数据也不会丢失。
apiVersion: v1
kind: Pod
metadata:name: busy111-busy222
spec:containers:- name: busy111image: busyboxvolumeMounts:- name: share-volumemountPath: /busy111_dir # 创建卷的目录args:- /bin/sh- -c - echo "that's busybox111" > /busy111_dir/busy111; sleep 30000000- name: busy222image: busyboxvolumeMounts:- name: share-volumemountPath: /busy111_dir # 同一个券args:- /bin/sh- -c- cat /busy111_dir/busy111; sleep 30000 # 看第一个容器创建的文件volumes:- name : share-volumeemptyDir: {} # 类型,在pod内共享
运行结果:
目录在这里
外部存储,创建PV
可以是Fsadfs
、NFS等
PV : 连接外部层出
PVC: 申请外部存储的空间
yum -y install nfs-utils.x86_64 rpcbind.x86_64 -y
mkdir -p /nfsdata/pv1
echo "/nfsdata *(rw,no_root_squash,sync)" > /etc/exports
# 设置’NFS共享- 创建PV.yaml
apiVersion: v1
kind: PersistentVolume #设置 PV
metadata:name: mypv1
spec:capacity: # 设置PV容量storage: 1GiaccessModes:- ReadWriteOnce #连接权限# 三种连接权限 1. ReadWriteOnce :单节点可读写 2.ReadOnlyMany 多节点只读 3. ReadWriteMany 多节点可读写persistentVolumeReclaimPolicy: Recycle #数据回收策略# 两种策略 1. Recycle 可回收循环使用 2. Retain 保留的,当删掉PV或者PVC数据会被保留。storageClassName: nfs-test #定义当前存储的名字nfs: # 用的什么协议,如果是fsdtdfs,就不能写nfspath: /nfsdata/pv1 #nfs的路径server: 192.168.42.122 # nfs服务器地址
创建成功,可以看到状态是 Available 可用,如果是 Bound 则说明是被绑定,不可用。
- 申请数据,创建PVC
apiVersion: v1
kind: PersistentVolumeClaim #创建PVC
metadata:name: mypvc1
spec:accessModes:- ReadWriteOnce # 权限resources: # 资源requests:storage: 1GistorageClassName: nfs-test #请求PV 资源,这里是PV的名字
可以看到已经pv与pvc已经绑定
- 创建Pod使用pvc name进行挂载
apiVersion: v1
kind: Pod
metadata:name: mypod1
spec:containers:- name: mypod1image: busyboxargs:- /bin/sh- -c- sleep 3000000volumeMounts: # 挂载- name: mydatamountPath: /mydatavolumes:- name: mydatapersistentVolumeClaim:claimName: mypvc1 # pvc的name
删除的顺序
删除 pod > pvc > pv
删除pvc之前数据都在
k8s数据持久化PVPVC模板相关推荐
- k8s 安装nfs_K8s--06 K8s数据持久化
K8s数据持久化 数据持久化 Volume介绍 Volume介绍:Volume是Pad中能够被多个容器访问的共享目录Kubernetes中的Volume不Pad生命周期相同,但不容器的生命周期丌相关K ...
- 【Kubernetes 企业项目实战】05、基于云原生分布式存储 Ceph 实现 K8s 数据持久化(下)
目录 一.K8s 对接 ceph rbd 实现数据持久化 1.1 k8s 安装 ceph 1.2 创建 pod 挂载 ceph rbd 二.基于 ceph rbd 生成 pv 2.1 创建 ceph- ...
- k8s数据持久化之statefulset的数据持久化,并自动创建PV与PVC
StatefulSet是为了解决有状态服务的问题,对应的Deployment和ReplicaSet是为了无状态服务而设计,其应用场景包括: 稳定的持久化存储,即Pod重新调度后还是能访问到相同的持久化 ...
- 安装kube-prometheus项目:k8s部署prometheus、监控k8s核心组件、添加告警(微信、钉钉、企业微信)、进行数据持久化
概述 很多地方提到Prometheus Operator是kubernetes集群监控的终极解决方案,但是目前Prometheus Operator已经不包含完整功能,完整的解决方案已经变为kube- ...
- @kubernetes(k8s)数据持久化Volume存储卷(emptyDir、hostPath、NFS、StorageClass)
文章目录 kubernetes(k8s)数据持久化Volume 一.数据持久化 1.Vlolume概述 2.数据卷的分类 3.常用的四种数据卷 4.Pod使用Volume步骤: 5. volume基本 ...
- Linux——K8s存储(数据持久化)
K8s存储 1.K8s存储主要分为? 临时存储.半持久化存储.持久化存储 2.emptyDir 一般来说emptydir的用途都是用来充当临时存储空间,例如一些不需要数据持久化的微服务,我们都可以用e ...
- k8s mysql数据同步_K8s——MySQL实现数据持久化
1.搭建nfs存储 [root@docker-k8s01 ~]# yum -y install nfs-utils [root@docker-k8s01 ~]# mkdir /nfsdata/mysq ...
- k8s docker mysql_K8s——MySQL实现数据持久化
1.搭建nfs存储 [root@docker-k8s01 ~]# yum -y install nfs-utils [root@docker-k8s01 ~]# mkdir /nfsdata/mysq ...
- Kubernetes K8S之存储PV-PVC详解
K8S之存储PV-PVC概述与说明,并详解常用PV-PVC示例 概述 与管理计算实例相比,管理存储是一个明显的问题.PersistentVolume子系统为用户和管理员提供了一个API,该API从如何 ...
最新文章
- boost::hana::has_common用法的测试程序
- 等待CreateProcess进程退出
- python报错ordinal not in range(128)
- sqlserver学习3---sql函数
- 阿里云Aliplayer高级功能介绍(一):视频截图
- 北航院系和数字的对应关系
- anaconda的虚拟环境中查看已经安装好的包
- 如何在 Mac 中对文档进行签名?
- 进销存源码|ERP多仓库管理系统全开源php源码
- sim868 建立tcp链接时的步骤所对应hex码
- 【程序人生】为什么开通博客?
- 网站在多IE版本兼容性测试工具IETester的使用方法
- ck6.8整合php,CKplayer-超酷网页视频播放器
- The exception was not handled due to missing onError handler in the subscribe() method call
- 消息队列之kafka在虚拟机安装使用与整合springboot详解教程
- 分别用Java应用程序和Applet程序实现星星三角形图案的绘制
- 2021年施工员-装饰方向-岗位技能(施工员)考试报名及施工员-装饰方向-岗位技能(施工员)找解析
- redis做浏览历史数据
- 【Spring】普通类获取Spring容器的bean的方法
- 自然科学类计算机,自然科学基金委员会