K8S部署MySQL主从环境

1.创建mysql主从环境的命名空间

[root@k8s-master1 mysql]# kubectl create ns mysql
namespace/mysql created

2.创建master的pvc

[root@k8s-master1 mysql]# cat mysql-master-pvc.yaml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:name: mysql-pvcnamespace: mysqlannotations:volume.beta.kubernetes.io/storage-class: "nfs-client"
spec:resources:requests:storage: 5GivolumeMode: FilesystemaccessModes:- ReadWriteOnce
[root@k8s-master1 mysql]# kubectl apply -f mysql-master-pvc.yaml
persistentvolumeclaim/mysql-pvc created

3.创建mysql-master的headliness

[root@k8s-master1 mysql]# cat mysql-master-headliness.yaml
kind: Service
apiVersion: v1
metadata:name: mysql-master-hsnamespace:  mysqllabels:app: mysql-master-ss
spec:selector:app: mysql-master-ssclusterIP: Noneports:- port: 3306targetPort: 3306
[root@k8s-master1 mysql]# kubectl apply -f mysql-master-headliness.yaml
service/mysql-master-hs created

4.创建mysql-master-service对外访问

[root@k8s-master1 mysql]# cat mysql-master-service.yaml
apiVersion: v1
kind: Service
metadata:name: mysql-master-servicenamespace: mysql
spec:type: NodePortselector:app: mysql-master-ssports:- port: 3306targetPort: 3306nodePort: 42222
[root@k8s-master1 mysql]# kubectl apply -f mysql-master-service.yaml
service/mysql-master-service created

5.创建mysql-master部署文件

[root@k8s-master1 mysql]# cat mysql-master-StatefulSet.yaml
apiVersion: apps/v1
kind: StatefulSet
metadata:name: mysql-master-ssnamespace: mysqllabels:app: mysql-master-ss
spec:replicas: 1selector:matchLabels:app: mysql-master-ssserviceName: mysql-master-hstemplate:metadata:labels:app: mysql-master-ssspec:containers:- name: mysqlimage: mysql:5.7.35ports:- containerPort: 3306env:- name: MYSQL_ROOT_PASSWORDvalue: "mysql123"- name: MYSQL_REPLICATION_USERvalue: "repl"- name: MYSQL_REPLICATION_PASSWORDvalue: "repl123"volumeMounts:- name: mysql-datamountPath: /var/lib/mysqlargs:- --log-bin=mysql-bin- --binlog-ignore-db=mysql- --server-id=1001- --symbolic-links=0- --sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTIONvolumeClaimTemplates:- metadata:name: mysql-dataspec:accessModes: ["ReadWriteOnce"]storageClassName: nfs-clientresources:requests:storage: 5Gi
[root@k8s-master1 mysql]# kubectl apply -f mysql-master-StatefulSet.yaml
statefulset.apps/mysql-master-ss created

6.检查服务启动情况

[root@k8s-master1 mysql]# kubectl get all -n mysql
NAME                    READY   STATUS    RESTARTS   AGE
pod/mysql-master-ss-0   1/1     Running   0          48sNAME                           TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)          AGE
service/mysql-master-hs        ClusterIP   None            <none>        3306/TCP         6m22s
service/mysql-master-service   NodePort    10.255.42.172   <none>        3306:42222/TCP   2m43sNAME                               READY   AGE
statefulset.apps/mysql-master-ss   1/1     48s

7.创建mysql-slave的pvc

[root@k8s-master1 mysql]# cat mysql-slave-pvc.yaml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:name: mysql-slave-pvcnamespace: mysqlannotations:volume.beta.kubernetes.io/storage-class: "nfs-client"
spec:resources:requests:storage: 5GivolumeMode: FilesystemaccessModes:- ReadWriteOnce
[root@k8s-master1 mysql]# kubectl apply -f mysql-slave-pvc.yaml
persistentvolumeclaim/mysql-slave-pvc created

8.建mysql-slave的headliness和service用来对外访问(slave节点可以不创建service)

