4.5. 备份应用程序数据
在很多情况下,您可以使用 oc rsync
命令备份应用程序数据,假设容器镜像中安装 rsync
。Red Hat rhel7 基础镜像包含 rsync
.因此,所有基于 rhel7 的镜像也都包含它。请参阅 对 CLI 操作进行故障排除和调试 - rsync。
警告
这是应用程序数据的通用备份,不会考虑特定于应用程序的备份过程,如数据库系统的特殊导出和导入步骤。
其他备份方法可能取决于您使用的持久性卷类型,如 Cinder、NFS 或 Gluster。
备份的路径也是特定于应用程序的路径。您可以通过查看 deploymentconfig
中的卷的 mountPath
来确定要备份的路径。
注意
只有在应用程序 pod 运行时,才能执行这类应用程序数据备份。
流程
备份 Jenkins 部署的应用程序数据的示例
从
deploymentconfig
获取应用程序数据mountPath
:$ oc get dc/jenkins -o jsonpath='{ .spec.template.spec.containers[?(@.name=="jenkins")].volumeMounts[?(@.name=="jenkins-data")].mountPath }' /var/lib/jenkins
获取当前运行的 pod 的名称:
$ oc get pod --selector=deploymentconfig=jenkins -o jsonpath='{ .metadata.name }' jenkins-1-37nux
使用
oc rsync
命令复制应用程序数据:$ oc rsync jenkins-1-37nux:/var/lib/jenkins /tmp/jenkins-backup/