【发布时间】:2020-12-23 08:41:48
【问题描述】:
我们正在尝试通过克隆已经运行的 MySQL pod 的 PVC 来创建数据库就绪的 MySQL pod。
用例:我们有一个导入了数据库的暂存环境,并希望根据该数据库结构和数据创建动态环境。这种方法应该可以为我们节省大量的引导时间(下载和导入转储与克隆 PV)。但是,一旦我们让目标 MySQL pod 运行并附加了克隆的 PVC,我们就看不到其中有任何可用的数据库。 MySQL 正常启动,识别/var/lib/mysql/mysql 目录并跳过新的数据库设置,但是数据库不存在。
详情:
- MySQL 镜像:mysql:5.7
- 我们使用 InnoDb
- 我们在克隆之前缩减源 StatefulSet(期望源 MySQL 将所有内容保存到磁盘)
- PVC 安装为:
volumeMounts: - name: mysql-data mountPath: /var/lib/mysql
我们缺少什么?
【问题讨论】:
-
你没有提到,所以我必须问:你确定你的CSI驱动实现了克隆吗? kubernetes-csi.github.io/docs/drivers.html
-
@Matt 显然 EBS CSI 支持克隆,但新的 PVC 是空的。不知道为什么,但根据文档,VolumeSnapshot 具有我们正在寻找的功能
标签: mysql kubernetes persistence kubernetes-pvc