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