如何将特定目录路径的持久卷挂载到 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 中这个命令是否有等效项?
必须完成几项配置:
- 创建部署配置
- 创建 PersistenceVolume(参见 persistence volume)
- 创建 PersistenceVolumeClaim
- 将卷和装载点添加到 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
根据 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 中这个命令是否有等效项?
必须完成几项配置:
- 创建部署配置
- 创建 PersistenceVolume(参见 persistence volume)
- 创建 PersistenceVolumeClaim
- 将卷和装载点添加到 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