第 8 章 使用自定义角色和服务
all-in-one Red Hat OpenStack Platform (RHOSP)安装在一个包含所有 OpenStack 服务的单个节点上运行。
/usr/share/openstack-tripleo-heat-templates/roles 目录中的 Standalone.yaml 角色文件是包含 all-in-one 安装中所有服务的配置文件。您可以复制并修改 Standalone.yaml 角色文件,以在安装时启用和禁用服务。
Standalone.yaml 文件包含 Standalone 角色中的服务列表。使用以下示例了解此文件的语法:
在部署命令中包括此角色文件,以使用 Standalone 角色配置堆栈,该角色包含您在角色文件的 ServicesDefault: 部分中包含的服务:
sudo openstack tripleo deploy --templates -r /usr/share/openstack-tripleo-heat-templates/roles/Standalone.yaml
[stack@all-in-one]$ sudo openstack tripleo deploy --templates -r /usr/share/openstack-tripleo-heat-templates/roles/Standalone.yaml
但是,在生产环境中,Red Hat OpenStack Platform 环境中,您可以使用包含部分 OpenStack 服务的角色,而不是包括单一节点上的所有服务。例如,默认 Controller 角色包括管理、网络和高可用性服务,默认的 Compute 角色包括计算服务。多节点环境中的默认角色文件是 /usr/share/openstack-tripleo-heat-templates/roles_data.yaml 文件。此文件定义以下角色类型:
- Controller
- Compute
- BlockStorage
- ObjectStorage
- CephStorage
使用以下示例了解多节点环境中的角色语法:
----' - name: Controller description: | Controller 角色,其中包含数据库、消息传递和网络功能的所有服务。ServicesDefault: - OS::TripleO::Services::AuditD - OS::TripleO::Services::CACerts - OS::TripleO::Services::CephClient … - name: Compute description: | Basic Compute Node role ServicesDefault: - OS::TripleO::Services::AuditD - OS::TripleO::Services::CACerts - OS::TripleO::Services::CephClient … ----'
每次输入部署命令时都必须包含角色文件。您可以使用 deployment 命令中的 -r 参数覆盖此文件并使用自定义角色文件:
----' [stack@all-in-one\":\" sudo openstack tripleo deploy --templates -r ~/templates/roles_data-custom.yaml ----'
8.1. 在 all-in-one Red Hat OpenStack Platform 环境中启用和禁用服务 复制链接链接已复制到粘贴板!
要在您的环境中启用或禁用单个服务,请完成以下步骤:
流程
要启用服务,请创建新环境文件并从您要启用的服务中删除
OS::114::None的值:- OS::TripleO::Services::<SERVICE>:
- OS::TripleO::Services::<SERVICE>:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在部署命令中包括此环境文件。
要禁用服务,请创建一个新环境文件,并为您要禁用的服务包含
OS::114::None的值:- OS::TripleO::Services::<SERVICE>: OS::Heat::None
- OS::TripleO::Services::<SERVICE>: OS::Heat::NoneCopy to Clipboard Copied! Toggle word wrap Toggle overflow 在部署命令中包括此环境文件。