k8s创建mysql数据库并使用nfs服务保存数据库文件

       在k8s环境下安装mysql数据库成了越来越多人的选择。但也存在容器重新创建时原数据文件丢失的问题,作为分布式开发王者的k8s当然不会这么轻易认输,这不外挂数据库文件的功能来了。今天我们来聊聊k8s下mysql数据库文件外挂到nfs服务器的实现方式。
1.安装nfs服务
       本节略过,请读者了解相关内容。需要说明的是笔者只有一台机器,因此只安装了服务端,映射的文件地址为/nfs。/etc/exports的配置文件如下图:
k8s创建mysql数据库并使用nfs服务保存数据库文件_第1张图片

2.安装数据库,并数据库文件持久化保存在nfs服务中
       由两个文件组成,分别为mysql-rc.yaml和mysql-svc.yaml。其中mysql-rc.yaml用来创建pod,mysql-svc.yaml创建service给外部调用访问。mysql-rc.yaml内容如下:
k8s创建mysql数据库并使用nfs服务保存数据库文件_第2张图片       mysql-svc.yaml内容如下:
k8s创建mysql数据库并使用nfs服务保存数据库文件_第3张图片
       分别启动这两个yaml文件
k8s创建mysql数据库并使用nfs服务保存数据库文件_第4张图片       通过navicat访问数据库,并创建eims数据库,如下图:
k8s创建mysql数据库并使用nfs服务保存数据库文件_第5张图片3.测试
       删除容器 ,如下图所示:
k8s创建mysql数据库并使用nfs服务保存数据库文件_第6张图片       再次通过Navicat访问数据库,发现不能连接,如下图:
k8s创建mysql数据库并使用nfs服务保存数据库文件_第7张图片       再次启动两个yaml文件,如下图
k8s创建mysql数据库并使用nfs服务保存数据库文件_第8张图片       再次通过Navicat连接数据库,发现是可以连接上的,并且所创建的eims数据库也存在。如下图:
k8s创建mysql数据库并使用nfs服务保存数据库文件_第9张图片       OK,证明使用nfs服务保存k8s内的mysql数据库文件是行得通的

你可能感兴趣的:(k8s)