J.V.'s Blog

Helm安装MySQL主从版

本文介绍了如何使用Helm在Kubernetes中安装MySQL主从复制架构,包括配置values.yaml文件、设置主从库参数、存储和网络配置,以及安装和验证步骤。

前提条件

注意事项

  1. 安全性:请务必修改默认密码,使用强密码策略
  2. 存储:确保指定的StorageClass可用且有足够的存储空间
  3. 版本:可以根据需要调整MySQL镜像版本
  4. 网络:NodePort方式暴露服务仅适用于测试环境,生产环境建议使用LoadBalancer或Ingress
  5. 主从复制:确保正确配置了主从复制用户和密码,以便主从库之间能正常同步数据

Helm安装MySQL主从版

创建values.yaml配置文件

# 创建配置文件
vim values.yaml
architecture: "replication"

auth:
  rootPassword: "root" # 修改为复杂密码
  database: "test" # 修改数据库名
  username: "test" # 修改账号
  password: "test" # 修改为复杂密码
  replicationUser: "replicator"
  replicationPassword: "replicationPasswordChangeMe" # 修改为复杂密码 

primary:
  extraEnvVars:
   - name: TZ
     value: "Asia/Shanghai"
  service:
    type: NodePort
    nodePorts:
      mysql: 30306
  persistence:
    enabled: true
    storageClass: "nfs-csi" # 指定存储类
    size: 10Gi
    accessModes:
    - "ReadWriteMany"

secondary:
  name: slave
  extraEnvVars:
   - name: TZ
     value: "Asia/Shanghai"
  service:
    type: NodePort
    nodePorts:
      mysql: 30307  # 从库使用跟主库不同的端口,如果有多个从库,service会自动负载均衡
  replicaCount: 1  # 1个从库
  persistence:
    enabled: true
    storageClass: "nfs-csi"  # 可以使用相同的 StorageClass
    size: 10Gi
    accessModes:
    - "ReadWriteMany"

安装chart

# 安装MySQL主从复制
helm install mysql-replication bitnami/mysql -f values.yaml

查询chart

# 查看已安装的charts
helm list

卸载MySQL主从库

# 卸载chart
helm uninstall mysql-replication

#k8s #开发 #数据库