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