[root@k8s-master1 mysql]# cat mysql-slave-headliness.yaml
kind: Service
apiVersion: v1
metadata:name: mysql-slave-headlinessnamespace:  mysqllabels:app: mysql-slave-ss
spec:selector:app: mysql-slave-ssclusterIP: Noneports:- port: 3306targetPort: 3306
[root@k8s-master1 mysql]# kubectl apply -f mysql-slave-headliness.yaml
service/mysql-slave-headliness created[root@k8s-master1 mysql]# cat mysql-slave-service.yaml
apiVersion: v1
kind: Service
metadata:name: mysql-slave-servicenamespace: mysql
spec:type: NodePortselector:app: mysql-slave-ssports:- port: 3306targetPort: 3306nodePort: 42223
[root@k8s-master1 mysql]# kubectl apply -f mysql-slave-service.yaml
service/mysql-slave-service created

9.创建mysql-slave部署文件(mysql-serverid不能一样一定要区分开)

[root@k8s-master1 mysql]# cat mysql-slave-StatefulSet.yaml
apiVersion: apps/v1
kind: StatefulSet
metadata:name: mysql-slave-ssnamespace: mysqllabels:app: mysql-slave-ss
spec:replicas: 1selector:matchLabels:app: mysql-slave-ssserviceName: mysql-slave-headlinesstemplate:metadata:labels:app: mysql-slave-ssspec:containers:- name: mysqlimage: mysql:5.7.35ports:- containerPort: 3306env:- name: MYSQL_ROOT_PASSWORDvalue: "mysql123"- name: MYSQL_REPLICATION_USERvalue: "repl"- name: MYSQL_REPLICATION_PASSWORDvalue: "repl123"volumeMounts:- name: mysql-datamountPath: /var/lib/mysqlargs:- --log-bin=mysql-bin- --binlog-ignore-db=mysql- --server-id=2002- --symbolic-links=0- --sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTIONvolumeClaimTemplates:- metadata:name: mysql-dataspec:accessModes: ["ReadWriteOnce"]storageClassName: nfs-clientresources:requests:storage: 5Gi

10.检查服务的启动情况

[root@k8s-master1 mysql]# kubectl get pods -n mysql -o wide
NAME                READY   STATUS    RESTARTS   AGE     IP              NODE          NOMINATED NODE   READINESS GATES
mysql-master-ss-0   1/1     Running   0          7m40s   10.10.135.211   k8s-master3   <none>           <none>
mysql-slave-ss-0    1/1     Running   0          23s     10.10.135.208   k8s-master3   <none>           <none>

11.配置主从同步

[root@k8s-master1 mysql]# kubectl exec -it mysql-master-ss-0 -n mysql bash
kubectl exec [POD] [COMMAND] is DEPRECATED and will be removed in a future version. Use kubectl exec [POD] -- [COMMAND] instead.
root@mysql-master-ss-0:/#
root@mysql-master-ss-0:/# mysql -u root -pmysql123
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.35-log MySQL Community Server (GPL)Copyright (c) 2000, 2021, Oracle and/or its affiliates.Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql>
创建slave库授权账号
mysql> GRANT REPLICATION SLAVE ON *.* to 'repl'@'%' IDENTIFIED  by 'repl123';
Query OK, 0 rows affected, 1 warning (0.01 sec)获取二进制日志mysql> show master status;
+------------------+----------+--------------+------------------+-------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+------------------+-------------------+
| mysql-bin.000003 |      437 |              | mysql            |                   |
+------------------+----------+--------------+------------------+-------------------+
1 row in set (0.00 sec)进入slave库启动同步功能 mysql> change master to master_host='mysql-master-hs.mysql',master_user='repl',master_password='repl123',master_log_file='mysql-bin.000003',master_log_pos=437 ;
Query OK, 0 rows affected, 2 warnings (0.03 sec)
开启同步
mysql> start slave;
Query OK, 0 rows affected (0.00 sec)
检查同步状态
mysql> show slave status \G;

12。验证同步

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/692012.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

人工智能专业python论文毕设方向推荐

