【云原生--K8S】 K8S部署Mysql数据库(五)--主备数据同步


前言

前几篇文章重点研究了mysql数据库的部署,留下了一个问题,在K8S中如何实现mysql数据库的主备部署,以及如何实现主备数据同步,这是数据库应用中的一个关键问题,今天我们就重点研究这个问题。


一、mysql数据库主备部署

根据前面几篇的研究,我们需要使用有状态部署的方式StatefulSet来部署mysql应用,需要使用PVC来持久化数据,需要使用ConfigMap来初始化数据。在此基础上,做mysql的主备部署还需要考虑my.cnf配置文件中server-id需要不同,做主备数据同步需要设置对端mysql的信息。参考第四篇所讲,我们可以使用ConfigMap来实现my.cnf的配置。要知道对端的信息,我们可以让主备mysql对外提供服务,即Service服务。

1.部署主用

主用mysql部署文件mysql-master.yaml:

apiVersion: v1
kind: ConfigMap
metadata:
  name: mysql-master-config
data:
  my.cnf: |
    [mysqld]
    log-bin=mysql-bin
    server-id=1
---
apiVersion: apps/v1                 
kind: StatefulSet                   
metadata:                          
  name: mysql-master-sts             
spec:                               
  selector:                        
    matchLabels:
      app: mysql-master-pod
  serviceName: "mysql-master"
  replicas: 1                      
  template:                        
    metadata:                       
      labels:                      
        app: mysql-master-pod             
    spec:                           
      containers:                  
      - name: mysql                 
        image: mysql:5.7            
        imagePullPolicy: IfNotPresent
        ports:                      
        - containerPort: 3306
        env:
        - name: MYSQL_ROOT_PASSWORD
          value: "root"
        volumeMounts:
        - name: mysql-persistent-storage
  
  • 16
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值