KubeSphere安装mysql
一、部署前准备
(一)KubeSphere部署MySQL思路
1、应用的部署方式
2、应用的数据挂载(数据,配置文件)
3、应用的可访问性
MySQL部署分析
(二)部署方法参考
1、参考Docker Hub的中docker部署mysql的方法
部署方法按照Docker Hub官网部署mysql的步骤进行,官网地址:https://hub.docker.com/
docker部署mysql命令如下:
docker run -p 3306:3306--name mysql-5.7 \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql/conf.d \
-e MYSQL_ROOT_PASSWORD=ppp \
--restart=always \
-d mysql:5.7
二、KubeSphere部署mysql步骤
1、创建项目(NameSpace)
2、创建保密字典(Secret)
用于连接阿里云私有镜像仓库
3、点击工作负载,选择StatefulSet(有状态副本集)
因为mysql是开源服务所以最好是选择有状态副本集
3.1、填写创建的名称---> 选择项目(选择指定的项目方便管理)
3.2、添加容器
步骤一:选择上述创建的阿里云保密字典,填写容器仓库名称和版本号
步骤二:确认私有镜像链接是否正确(能搜索出镜像的详细信息说明配置正确)
步骤三:定义容器的名称(可根据自己的习惯自定义)
步骤四:填写容器资源限制(生产环境需要评估)
步骤五:配置端口用于访问容器内部
步骤六:填写环境变量
步骤七:同步主机时区
步骤八:添加持久卷声明模板(可以多个路径进行挂载)
步骤九:查看容器运行日志
步骤十:进入容器进行操作
4、创建服务(Service)让外部可以访问到mysql
4.1、创建Service
步骤一:基本信息栏:填写服务名称 --> 选择项目
步骤二:服务设置栏:选择指定工作负载 --> 选择有状态副本集
步骤三:服务设置栏:设置端口(设置容器端口和服务端口)
步骤四:高级设置栏:选择外部访问 --> 选择访问模式为NodePort;完成创建
4.2、集群内部通过生成的DNS和产生的虚拟IP进行访问
4.3、集群外部访问:可以通过任一集群节点的IP+副本集对外暴露的端口进行访问
5、外部环境连接数据库测试
步骤一:在Naviicat上填写mysql的连接信息
步骤二:在外部往数据库中插入数据
步骤三:检查数据是否插入成功
数据插入成功!!
三、数据存储和资源回收测试
在部署时选用的是nfs-client存储类,该存储类对应的NFS共享路径为:192.168.72.130:/opt/nfs/data/kubesphere,那么设想:mysql运行时产生的数据应该都存在这台服务器的这个路径下,那么容器删除后这个路径下的数据也应该被删除。
步骤一:增加容器副本观察数据存放的结构
结论:创建的每个容器数据都会产生一个对应的目录存放在共享路径下
步骤二、删除容器观察数据回收的情况
1、删除副本集
2、查看共享目录下的数据是否被回收
结论:创建的每个容器数据都会产生一个对应的目录存放在共享路径下,删除副本集后所有数据将本回收
参考KubeSpherev4.1版本资料:文档中心