6.9. 从角色中添加和删除服务

添加或删除服务的基本方法涉及为节点角色创建默认服务列表的副本,然后添加或删除服务。例如,您可能想要从 Controller 节点中删除 OpenStack Orchestration (heat)。

流程

  1. 创建默认 roles 目录的自定义副本:

    $ cp -r /usr/share/openstack-tripleo-heat-templates/roles ~/.
  2. 编辑 ~/roles/Controller.yaml 文件,并修改 ServicesDefault 参数的服务列表。滚动到 OpenStack 编排服务并删除它们:

        - OS::TripleO::Services::GlanceApi
        - OS::TripleO::Services::GlanceRegistry
        - OS::TripleO::Services::HeatApi            # Remove this service
        - OS::TripleO::Services::HeatApiCfn         # Remove this service
        - OS::TripleO::Services::HeatApiCloudwatch  # Remove this service
        - OS::TripleO::Services::HeatEngine         # Remove this service
        - OS::TripleO::Services::MySQL
        - OS::TripleO::Services::NeutronDhcpAgent
  3. 生成新的 roles_data 文件:

    $ openstack overcloud roles generate -o roles_data-no_heat.yaml \
      --roles-path ~/roles \
      Controller Compute Networker
  4. 在运行 openstack overcloud deploy 命令时包括此新的 roles_data 文件:

    $ openstack overcloud deploy --templates -r ~/templates/roles_data-no_heat.yaml

    此命令在没有 Controller 节点上安装的 OpenStack 编排服务的情况下部署 overcloud。

注意

您还可以使用自定义环境文件禁用 roles_data 文件中的服务。将服务重定向到 OS::114::None 资源。例如:

resource_registry:
  OS::TripleO::Services::HeatApi: OS::Heat::None
  OS::TripleO::Services::HeatApiCfn: OS::Heat::None
  OS::TripleO::Services::HeatApiCloudwatch: OS::Heat::None
  OS::TripleO::Services::HeatEngine: OS::Heat::None