K8s 如何部署 MySQL 8.0.20 主从复制结构
是一个开源的、可扩展的存储平台,它提供了一种简单的方式来创建和管理持久化存储卷。它支持各种存储后端,包括但不限于。具有高度的可扩展性和可配置性,可以满足不同的存储需求。可以正常查到主节点创建的数据库。下面主从复制时会用到。首先在主节点创建数据库。可以正常看到创建的表。
目录
一、K8s 部署 MySQL
安装规划
组件 | replicas | 类型 |
---|---|---|
mysql-master | 1 | StatefulSet |
mysql-slave | 1 | StatefulSet |
使用 k8s
版本为:v1.18.0
。
本次使用 OpenEBS
来作为存储引擎,OpenEBS
是一个开源的、可扩展的存储平台,它提供了一种简单的方式来创建和管理持久化存储卷。它支持各种存储后端,包括但不限于 ZFS
、Btrfs
、XFS
等。同时,OpenEBS
具有高度的可扩展性和可配置性,可以满足不同的存储需求。
安装 OpenEBS
:
1 |
|
验证OpenEBS
是否正确安装:
1 |
|
所有的 OpenEBS pods
都处于Running
状态表示正常。
1. 创建命名空间
1 |
|
1 2 3 4 5 6 |
|
1 |
|
2. 创建一个默认的存储卷:
1 |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
|
1 |
|
3. 部署 MySQL 主节点:
1 |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 |
|
1 |
|
查看 pod
:
1 |
|
4. 部署 MySQL 从节点:
1 |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 |
|
1 |
|
查看 pod :
1 |
|
二、主从配置
主节点配置
可以在外面使用 MySQL
客户端连接 mysql-master
,注意换成你的 k8s nodel ip
:
1 |
|
查看当前 master
状态:
1 |
|
注意这里查询出来的 File
和 Position
下面主从复制时会用到。
为从节点创建一个同步用户:
1 2 3 |
|
从节点配置
在外面使用 MySQL
客户端连接 mysql-master
,注意换成你的 k8s nodel ip
:
1 |
|
同步指向主节点:
1 |
|
注意这里的 MASTER_HOST
指向的是主节点的 Service
:
启动同步进程:
1 |
|
查看同步状态:
1 |
|
看到 Slave_IO_Running
和 Slave_SQL_Running
都为 Yes
则表示启动成功。
三、主从测试
首先在主节点创建数据库 testdb
:
1 |
|
然后在从节点查看数据库:
1 |
|
可以正常查到主节点创建的数据库。
然后在主节点创建测试表:
1 2 3 4 5 6 |
|
接着在从节点查看表:
1 2 |
|
可以正常看到创建的表。
然后在主节点写入一条测试数据:
1 |
|
然后到从节点查看表数据:
1 |
|
更多推荐
所有评论(0)