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 default
Copy 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 20h
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 编辑
ServiceTelemetry
对象:oc edit stf default
$ oc edit stf default
Copy 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 default
Copy 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 20h
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 编辑
ServiceTelemetry
对象:oc edit stf default
$ oc edit stf default
Copy 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
传输。