文章目录 0 前言1 如何选题1.1 选题技巧&#xff1a;如何避坑(重中之重)1.2 为什么这么说呢&#xff1f;1.3 难度把控1.4 题目名称1.5 最后 2 选题推荐2.1 &#x1f525;&#x1f525; 数据分析可视化选题推荐 &#x1f525;&#x1f525;2.2 &#x1f525;&#x1f525; 算法类…

网站管理新利器:免费在线生成 robots.txt 文件!

&#x1f916; 探索网站管理新利器&#xff1a;免费在线生成 robots.txt 文件&#xff01; 你是否曾为搜索引擎爬虫而烦恼&#xff1f;现在&#xff0c;我们推出全新的在线 robots.txt 文件生成工具&#xff0c;让你轻松管理网站爬虫访问权限&#xff0c;提升网站的可搜索性和…

代码随想录算法训练营——总结篇

不知不觉跟完了代码训练营为期两个月的训练&#xff0c;现在来做个总结吧~ 记得去年12月上旬的时候&#xff0c;我每天都非常浮躁。一方面&#xff0c;经历了三个多月的秋招&#xff0c;我的日常学习和实验室进展被完全打乱&#xff0c;导致状态很差&#xff1b;另一方面&#…

Redis(十四)双写一致性工程案例

文章目录 问题概述canal功能安装部署mysql配置canal服务端canal客户端&#xff08;Java程序&#xff09; 问题概述 canal https://github.com/alibaba/canal 功能 数据库镜像数据库实时备份索引构建和实时维护(拆分异构索引、倒排索引等)业务 cache 刷新带业务逻辑的增量数据…

OpenCV 4基础篇| 色彩空间类型转换

目录 1. 色彩空间基础2. 色彩空间类型2.1 GRAY 色彩空间2.2 BGR 色彩空间2.3 CMY(K) 色彩空间2.4 XYZ 色彩空间2.5 HSV 色彩空间2.6 HLS 色彩空间2.7 CIEL*a*b* 色彩空间2.8 CIEL*u*v* 色彩空间2.9 YCrCb 色彩空间 3. 类型转换函数3.1 cv2.cvtColor3.2 cv2.inRange 1. 色彩空间…

安达发|APS生产排程软件6大核心技术

APS生产排程软件是一种先进的生产计划和调度工具&#xff0c;它通过整合企业内外部资源&#xff0c;实现生产计划的优化和生产过程的自动化控制。APS生产排程软件的核心技术包括产品工艺数据管理&#xff08;PDM&#xff09;、客户需求管理&#xff08;CRM&#xff09;、高级计…

生成自己的rola模型简单版四步完成

工具准备&#xff1a;秋叶整合包&#xff0c;lora 训练器 秋叶整合包地址&#xff1a;https://pan.quark.cn/s/2c832199b09b#/list/share lora训练器地址&#xff1a;lora训练器_免费高速下载|百度网盘-分享无限制 (baidu.com) 第一章 图像预处理 根据自己需要准备一个图片…

软件工具安装遇到bug、报错不知道怎么解决?看这里!

前言 本文举例了几个常见的软件工具使用问题&#xff0c;文末会提供一些我自己整理和使用的工具资料 。 "在追逐零 Bug 的路上&#xff0c;我们不断学习、改进&#xff0c;更加坚定自己的技术信念。让我们相信&#xff0c;每一个 Bug 都是我们成长的机会。" 一、VM…

LeetCode 热题 100 | 二叉树(中下)

目录 1 基础知识 1.1 队列 queue 1.2 栈 stack 1.3 常用数据结构 1.4 排序 2 98. 验证二叉搜索树 3 230. 二叉搜索树中第 K 小的元素 4 199. 二叉树的右视图 菜鸟做题忘了第几周&#xff0c;躺平过了个年TT 1 基础知识 1.1 队列 queue queue<type> q…

点云配准SIFT+SI+RANSAC+ICP

SIFT、RANSAC和ICP都介绍够了,就不赘述了,简单说以下SI特征描述子。主要是分享一下代码。 1 Spin Image(SI)特征描述子简介 Spin Image(SI)是一种用于点云数据描述的特征描述子,广泛应用于三维点云配准、识别和重建等领域。它能够捕捉点云中的局部几何信息,具有旋转不…

