如何将特定目录路径的持久卷挂载到 Openshift 中的默认 MySQL 数据目录

How to mount persistent volume of specific directory path to default MySQL data dir in Openshift

根据 Openshift 文档 https://docs.openshift.com/enterprise/3.1/using_images/db_images/mysql.html,指出 MySQL 的默认数据目录设置为 /var/lib/mysql/data。如何将特定的持久卷路径挂载到 Openshift 中的 MySQL 数据目录路径?据我所知,在 docker 中有这个命令:

docker run -d -v myvol2:/var/lib/mysql/data mysql:latest

但是在 Openshift 中这个命令是否有等效项?

必须完成几项配置:

  1. 创建部署配置
  2. 创建 PersistenceVolume(参见 persistence volume
  3. 创建 PersistenceVolumeClaim
  4. 将卷和装载点添加到 DeploymentConfig(参见 adding volumes

创建新的 PersistenceVolumeClaim 并将挂载点添加到 DeploymentConfig 可以通过一个命令完成:

oc set volume dc mysql --add --name=mysql-volume -t pvc --claim-name=mysql-pvc --claim-size=1Gi --claim-mode='ReadWriteMany' --mount-path=/var/lib/mysql/data

应通过 oc apply 添加持久卷,例如NFS PV:

apiVersion: v1
kind: PersistentVolume
metadata:
  name: pv0001
spec:
  capacity:
    storage: 1Gi
  accessModes:
  - ReadWriteMany
  nfs:
    path: /tmp
    server: 172.17.0.2