7.7. 生成自定义角色文件
为安全起见,在通过 NFS 使用 CephFS 时将 NFS 流量隔离到单独的网络,以便 Ceph NFS 服务器只能通过隔离的网络访问。部署器可以将隔离网络限制为云中所选项目组。Red Hat OpenStack (RHOSP) director 提供了支持部署专用 StorageNFS 网络的支持。要配置和使用 StorageNFS 网络,您需要自定义 Controller 角色。
可以为 NFS 流量省略隔离网络的创建。但是,如果您在具有不受信任的客户端的生产环境部署中省略 StorageNFS 网络,director 可以在任何共享的非隔离网络上连接 Ceph NFS 服务器,如外部网络。共享非隔离网络通常可路由到云中所有用户专用网络。当 NFS 服务器位于非隔离网络中时,您无法通过应用客户端 IP 访问规则来控制对共享文件系统服务(manila)共享的访问。用户必须允许使用通用 0.0.0.0/0
IP 访问其共享。由于通用 IP,发现导出路径的任何人都可以挂载共享。
您可以使用 ControllerStorageNFS
自定义角色文件配置隔离的 StorageNFS 网络。此角色文件与默认的 Controller.yaml
角色文件类似,添加了 StorageNFS
网络。
[stack@undercloud ~]$ cd /usr/share/openstack-tripleo-heat-templates/roles [stack@undercloud roles]$ diff Controller.yaml ControllerStorageNfs.yaml 16a17 > - StorageNFS 50a45
openstack overcloud roles generate
命令会创建自定义 roles_data.yaml
文件,包括 -o
中指定的服务。在以下示例中,创建的 roles_data.yaml
文件具有 ControllerStorageNfs
、Compute
和 CephStorage
的服务。
如需有关 openstack overcloud 角色 generate
命令的更多信息,请参阅 Director 安装和使用中的可组合服务和自定义角色。
如果您有一个现有的 roles_data.yaml
文件,请修改该文件以将 ControllerStorageNfs
、Compute
和 CephStorage
服务添加到配置文件中。
流程
-
以
stack
用户身份登录 undercloud 主机。 查找
stackrc
undercloud 凭证文件:$ source ~/stackrc
创建
roles_data.yaml
文件:[stack@undercloud ~]$ openstack overcloud roles generate \ --roles-path /usr/share/openstack-tripleo-heat-templates/roles \ -o /home/stack/roles_data.yaml ControllerStorageNfs Compute CephStorage