Helm安装MySQL主从版
本文介绍了如何使用Helm在Kubernetes中安装MySQL主从复制架构,包括配置values.yaml文件、设置主从库参数、存储和网络配置,以及安装和验证步骤。
前提条件
- 已安装Helm
- 已创建StorageClass
注意事项
- 安全性:请务必修改默认密码,使用强密码策略
- 存储:确保指定的StorageClass可用且有足够的存储空间
- 版本:可以根据需要调整MySQL镜像版本
- 网络:NodePort方式暴露服务仅适用于测试环境,生产环境建议使用LoadBalancer或Ingress
- 主从复制:确保正确配置了主从复制用户和密码,以便主从库之间能正常同步数据
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