5.3. 存储建议
下表总结了为给定的 OpenShift Container Platform 集群应用程序推荐的可配置存储技术。
存储类型 | RWO [1] | ROX [2] | RWX [3] | Registry | 扩展的 registry | 监控 | Logging | Apps |
---|---|---|---|---|---|---|---|---|
Block | 是 | 是 [4] | 否 | 可配置 | 无法配置 | 推荐的 | 推荐的 | 推荐的 |
File | 是 | 是 [4] | 是 | 可配置 | 可配置 | Configurable [5] | Configurable [6] | 推荐的 |
对象 | 是 | 是 | 是 | 推荐的 | 推荐的 | 无法配置 | 无法配置 | Not configurable [7] |
- ReadWriteOnce
- ReadOnlyMany
- ReadWriteMany
- 这不适用于物理磁盘、虚拟机物理磁盘、VMDK、NFS 回送、AWS EBS、Azure 磁盘和 Cinder(块后者)。
- 对于监控组件,使用 ReadWriteMany(RWX)访问模式的文件存储是不可靠的。如果使用文件存储,请不要在配置用于监控的持久性卷声明(PVC)上配置 RWX 访问模式。
- 要进行日志记录,使用任何共享存储都会是一个反 pattern。每个日志记录都需要一个卷。
- 对象存储不会通过 OpenShift Container Platform 的 PV 或 PVC 使用。应用程序必须与对象存储 REST API 集成。
扩展的 registry 是指一个 OpenShift Container Platform registry,它有三个或更多个 pod 运行副本。
5.3.1. 特定应用程序存储建议
测试显示,使用 RHEL NFS 服务器作为容器镜像 registry 的存储后端可能会出现问题。这包括 OpenShift Container Registry 和 Quay、Prometheus for metrics 存储,以及 ElasticSearch for logging 存储。因此,不建议使用 RHEL NFS 服务器来备份核心服务使用的 PV。
市场上的其他 NFS 实现可能没有这些问题。如需了解更多与此问题相关的信息,请联络相关的 NFS 厂商。
5.3.1.1. Registry
在一个非扩展的/高可用性 (HA) OpenShift Container Platform registry 集群部署中:
- 首选存储技术是对象存储,然后是块存储。存储技术不需要支持 RWX 访问模式。
- 存储技术必须保证读写一致性。所有 NAS 存储(包含聚合模式/独立模式 GlusterFS),不建议在带有生产环境工作负载的 OpenShift Container Platform Registry 集群部署中使用对象存储接口。
-
虽然
hostPath
卷对于一个非扩展的/HA OpenShift Container Platform Registry 是可配置的,但不推荐用于集群部署。
5.3.1.2. 扩展的 registry
在扩展的/HA OpenShift Container Platform registry 集群部署中:
- 首选存储技术是对象存储。存储技术必须支持 RWX 访问模式,且必须保证读写一致性。
- 对于应用于生产环境负载的扩展的/HA OpenShift Container Platform registry 集群部署,不建议使用文件存储和块存储。
- 所有 NAS 存储(包含聚合模式/独立模式 GlusterFS),不建议在带有生产环境工作负载的 OpenShift Container Platform Registry 集群部署中使用对象存储接口。
5.3.1.3. 监控
在 OpenShift Container Platform 托管监控集群部署中:
- 首选存储技术是块存储。
- 如果您决定配置文件存储,请确保它遵循 POSIX 标准。
测试显示使用 NFS 的显著不可恢复损坏,因此不建议使用。
市场上的其他 NFS 实现可能没有这些问题。如需了解更多与此问题相关的信息,请联络相关的 NFS 厂商。
5.3.1.4. 日志记录
在 OpenShift Container Platform 托管的日志集群部署中:
- 首选存储技术是块存储。
- 不建议使用 NAS 存储(包含聚合模式/独立模式 GlusterFS),因为它对带有生产环境负载的托管 metrics 集群部署使用 iSCSI 中的块存储接口。
测试显示,在 RHEL 中使用 NFS 服务器作为容器镜像 registry 的存储后端可能会出现问题。这包括用于日志存储的 ElasticSearch。因此,不推荐使用 NFS 作为 PV 后端用于核心服务。
市场上的其他 NFS 实现可能没有这些问题。如需了解更多与此问题相关的信息,请联络相关的 NFS 厂商。
5.3.1.5. 应用程序
应用程序的用例会根据不同应用程序而不同,如下例所示:
- 支持动态 PV 部署的存储技术的挂载时间延迟较低,且不与节点绑定来支持一个健康的集群。
- 应用程序开发人员需要了解应用程序对存储的要求,以及如何与所需的存储一起工作以确保应用程序扩展或者与存储层交互时不会出现问题。