搜索

第 8 章 使用自定义角色和服务

download PDF

Red Hat OpenStack Platform 通常由预定义角色中的节点组成,例如 Controller 角色、Compute 角色和不同的存储角色类型。每个默认角色都包含您在核心 heat 模板集合中定义的一组服务。但是,all-in-one Red Hat OpenStack Platform 安装在一个包含了所有 OpenStack 服务的单个节点上运行。/usr/share/openstack-tripleo-heat-templates/roles 目录中的 Standalone.yaml 角色文件是包含 all-in-one 安装中所有服务的配置文件。您可以复制并修改 Standalone.yaml 角色文件,以在安装时启用和禁用服务。

Standalone.yaml 文件包含角色 Standalone 中的服务列表。使用以下示例了解此文件的语法:

- name: Standalone
  description: |
    A standalone role that includes a minimal set of services. Use this role for testing in a single node configuration with the 'openstack tripleo deploy --standalone' command, or with the 'openstack overcloud deploy' command.
  CountDefault: 1
  tags:
    - primary
    - controller
  disable_constraints: True
  ServicesDefault:
    - OS::TripleO::Services::Aide
    - OS::TripleO::Services::AodhApi
    - OS::TripleO::Services::AodhEvaluator
    ...
    - OS::TripleO::Services::Tuned
    - OS::TripleO::Services::Vpp
    - OS::TripleO::Services::Zaqar

在部署命令中包括此角色文件,以使用 Standalone 角色配置堆栈,该角色包含您在角色文件的 ServicesDefault: 部分中包含的服务:

[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 role that contains all of the services for database, messaging and network functions.
  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 环境中启用和禁用服务

/usr/share/openstack-tripleo-heat-templates/roles 目录中的 Standalone.yaml 角色文件是包含 all-in-one 安装中所有服务的配置文件。您可以启用或禁用单独的服务。

流程

  1. 要禁用服务,请创建一个新环境文件,并为您要禁用的服务包含 OS::114::None 的值:

        - OS::TripleO::Services::<SERVICE>: OS::Heat::None

    在部署命令中包括此环境文件。

  2. 要启用服务,请创建新环境文件并从您要启用的服务中删除 OS::114::None 的值:

        - OS::TripleO::Services::<SERVICE>:

    在部署命令中包括此环境文件。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.