docker搭建现成的靶场

Docker安装&#xff1a; apt-get install docker.ioUpload-labs——文件上传靶场搭建&#xff1a; ​ 因为Docker hub上存在镜像源&#xff0c;所以&#xff0c;索性直接拉取过来&#xff0c; docker pull c0ny1/upload-labs​ 等到下载完成之后&#xff0c;就可以创建容器&…

个人建站前端篇(五)插件unplugin-vue-components的使用

unplugin-vue-components 是由 Vue官方人员开发的一款自动引入插件&#xff0c;可以省去比如 UI 库的大量 import 语句。 unplugin-vue-components 插件可以在Vue文件中自动引入组件&#xff08;包括项目自身的组件和各种组件库中的组件&#xff09;使用此插件后&#xff0c;不…

新鼠标的长宽高

今天的鼠标终于开始追求轻量化了&#xff0c;博主手比较小&#xff0c;一直追求最小最轻的鼠标&#xff0c;本表格收集主流鼠标的长宽高&#xff0c;如果不全可以楼主加上&#xff1a; 名称 长 宽 高 重量 雷蛇炼狱蝰蛇 迷你版 118 53 38 61 雷蛇炼狱蝰蛇 V2 迷你版…

【办公类-16-07-04】合并版“2023下学期 中班户外游戏(有场地和无场地版,一周一次)”(python 排班表系列)

背景需求&#xff1a; 把 无场地版&#xff08;贴周计划用&#xff09; 和 有场地版&#xff08;贴教室墙壁上用&#xff09; 组合在一起&#xff0c;一个代码生成两套。 【办公类-16-07-02】“2023下学期 周计划-户外游戏 每班1周五天相同场地&#xff0c;6周一次循环”&…

论文阅读——ONE-PEACE

ONE-PEACE: EXPLORING ONE GENERAL REPRESENTATION MODEL TOWARD UNLIMITED MODALITIES 适应不同模态并且支持多模态交互。 预训练任务不仅能提取单模态信息&#xff0c;还能模态间对齐。 预训练任务通用且直接&#xff0c;使得他们可以应用到不同模态。 各个模态独立编码&am…

Maxwell安装部署

1 Maxwell输出格式 database&#xff1a;变更数据所属的数据库table&#xff1a;变更数据所属的表type&#xff1a;数据变更类型ts&#xff1a;数据变更发生的时间xid&#xff1a;事务idcommit&#xff1a;事务提交标志&#xff0c;可用于重新组装事务data&#xff1a;对于inse…

无人机数据链技术,无人机数据链路系统技术详解,无人机数传技术

早期的无人机更多的为军事应用服务&#xff0c;如军事任务侦查等&#xff0c;随着技术和社会的发展&#xff0c;工业级无人机和民用无人机得到快速的发展&#xff0c;工业级无人机用于农业植保、地理测绘、电力巡检、救灾援助等&#xff1b;民用无人机用于航拍、物流等等领域。…

【WPF】获取父控件数据

MaxHeight"{Binding PathActualHeight, RelativeSource{RelativeSource ModeFindAncestor, AncestorTypeUserControl}}" 参考文献 https://www.cnblogs.com/-Timosthetic/p/16021865.html

美国Mercari煤炉注册教程,还不快来Get!

想要掘金全球电商市场&#xff0c;美国的Mercari平台绝对值得关注。Mercari&#xff0c;也被称作煤炉&#xff0c;类似于我们国内的闲鱼二手交易平台&#xff0c;它同时拥有美国和日本两个市场。其中&#xff0c;美国市场的消费需求稳定且持续增长&#xff0c;成为了许多跨境电…

医卫医学试题及答案,分享几个实用搜题和学习工具 #笔记#笔记#微信

收录了大量考试类型的题库&#xff0c;大到考公&#xff0c;小到知识竞赛&#xff0c;题库资源算是比较丰富的了。操作起来也不难&#xff0c;我们只需输入题目内容&#xff0c;即可快速搜索出答案&#xff0c;而且它在给出答案的同时还会附带解析。最重要的是&#xff0c;搜题…