【发布时间】:2020-02-21 08:17:32
【问题描述】:
我正在尝试为我的拉取请求设置预览环境。每个环境都需要自己的预填充数据库。
我的种子数据库大约 15GB。
我有一个引导 MySQL 映像并将 /var/lib/mysql 内容复制到 PVC 卷的过程(我在 tarball 中也有这个)。
我需要找到一种方法来制作填充了这些数据的新 PVC。对我来说,我看到了一些选择:
- 为我的新部署克隆现有 PVC 并使用它
- 做一些备份/恢复过程,从旧的 PVC 中创建新的 PVC
- 制作新的 PVC 并使用 tarball 填充它
我正在努力让其中任何一个在 GKE 上运行。有没有人设法实现上述目标?我无法挂载到 sql 文件中,因为从它创建数据库所需的时间太长 - 我需要直接挂载到数据库文件中。
我花了一些时间试图让 CSI 驱动程序正常工作,但似乎找不到合理的操作指南。
【问题讨论】:
-
我个人会选择选项 1,它是最干净和最简单的。如果您的持久卷声明指向一个持久卷,即
GCEPersistentDisk,那么您可以使用gcloud compute disks snapshot和gcloud compute disks create克隆GCE 磁盘。克隆基本上取决于您在PV中挂载的内容,即 NFS、iSCSI、CephFS 等。你用的是什么PV? -
@yvesonline,是的,它是
GCEPersistentDisk,PV 没什么特别的,它是从 PVC 自动创建的 ``` apiVersion: v1 kind: PersistentVolumeClaim metadata: name: mysql-var-lib spec : accessModes: - ReadWriteOnce 资源:请求:存储:30Gi ``` -
那么我肯定会推荐:1) 对现有磁盘进行快照 2) 从快照创建新磁盘 3) 可选:临时挂载某处以进行您可能需要做的更改 4) 重写您的 PV 以使用新磁盘。简单;-)
标签: kubernetes google-kubernetes-engine kubernetes-pvc