3.2. 在 Red Hat OpenShift Container Platform 中创建 ServiceTelemetry 对象
在 Red Hat OpenShift Container Platform 中创建 ServiceTelemetry 对象,以便 Service Telemetry Operator 为 Service Telemetry Framework (STF)部署创建支持组件。更多信息请参阅 第 3.2.1 节 “ServiceTelemetry 对象的主要参数”。
流程
要创建一个会生成使用默认值的 STF 部署的
ServiceTelemetry对象,创建一个带有空spec参数的ServiceTelemetry对象:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用空
spec参数创建ServiceTelemetry对象会导致 STF 部署具有以下默认设置:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要覆盖这些默认值,请将配置添加到
spec参数中。查看 Service Telemetry Operator 中的 STF 部署日志:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
要确定所有工作负载都正常运行,请查看 pod 和每个 pod 的状态。
注意如果将
backends.events.elasticsearch.enabled参数设置为true,通知智能网关会在 Elasticsearch 启动前的一段时间内报告Error和CrashLoopBackOff错误消息。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.2.1. ServiceTelemetry 对象的主要参数 复制链接链接已复制到粘贴板!
ServiceTelemetry 对象包括以下主要配置参数:
-
警报 -
后端 -
Cloud -
图形 -
HighAvailability -
传输
您可以配置每个配置参数,以便在 STF 部署中提供不同的功能。
backends 参数
使用 backends 参数来控制哪些存储后端可用于存储指标和事件,并控制 clouds 参数定义的智能网关启用。更多信息请参阅 “clouds 参数”一节。
您可以使用 Prometheus 作为指标存储后端,Elasticsearch 作为事件存储后端。您可以使用 Service Telemetry Operator 创建 Prometheus Operator 和 Kubernetes Operator 上的 Elastic Cloud 的其他自定义资源对象,以创建 Prometheus 和 Elasticsearch 工作负载。
启用 Prometheus 作为指标的存储后端
要启用 Prometheus 作为指标的存储后端,您必须配置 ServiceTelemetry 对象。
流程
编辑
ServiceTelemetry对象:oc edit stf default
$ oc edit stf defaultCopy to Clipboard Copied! Toggle word wrap Toggle overflow 将 backends.metrics.prometheus.enabled 参数的值设置为
true:Copy to Clipboard Copied! Toggle word wrap Toggle overflow
为 Prometheus 配置持久性存储
使用 backend. metrics.prometheus.storage.persistent 中定义的附加参数为 Prometheus 配置持久性存储选项,如存储类和卷大小。
使用 storageClass 定义后端存储类。如果没有设置此参数,Service Telemetry Operator 会将默认存储类用于 Red Hat OpenShift Container Platform 集群。
使用 pvcStorageRequest 参数定义满足存储请求的最低卷大小。如果静态定义了卷,可以使用大于请求的卷大小。默认情况下,Service Telemetry Operator 请求大小为 20G (20 Gigabytes)。
流程
列出可用的存储类:
oc get storageclasses
$ oc get storageclasses NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE csi-manila-ceph manila.csi.openstack.org Delete Immediate false 20h standard (default) kubernetes.io/cinder Delete WaitForFirstConsumer true 20h standard-csi cinder.csi.openstack.org Delete WaitForFirstConsumer true 20hCopy to Clipboard Copied! Toggle word wrap Toggle overflow 编辑
ServiceTelemetry对象:oc edit stf default
$ oc edit stf defaultCopy to Clipboard Copied! Toggle word wrap Toggle overflow 将 backends.metrics.prometheus.enabled 参数的值设置为
true,将 backends.metrics.prometheus.storage.strategy 的值设置为persistent:Copy to Clipboard Copied! Toggle word wrap Toggle overflow
为事件启用 Elasticsearch 作为存储后端
要启用 Elasticsearch 作为事件的存储后端,您必须配置 ServiceTelemetry 对象。
流程
编辑
ServiceTelemetry对象:oc edit stf default
$ oc edit stf defaultCopy to Clipboard Copied! Toggle word wrap Toggle overflow 将 backends.events.elasticsearch.enabled 参数的值设置为
true:Copy to Clipboard Copied! Toggle word wrap Toggle overflow
为 Elasticsearch 配置持久性存储
使用 backend. events.elasticsearch.storage.persistent 中定义的附加参数为 Elasticsearch 配置持久性存储选项,如存储类和卷大小。
使用 storageClass 定义后端存储类。如果没有设置此参数,Service Telemetry Operator 会将默认存储类用于 Red Hat OpenShift Container Platform 集群。
使用 pvcStorageRequest 参数定义满足存储请求的最低卷大小。如果静态定义了卷,可以使用大于请求的卷大小。默认情况下,Service Telemetry Operator 请求大小为 20Gi (20 Gibibytes)。
流程
列出可用的存储类:
oc get storageclasses
$ oc get storageclasses NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE csi-manila-ceph manila.csi.openstack.org Delete Immediate false 20h standard (default) kubernetes.io/cinder Delete WaitForFirstConsumer true 20h standard-csi cinder.csi.openstack.org Delete WaitForFirstConsumer true 20hCopy to Clipboard Copied! Toggle word wrap Toggle overflow 编辑
ServiceTelemetry对象:oc edit stf default
$ oc edit stf defaultCopy to Clipboard Copied! Toggle word wrap Toggle overflow 将 backends.events.elasticsearch.enabled 参数的值设置为
true,将 backends.events.elasticsearch.storage.strategy 的值设置为persistent:Copy to Clipboard Copied! Toggle word wrap Toggle overflow
clouds 参数
使用 clouds 参数定义哪些智能网关对象部署,从而为多个监控云环境提供接口以连接到 STF 实例。如果支持后端可用,则会为默认云配置创建指标和事件智能网关。默认情况下,Service Telemetry Operator 为 cloud1 创建智能网关。
您可以创建云对象列表,以控制为定义的云创建哪些智能网关。每个云都由数据类型和收集器组成。数据类型是 指标 或 事件。每个数据类型由一个收集器列表、消息总线订阅地址和一个参数组成,以启用调试。可用的指标收集器包括 collectd、ceilometer 和 sensubility。事件的可用收集器为 collectd 和 ceilometer。确保每个收集器的订阅地址都是唯一的,每个云、数据类型和收集器组合都是唯一的。
默认 cloud1 配置由以下 ServiceTelemetry 对象表示,它为特定云实例提供指标和事件的订阅和数据存储:
clouds 参数的每个项目代表一个云实例。云实例包含三个顶级参数: 名称、指标 和事件。指标 和事件 参数代表该数据类型存储的对应后端。collectors 参数指定由两个所需参数组成的对象列表: collectorType 和 subscriptionAddress,它们代表智能网关的实例。collectorType 参数指定由 collectd、Chter 或 Sensubility 收集的数据。subscriptionAddress 参数提供智能网关订阅的 AMQ Interconnect 地址。
您可以使用 collectors 参数中的一个可选布尔值参数 debugEnabled 在运行的 Smart Gateway pod 中启用额外的控制台调试功能。
其他资源
- 有关删除默认智能网关的详情,请参考 第 4.3.3 节 “删除默认智能网关”。
- 有关如何配置多个云的详情,请参考 第 4.3 节 “配置多个云”。
alerts 参数
使用 alerts 参数来控制 Alertmanager 实例的创建以及存储后端的配置。默认情况下启用 警报。更多信息请参阅 第 5.3 节 “Service Telemetry Framework 中的警报”。
图形参数
使用 graphing 参数来控制 Grafana 实例的创建。默认情况下禁用 图形。更多信息请参阅 第 5.1 节 “Service Telemetry Framework 中的仪表板”。
highAvailability 参数
使用 highAvailability 参数来控制 STF 组件的多个副本的实例化,以减少故障或重新调度的组件恢复时间。默认情况下禁用 highAvailability。更多信息请参阅 第 5.5 节 “高可用性”。
transports 参数
使用 transports 参数控制 STF 部署的消息总线启用。目前唯一支持的传输是 AMQ Interconnect。默认情况下启用 qdr 传输。