第 14 章 在 OpenShift 的 Fuse 中使用持久性存储
OpenShift 应用的 Fuse 基于 OpenShift 容器,容器没有持久文件系统。每次启动应用程序时,它都会在带有不可变 Docker 格式的镜像的新容器中启动。因此,当容器停止时,文件系统中的任何持久数据都会丢失。但是,应用程序需要将某种状态存储为数据存储中的数据存储,有时应用程序共享对常见数据存储的访问。OpenShift 平台支持将外部存储置备为持久存储。
14.1. 关于卷和卷类型
OpenShift 允许 Pod 和容器 将卷 作为文件系统挂载,这些文件系统由多个本地或网络附加存储端点提供支持。
卷类型包括:
- emptyDir(空目录):这是默认卷类型。它是在本地主机上创建 pod 时分配的目录。它不会被复制到服务器中,删除该目录会被移除的 pod。
- ConfigMap:它是一个目录,其中包含来自名为 configmap 的键值对。
- hostPath(主机目录):它是任意主机上具有特定路径的目录,需要提升的特权。
- Secret(挂载 secret):Secret 卷将指定 secret 挂载到提供的目录中。
- PersistentVolumeClaim 或 pvc(持久性卷声明):这会将容器中的卷目录链接到已按名称分配的持久性卷声明。持久性卷声明是分配存储的请求。请注意,如果您的声明没有绑定,您的 pod 就不会启动。
卷是在 Pod 级别上配置的,只能使用 hostPath 直接访问外部存储。因此,更难以将多个 Pod 共享资源的访问作为 hostPath 卷进行管理。