网站首页 > 技术文章 正文
以下是使用 Oracle MySQL Operator 部署 MySQL 集群的完整流程及关键注意事项:
一、部署前准备
- 安装 MySQL Operator通过 Helm 安装 Operator 到 Kubernetes 集群:
helm repo add mysql-operator https://mysql.github.io/mysql-operator/
helm install my-mysql-operator mysql-operator/mysql-operator \
--namespace mysql-operator --create-namespace
验证 Operator Pod 状态为 Running。
- 创建 Secret 存储密码生成包含 root 密码的 Secret:
kubectl create secret generic mysql-root-password \
--from-literal=password=<your-root-password>
二、定义 MySQL 集群配置 (mysql-cluster.yaml)
apiVersion: mysql.oracle.com/v2
kind: InnoDBCluster
metadata:
name: mysql-cluster
spec:
secretName: mysql-root-password # 引用步骤2的Secret
instances: 3 # 一主两从节点数量
tlsUseSelfSigned: true # 启用自签名TLS证书
router:
instances: 1 # MySQL Router实例数
volumeSpec:
persistentVolumeClaim:
storageClassName: standard # 需匹配K8s存储类
accessModes: [ "ReadWriteOnce" ]
resources:
requests:
storage: 10Gi # 每节点存储空间
三、部署集群
kubectl apply -f mysql-cluster.yaml
等待集群初始化完成(约 5-10 分钟),验证状态:
kubectl get innodbcluster mysql-cluster -w
# 输出 ONLINESTATUS: ONLINE 表示成功
四、集群访问与验证
连接方式
- 写操作:通过主节点 Service
mysql -h mysql-cluster-mysql-master -uroot -p
- 读操作:通过只读副本 Service
mysql -h mysql-cluster-mysql-replicas -uroot -p
高可用测试删除主节点 Pod 后,Operator 自动选举新主节点:
kubectl delete pod mysql-cluster-0 # 观察新主节点自动切换
五、关键注意事项
存储要求
- 必须使用支持 ReadWriteOnce 的持久化存储(如云盘/NFS)。
- 禁用 hostPath 避免节点故障数据丢失。
备份恢复支持定时备份到 S3 或 PVC:
spec:
backupSchedule: "0 0 * * *" # 每日备份
backupStorage:
s3:
bucketName: my-backup-bucket
版本限制
- 仅支持 MySQL 8.0+,不兼容旧版本。
- Kubernetes 版本需 ≥1.19。
六、故障排查
- 集群初始化失败:检查 Secret 命名一致性及密码复杂度。
- 节点无法加入集群:验证网络策略是否允许 Pod 间通信(端口 3306/33061)。
猜你喜欢
- 2024-10-15 oracle数据库的导入导出 oracle数据库数据导入
- 2024-10-15 oracle数据库delete删除操作可以恢复吗
- 2024-10-15 oracle数据库实例名变更流程 oracle数据库实例名修改
- 2024-10-15 工作必备!oracle常用命令总结 oracle19c常用命令
- 2024-10-15 Oracle管理日志文件 oracle系统日志在哪个文件夹
- 2024-10-15 Linux Oracle下sqlplus无法使用退格删除和历史记录解决小技巧
- 2024-10-15 Oracle管理日志文件详解 oracle日志文件怎么看
- 2024-10-15 当你不小心删了Oracle数据库控制文件时该怎么办?
- 2024-10-15 数据删除——ApachDoris 数据删除是什么意思
- 2024-10-15 「Oracle」 ORA-12705(字符集问题)
你 发表评论:
欢迎- 597℃几个Oracle空值处理函数 oracle处理null值的函数
- 591℃Oracle分析函数之Lag和Lead()使用
- 579℃0497-如何将Kerberos的CDH6.1从Oracle JDK 1.8迁移至OpenJDK 1.8
- 575℃Oracle数据库的单、多行函数 oracle执行多个sql语句
- 571℃Oracle 12c PDB迁移(一) oracle迁移到oceanbase
- 564℃【数据统计分析】详解Oracle分组函数之CUBE
- 550℃最佳实践 | 提效 47 倍,制造业生产 Oracle 迁移替换
- 545℃Oracle有哪些常见的函数? oracle中常用的函数
- 最近发表
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端缓存 (63)
- 前端aes加密 (58)
- 前端脚手架 (56)
- 前端md5加密 (54)
- 前端路由 (61)
- 前端数组 (73)
- 前端js面试题 (50)
- 前端定时器 (59)
- 前端懒加载 (49)
- 前端获取当前时间 (50)
- 前端接口 (50)
- Oracle RAC (76)
- oracle恢复 (77)
- oracle 删除表 (52)
- oracle 用户名 (80)
- oracle 工具 (55)
- oracle 内存 (55)
- oracle 导出表 (62)
- oracle 中文 (51)
- oracle的函数 (57)
- 前端调试 (52)
本文暂时没有评论,来添加一个吧(●'◡'●)