6.持久化存储
pv: persistent volume 全局的资源 pv,node
pvc: persistent volume claim 局部的资源(namespace)pod,rc,svc
6.1:安装nfs服务端(192.168.111.11)
6.2:在node节点安装nfs客户端
6.3:创建pv和pvc
上传yaml配置文件,创建pv
创建pvc
6.4:创建mysql-rc,pod模板里使用volume
#vim mysql-rc.yml
前提要在/data目下创建一个目录/tomcat-mysql,根据上面的rc进行创建,要不然无法进行挂载;
6.5: 验证持久化
验证方法1:删除mysql的pod,数据库不丢
验证方法2:查看nfs服务端,是否有mysql的数据文件
6.6: 分布式存储glusterfs
主机名 | ip地址 | 环境 |
---|---|---|
glusterfs01 | 192.168.111.14 | centos7.6,内存512M,增加两块硬盘10G,host解析 |
glusterfs02 | 192.168.111.15 | centos7.6,内存512M,增加两块硬盘10G,host解析 |
glusterfs03 | 192.168.111.16 | centos7.6,内存512M,增加两块硬盘10G,host解析 |
- a: 什么是glusterfs
Glusterfs是一个开源分布式文件系统,具有强大的横向扩展能力,可支持数PB存储容量和数千客户端,通过网络互联成一个并行的网络文件系统。具有可扩展性、高性能、高可用性等特点。 - b: 安装glusterfs
将所有主机添加得两块盘进行挂载
fdisk -l可以看到/sdc和sdb两块盘
将两块盘格式化
blkid查看两块盘得uuid
将uuid信息添加配置文件/etc/fstab
进行磁盘挂载mount -a
- c: 添加存储资源池
查看添加gluster节点
- d: glusterfs卷管理
由于是复制卷,所以减少一般的空间,即20G
测试一下,是否真的会复制两份文件;随便在03上将etc下的文件复制到mnt路径下
在01的节点上查找文件,发现存在两个文件
将glusterfs03添加到glusterfs01的分布式复制卷中
在查看/gfs/test1目录不存在文件
在glusterfs01上重新调度一下即可
在查看glusterfs03上已经存在文件了
-
e: 分布式复制卷讲解
-
f: 分布式复制卷扩容
6.7 k8s 对接glusterfs存储
注意:1.所有节点都要做host解析 2.node节点需要安装gluster客户端
- a:创建endpoint
vi glusterfs-Endpoints.yaml
- b: 创建service
vi glusterfs-svc.yaml
查看状态,创建成功,并且已经关联
- c: 创建gluster类型pv,就是卷进行挂载
vi gluster_pv.yaml
- d: 创建pvc
vim gluster_pvc.yaml
匹配上的pv和pvc
- e:在pod中使用gluster
创建mysql-rc.yml
vim mysql-rc.yml
创建mysql_svc.yml
vim mysql-svc.yml
创建tomcat_svc.yml文件
vim tomcat-svc.yml
查看状态创建成功
浏览器访问正常http://192.168.111.13:30008/
查看glusterfs03数据库存储文件已经存在挂载目录/mnt
查看其他glusterfs02节点已经是存储了两份数据