k8s第四节 存储storage Volume、StatefulSet Controller有状态控制器、configmap
一、k8s存储1.1 为什么需要存储
·
一、k8s存储
1.1 为什么需要存储
大类 | 卷类型 | 英文 | 解释 | 场景 | 官网 |
---|---|---|---|---|---|
本地 | 临时卷 | emptyDir | pod在数据在,临时数据共享; | 一个容器输出数据,一个容器读取数据 | 存储 卷 emptyDir storage/volumes/#emptyDir |
本地 | 临时卷 | hostPath | hostPath 卷,挂载node文件系统上的文件或者目录到Pod中的容器 | 容器要访问宿主机上的文件 | 存储 卷 hostpath storage/volumes/#hostpath |
网络 | 网络卷 | NFS | NFS网络卷 | 10台nginx共享代理网站或者图片,使用nfs 一台修改,就全部都修改了 | 存储 卷 hostpath storage/volumes/#nfs |
网络 | 网络卷 | pv、pvc | 对网络卷进行抽象;PVC 持久卷申领(PersistentVolumeClaim,PVC)表达的是用户对存储的请求。PV 持久卷(PersistentVolume,PV)是集群中的一块存储。 | 公司希望开发不能知道网络卷的具体ip和信息,这里k8s进行了抽象 | 持久 卷 persistent-volumes |
参考: 官网卷Volume
1.2 临时卷 temp
1.3 hostPath卷
kubectl exex -it my-pods -- sh
进入busybox容器。容器内创建一个文件 或者 宿主机上面创建文件,看两边是否都同时能看到,进行验证。如果把path变成/
,那容器里面可以把宿主机所有数据都获取到。
1.4 nfs网络卷
mount -t nfs 192.168.31.63:/ifs/kubernetes /mnt #指定nfs协议,挂载远程目录到本地/mnt目录
#卸载nfs挂载目录 /mnt
unmont /mnt/
二、持久卷 pvc、pv
pv vs pvc关系,1:1,类似中国一夫一妻制
2.1 pvc概念
pvc、pv模式,本质上和nfs没有差别,只是k8s抽象了一下。
让磁盘提供这和使用这进行人为分开,磁盘使用这,不用了解pv的内部细节。
pv也支持云磁盘如阿里云oss
简写 | 中文 | 全程 | 维护人员 |
---|---|---|---|
pv | 提供存储的 | PersistentVolume | 相当于管理磁盘的运维人员 |
pvc | 申请的存储的 | PersistentVolumeClaim | 相当开发要用磁盘 |
2.2 pvc、pv使用流程
2.3 pv声明周期
pv有静态pv,每一块需要自己创建;
pvc、pv匹配条件:1:存储空间 2:访问模式 匹配最近接近的PV容量 >=,匹配不了就pending.
因此产生了动态pv,只要在声明pvc时候,添加storageClassName这个存储类,会自动创建一个pv.
中文 | 命令 |
---|---|
获取pv,查看pv是否和pvc进行绑定 | kubectl get pv |
获取pvc | kubectl get pvc |
删除yaml 会自动删除 里面的多个资源 | kubectl delete -f xxxx.yaml |
获取k8s存储类 | kubectl get storageclasses 、 kubectl get sc |
2.4 pv动态供给 (动态卷供应) dynamic-provisioning
pvc每次要匹配一个pv,当需要的存储特别多的伤害,创建pv就是一个体力活了;
因此k8s产生了一个动态供给;
只要定义一个存储类,会自动 创建pv.
参考:storage-classe 内置制备器( 内置就不用自己按照存储类pod)
参考:storage/dynamic-provisioning/ 动态卷供应
二、StatefulSet 控制器
主从、主备、分布式,可以可以使用;大厂才会这么搞。
自己可以用一个单实例、或者测试环境的来测试。
三、Configmap
当数据不希望注入到容器里面,而是想在容器创建的时候动态获取,就可以使用configmap.
configmap:就是把配置信息在使用的时候,从k8s里面注入进去。
secret:只是对一些敏感信息进行加密,如:账号密码、https证书等。
名称 | 命令 |
---|---|
获取configmap存储 | kubectl get configmaps |
获取configmap加密存储形式secrets | kubectl get secrets |
更多推荐
已为社区贡献5条内容
所有评论(0)