第 2 章 挂载外部文件以提供配置数据
您可以使用 extraMounts 参数在 OpenShift (RHOSO)部署中挂载外部文件以进行配置或身份验证数据。使用此参数将 Red Hat Ceph Storage 配置文件分发给服务,访问用于临时存储的外部 NFS 共享,或者在持久文件系统上运行存储后端驱动程序。
示例情境包括:
- 将 Red Hat Ceph Storage 集群配置和密钥环文件分发到 Block Storage (cinder)、Image (glance)和 Compute (nova)服务
- 在消耗节点磁盘空间时访问外部 NFS 共享以进行临时镜像存储
- 配置存储后端驱动程序以在持久文件系统上运行,以在系统重启后保留数据
extraMounts 参数可在以下级别上定义:
-
Service - 一个 Red Hat OpenStack Services on OpenShift (RHOSO)服务,如
Glance、Cinder或Manila。 -
组件 - 服务的组件,如
GlanceAPI、CinderAPI、CinderScheduler、ManilaShare、CinderBackup。 -
实例 - 特定组件的单个实例。例如,您的部署可能有两个组件
ManilaShare实例,名为share1和share2。实例 级别传播代表与同一组件类型一部分的实例关联的 Pod。
propagation 字段用于描述如何应用定义。如果没有使用 propagation 字段,则定义会传播到定义它的级别下的每个级别:
- 服务 级别定义传播到 组件和 实例 级别。
- 组件 级别定义传播到 实例 级别。
以下是 extraMounts 定义的一般结构:
-
name是命名extraMounts定义的字符串。这用于机构目的,无法从清单的其他部分引用。这是一个可选属性。 -
region是定义extraMounts定义的 RHOSO 区域的字符串。这是一个可选属性。 -
propagation描述了如何应用定义。如果没有使用propagation字段,则定义会传播到定义它的级别下的每个级别。这是一个可选属性。 -
extraVolType是一个字符串,可帮助管理员对属于列表的extraVol条目的挂载组进行分类或标记。此参数没有定义值,但Ceph、Nfs和Undefined的值比较常见。这是一个可选属性。 -
volumes是定义 Red Hat OpenShift 卷源的列表。此字段的结构与 Pod 中的volumes部分相同。结构取决于定义的卷类型。本节中定义的名称用作挂载部分的参考。 -
mounts是代表在 Pod 中挂载volumeSource的路径的挂载点列表。volumes部分中卷的名称用作参考,以及应挂载它的路径。此属性的结构与 Pod 的volumeMounts属性相同。
2.1. 使用 extraMounts 属性挂载外部文件 复制链接链接已复制到粘贴板!
配置 OpenStackControlPlane 自定义资源(CR),以访问 OpenShift (RHOSO)部署的 Red Hat OpenStack Services 中的配置或身份验证目的的外部数据。
流程
-
在工作站上打开
OpenStackControlPlaneCR 文件openstack_control_plane.yaml。 将
extraMounts属性添加到OpenStackControlPlaneCR 服务定义中。以下示例演示了添加
extraMounts属性:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 添加
propagation字段,以指定服务定义中extraMount属性适用的位置。以下示例将
propagation字段添加到上例中:Copy to Clipboard Copied! Toggle word wrap Toggle overflow propagation字段可以有以下值之一:服务级别传播:
-
Glance -
Cinder -
Manila -
Horizon -
Neutron
-
组件级别传播:
-
CinderAPI -
CinderScheduler -
CinderVolume -
CinderBackup -
GlanceAPI -
ManilaAPI -
ManilaScheduler -
ManilaShare -
NeutronAPI
-
后端传播:
-
CinderVolume、ManilaShare或GlanceAPI映射中的任何后端。
-
定义卷源:
以下示例演示了如何将
volumes字段添加到上例中,以向镜像服务(glance)提供 Red Hat Ceph Storage secret:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 其中:
ceph- 是 Red Hat Ceph Storage secret 名称。
定义在 pod 中挂载不同卷的位置。
以下示例演示了在上例中添加
mount字段,以提供包含 Red Hat Ceph Storage secret 的文件的位置和名称:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 其中:
"/etc/ceph"- 是 secret 文件的位置。
更新 control plane:
oc apply -f openstack_control_plane.yaml -n openstack
$ oc apply -f openstack_control_plane.yaml -n openstackCopy to Clipboard Copied! Toggle word wrap Toggle overflow 等待 RHOCP 创建与
OpenStackControlPlaneCR 相关的资源。运行以下命令来检查状态:oc get openstackcontrolplane -n openstack
$ oc get openstackcontrolplane -n openstackCopy to Clipboard Copied! Toggle word wrap Toggle overflow 当状态为 "Setup complete" 时,会创建
OpenStackControlPlane资源。提示将
-w选项附加到get命令的末尾,以跟踪部署进度。通过查看 openstack 命名空间中的 pod 确认 control plane 已部署:
oc get pods -n openstack
$ oc get pods -n openstackCopy to Clipboard Copied! Toggle word wrap Toggle overflow 当所有 pod 都已完成或运行时,会部署 control plane。