云原生KubeSphere部署Mysql

一、简介

使用KubeShere部署应用架构图:

在这里插入图片描述

注意三点:

  1. 应用的部署方式
  2. 应用的数据挂载(数据、配置文件)
  3. 应用的可访问行性

二、部署MySql的分析以及准备

1、参考我们之前使用docker部署启动mysql的脚本如下

docker run -p 3306:3306 --name mysql-01 \
-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=root \
--restart=always \
-d mysql:5.7

2、准备好mysql的配置文件

[client]
default-character-set=utf8mb4
 
[mysql]
default-character-set=utf8mb4
 
[mysqld]
init_connect='SET collation_connection = utf8mb4_unicode_ci'
init_connect='SET NAMES utf8mb4'
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
skip-character-set-client-handshake
skip-name-resolve

3、mysql部署分析

云原生KubeSphere部署Mysql_第1张图片

/var/lib/mysql:这个路径是容器当中mysql存储数据文件的路径,我们使用pvc将其持久化

/etc/mysql/conf.d: 这是个目录,下面有一个my.cnf配置文件,我们使用configMap将其覆盖

MYSQL_ROOT_PASSWORD:这是个环境变量,设置默认的root账户密码


三、创建ConfigMap配置mysql的my.cnf文件

 1、进入配置中心->配置->创建

云原生KubeSphere部署Mysql_第2张图片

 2、开始配置ConfigMap

云原生KubeSphere部署Mysql_第3张图片

云原生KubeSphere部署Mysql_第4张图片 云原生KubeSphere部署Mysql_第5张图片

云原生KubeSphere部署Mysql_第6张图片

ok,这样我们mysql对应的ConfigMap就创建好了 


四、创建用来持久化mysql数据文件的pvc存储

1、进入存储管理->存储卷,点击创建

云原生KubeSphere部署Mysql_第7张图片

 2、开始创建存储卷

云原生KubeSphere部署Mysql_第8张图片

云原生KubeSphere部署Mysql_第9张图片 云原生KubeSphere部署Mysql_第10张图片

云原生KubeSphere部署Mysql_第11张图片

如上,创建成功! 

五、开始创建有状态的服务mysql

1、进入应用负载->工作负载->有状态副本集,点击创建

云原生KubeSphere部署Mysql_第12张图片

2、开始创建mysql服务

云原生KubeSphere部署Mysql_第13张图片 点击下一步。

云原生KubeSphere部署Mysql_第14张图片
点击上面的添加容器镜像,选择镜像:选择DockerHub上的mysql:5.7的镜像。

 云原生KubeSphere部署Mysql_第15张图片

往下: 选择限制1核cpu 和 2000M 的内存以及端口的映射。 

云原生KubeSphere部署Mysql_第16张图片

往下:
勾选 环境变量 :MYSQL_ROOT_PASSWORD 密码:123456
勾选同步主机时区。

在这里插入图片描述

 点击√打钩并且点击下一步:

 云原生KubeSphere部署Mysql_第17张图片

 选择添加存储卷,因为我们的存储卷已经创建好了,就是那个mysql-pvc, 挂载目录:/var/lib/mysql 选择读写

云原生KubeSphere部署Mysql_第18张图片

云原生KubeSphere部署Mysql_第19张图片

 上面的是我们持久化mysql的数据文件的,下面我们再挂载配置文件:

云原生KubeSphere部署Mysql_第20张图片

点击挂载配置文件:

 云原生KubeSphere部署Mysql_第21张图片

云原生KubeSphere部署Mysql_第22张图片

 点击下一步:

云原生KubeSphere部署Mysql_第23张图片

点击创建:

 云原生KubeSphere部署Mysql_第24张图片

 可以点击进入查看:

云原生KubeSphere部署Mysql_第25张图片

可以发现已经创建成功 

云原生KubeSphere部署Mysql_第26张图片

这里也可以查看mysql的日志和进入终端查看信息 


六、通过内网访问创建好的mysql

1、首先通过终端进入mysql的内部,看一下我们的配置文件是否生效

云原生KubeSphere部署Mysql_第27张图片

云原生KubeSphere部署Mysql_第28张图片

由上可以发现,已经生效了 

2、我们可以到应用负载->服务,查看我们刚创建的mysql自动生成的service服务

云原生KubeSphere部署Mysql_第29张图片

 由上可以发现我们是无法外网访问的,只能内网容器间进行访问,因为类型是ClusterIP

云原生KubeSphere部署Mysql_第30张图片

可以发现在内网是可以连接上的 ,如果想要外网访问,我们需要配置service,当然一般在生产环境,内网访问就够了,因为在这个kubesphere上的容器间网络都是通的。

七、通过外网访问创建好的mysql 

1、在应用负载->服务中再创建一个的mysql服务的service

云原生KubeSphere部署Mysql_第31张图片

云原生KubeSphere部署Mysql_第32张图片

云原生KubeSphere部署Mysql_第33张图片 云原生KubeSphere部署Mysql_第34张图片

云原生KubeSphere部署Mysql_第35张图片

云原生KubeSphere部署Mysql_第36张图片 创建成功,对外映射的端口是30805

 2、下面通过外网的工具开始访问,

云原生KubeSphere部署Mysql_第37张图片

你可能感兴趣的:(kubernetes,k8s)