2.2. 在大型生产 overcloud 上配置 Telemetry 服务
当您在大型生产 overcloud 上启用 Red Hat OpenStack Platform (RHOSP) Telemetry 服务时,您可以通过在专用节点上部署 Telemetry 服务来提高性能。
Telemetry 服务使用选择哪个 RHOSP 对象存储作为其存储后端。如果没有启用 Red Hat Ceph Storage,Telemetry 服务将使用 RHOSP Object Storage 服务(swift)。默认情况下,RHOSP director 将对象存储服务与控制器上的 Telemetry 服务并置。
将 RHOSP Object Storage (swift)用于时间序列数据库(gnocchi)存储,仅支持小型和非生产环境。
先决条件
- 您要在其上部署 Telemetry 服务的 overcloud 是一个大型生产 overcloud。
流程
要设置专用遥测节点,请从 Controller 角色中删除遥测服务。
通过将
/usr/share/openstack-tripleo-heat-templates/roles_data.yaml复制到/home/stack/templates/roles_data.yaml,创建一个编排服务(heat)自定义环境文件。在
/home/stack/templates/roles_data.yaml中,从 Controller 角色的ServicesDefault列表中删除以下行:- OS::TripleO::Services::CeilometerAgentCentral - OS::TripleO::Services::CeilometerAgentNotification - OS::TripleO::Services::GnocchiApi - OS::TripleO::Services::GnocchiMetricd - OS::TripleO::Services::GnocchiStatsd - OS::TripleO::Services::AodhApi - OS::TripleO::Services::AodhEvaluator - OS::TripleO::Services::AodhNotifier - OS::TripleO::Services::AodhListener - OS::TripleO::Services::PankoApi - OS::TripleO::Services::CeilometerAgentIpmi添加以下片断并保存
roles_data.yaml:- name: Telemetry ServicesDefault: - OS::TripleO::Services::CACerts - OS::TripleO::Services::CertmongerUser - OS::TripleO::Services::Kernel - OS::TripleO::Services::Ntp - OS::TripleO::Services::Timezone - OS::TripleO::Services::Snmp - OS::TripleO::Services::Sshd - OS::TripleO::Services::Securetty - OS::TripleO::Services::TripleoPackages - OS::TripleO::Services::TripleoFirewall - OS::TripleO::Services::SensuClient - OS::TripleO::Services::FluentdClient - OS::TripleO::Services::AuditD - OS::TripleO::Services::Collectd - OS::TripleO::Services::MySQLClient - OS::TripleO::Services::Docker - OS::TripleO::Services::CeilometerAgentCentral - OS::TripleO::Services::CeilometerAgentNotification - OS::TripleO::Services::GnocchiApi - OS::TripleO::Services::GnocchiMetricd - OS::TripleO::Services::GnocchiStatsd - OS::TripleO::Services::AodhApi - OS::TripleO::Services::AodhEvaluator - OS::TripleO::Services::AodhNotifier - OS::TripleO::Services::AodhListener - OS::TripleO::Services::PankoApi - OS::TripleO::Services::CeilometerAgentIpmi在
/home/stack/node-info.yaml文件中,设置 Telemetry 服务的专用节点数量。例如,将
TelemetryCount: 3添加到parameter_defaults中,以部署三个专用遥测节点:parameter_defaults: TelemetryCount: 3现在,您有一个自定义遥测角色。
使用此角色,您可以定义用于标记和分配特定遥测节点的新类别。
部署 overcloud 时,将
roles_data.yaml和storage-environment.yaml包含在openstack overcloud deploy命令调用的模板和环境文件列表中:$ openstack overcloud deploy \ -r /home/stack/templates/roles_data.yaml \ -e /home/stack/templates/storage-environment.yaml \ -e /usr/share/openstack-tripleo-heat-templates/environments/enable-legacy-telemetry.yaml \ [...]- 如果无法为对象存储分配专用节点,请将对象存储配置为在 Controller 节点上运行较低的总体存储 I/O。