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 的状态。
注意如果将 backend.
events.elasticsearch.enabled参数设置为true,则通知 Smart Gateways reportError和CrashLoopBackOff错误消息会在 Elasticsearch 启动前一段时间。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.2.1. ServiceTelemetry 对象的主要参数 复制链接链接已复制到粘贴板!
ServiceTelemetry 对象包含以下主配置参数:
-
警报 -
后端 -
云 -
图表 -
highAvailability -
transports
您可以配置每个配置参数,以便在 STF 部署中提供不同的功能。
backend 参数
使用 backend 参数控制可用于指标和事件的存储后端,并控制 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 将 backend.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 将 backend.metrics.prometheus.enabled 参数的值设置为
true,并将 backend.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 将 backend.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 将 backend.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 对象表示,它为特定云实例的 collectd、Ceilometer 和 Sensubility 数据收集器提供指标和事件的订阅和数据存储:
clouds 参数的每个项目代表一个云实例。云实例由三个顶级参数组成: 名称、指标 和事件。metrics 和 events 参数代表该数据类型存储的对应的后端。collectors 参数指定由两个所需参数( collectorType 和 subscriptionAddress )组成的对象列表,它们代表智能网关的实例。collectorType 参数指定 collectd、Ceilometer 或 Sensubility 收集的数据。subscriptionAddress 参数提供智能网关订阅的 AMQ Interconnect 地址。
您可以使用 collectors 参数中的一个可选布尔值参数 debugEnabled 在运行的 Smart Gateway pod 中启用额外的控制台调试功能。
其他资源
- 有关删除默认智能网关的详情,请参考 第 4.3.3 节 “删除默认智能网关”。
- 有关如何配置多个云的更多信息,请参阅 第 4.3 节 “配置多个云”。
alert 参数
使用 alerting 参数来控制 Alertmanager 实例的创建以及存储后端的配置。默认情况下启用 警报。更多信息请参阅 第 5.3 节 “Service Telemetry Framework 中的警报”。
graphing 参数
使用 graphing 参数来控制 Grafana 实例的创建。默认情况下禁用 图表。更多信息请参阅 第 5.1 节 “Service Telemetry Framework 中的仪表板”。
highAvailability 参数
使用 highAvailability 参数控制 STF 组件的多个副本的实例化,以减少故障或重新调度组件的恢复时间。默认情况下禁用 highAvailability。更多信息请参阅 第 5.6 节 “高可用性”。
transports 参数
使用 transports 参数来控制为 STF 部署的消息总线启用。目前唯一支持的传输是 AMQ Interconnect。默认情况下启用 qdr 传输。