第 3 章 安装 Service Telemetry Framework 的核心组件
您可以使用 Operator 加载 Service Telemetry Framework (STF)组件和对象。Operator 管理以下每个 STF 内核和社区组件:
- cert-manager
- AMQ Interconnect
- 智能网关
- Prometheus 和 AlertManager
- Elasticsearch
- Grafana
先决条件
- 一个 Red Hat OpenShift Container Platform 版本(包含 4.10 到 4.12)正在运行。
- 您已准备了 Red Hat OpenShift Container Platform 环境,并确保有持久性存储和充足的资源可在 Red Hat OpenShift Container Platform 环境上运行 STF 组件。如需更多信息,请参阅 服务 Telemetry Framework 性能和扩展。
- 您的环境已完全连接。STF 在 Red Hat OpenShift Container Platform 断开连接环境或网络代理环境中无法正常工作。
STF 与 Red Hat OpenShift Container Platform 版本 4.10 到 4.12 兼容。
其他资源
- 如需有关 Operator 的更多信息,请参阅了解 Operator 指南。
- 如需有关 Operator 目录的更多信息,请参阅 红帽提供的 Operator 目录。
3.1. 在 Red Hat OpenShift Container Platform 环境中部署 Service Telemetry Framework
部署 Service Telemetry Framework (STF)以收集、存储和监控事件:
流程
创建一个命名空间来包含 STF 组件,如
service-telemetry:$ oc new-project service-telemetry
在命名空间中创建 OperatorGroup,以便您可以调度 Operator pod:
$ oc create -f - <<EOF apiVersion: operators.coreos.com/v1 kind: OperatorGroup metadata: name: service-telemetry-operator-group namespace: service-telemetry spec: targetNamespaces: - service-telemetry EOF
如需更多信息,请参阅 OperatorGroup。
为 cert-manager Operator 创建命名空间:
$ oc create -f - <<EOF apiVersion: project.openshift.io/v1 kind: Project metadata: name: openshift-cert-manager-operator spec: finalizers: - kubernetes EOF
为 cert-manager Operator 创建 OperatorGroup:
$ oc create -f - <<EOF apiVersion: operators.coreos.com/v1 kind: OperatorGroup metadata: name: openshift-cert-manager-operator namespace: openshift-cert-manager-operator spec: {} EOF使用 redhat-operators CatalogSource 订阅 cert-manager Operator:
$ oc create -f - <<EOF apiVersion: operators.coreos.com/v1alpha1 kind: Subscription metadata: name: openshift-cert-manager-operator namespace: openshift-cert-manager-operator spec: channel: tech-preview installPlanApproval: Automatic name: openshift-cert-manager-operator source: redhat-operators sourceNamespace: openshift-marketplace EOF
验证您的 ClusterServiceVersion。确保 cert-manager Operator 显示
Succeeded的阶段:$ oc get csv --namespace openshift-cert-manager-operator --selector=operators.coreos.com/openshift-cert-manager-operator.openshift-cert-manager-operator NAME DISPLAY VERSION REPLACES PHASE openshift-cert-manager.v1.7.1 cert-manager Operator for Red Hat OpenShift 1.7.1-1 Succeeded
使用 redhat-operators CatalogSource 订阅 AMQ Interconnect Operator:
$ oc create -f - <<EOF apiVersion: operators.coreos.com/v1alpha1 kind: Subscription metadata: name: amq7-interconnect-operator namespace: service-telemetry spec: channel: 1.10.x installPlanApproval: Automatic name: amq7-interconnect-operator source: redhat-operators sourceNamespace: openshift-marketplace EOF
验证您的 ClusterServiceVersion。确保 amq7-interconnect-operator.v1.10.x 显示
Succeeded的阶段:$ oc get csv --selector=operators.coreos.com/amq7-interconnect-operator.service-telemetry NAME DISPLAY VERSION REPLACES PHASE amq7-interconnect-operator.v1.10.15 Red Hat Integration - AMQ Interconnect 1.10.15 amq7-interconnect-operator.v1.10.4 Succeeded
要在 Prometheus 中存储指标,您必须使用 community-operators CatalogSource 启用 Prometheus Operator:
警告社区 Operator 是尚未被红帽审查或验证的 Operator。社区 Operator 应谨慎使用,因为其稳定性未知。红帽不支持社区 Operator。
$ oc create -f - <<EOF apiVersion: operators.coreos.com/v1alpha1 kind: Subscription metadata: name: prometheus-operator namespace: service-telemetry spec: channel: beta installPlanApproval: Automatic name: prometheus source: community-operators sourceNamespace: openshift-marketplace EOF
验证 Prometheus
Succeeded的 ClusterServiceVersion:$ oc get csv --selector=operators.coreos.com/prometheus.service-telemetry NAME DISPLAY VERSION REPLACES PHASE prometheusoperator.0.56.3 Prometheus Operator 0.56.3 prometheusoperator.0.47.0 Succeeded
要在 Elasticsearch 中存储事件,您必须使用 certified-operators CatalogSource 在 Kubernetes (ECK) Operator 上启用 Elastic Cloud:
警告认证的 Operator 是来自主要独立软件供应商(ISV)的 Operator。红帽与 ISV 合作打包并提供,但不支持经过认证的 Operator。支持由 ISV 提供。
$ oc create -f - <<EOF apiVersion: operators.coreos.com/v1alpha1 kind: Subscription metadata: name: elasticsearch-eck-operator-certified namespace: service-telemetry spec: channel: stable installPlanApproval: Automatic name: elasticsearch-eck-operator-certified source: certified-operators sourceNamespace: openshift-marketplace EOF
验证 Kubernetes
Succeeded上 Elastic Cloud 的 ClusterServiceVersion :$ oc get csv --selector=operators.coreos.com/elasticsearch-eck-operator-certified.service-telemetry NAME DISPLAY VERSION REPLACES PHASE elasticsearch-eck-operator-certified.v2.8.0 Elasticsearch (ECK) Operator 2.8.0 elasticsearch-eck-operator-certified.v2.7.0 Succeeded
创建 Service Telemetry Operator 订阅来管理 STF 实例:
$ oc create -f - <<EOF apiVersion: operators.coreos.com/v1alpha1 kind: Subscription metadata: name: service-telemetry-operator namespace: service-telemetry spec: channel: stable-1.5 installPlanApproval: Automatic name: service-telemetry-operator source: redhat-operators sourceNamespace: openshift-marketplace EOF
验证 Service Telemetry Operator 和依赖 Operator 的阶段为 Succeeded :
$ oc get csv --namespace service-telemetry NAME DISPLAY VERSION REPLACES PHASE amq7-interconnect-operator.v1.10.15 Red Hat Integration - AMQ Interconnect 1.10.15 amq7-interconnect-operator.v1.10.4 Succeeded elasticsearch-eck-operator-certified.v2.8.0 Elasticsearch (ECK) Operator 2.8.0 elasticsearch-eck-operator-certified.v2.7.0 Succeeded openshift-cert-manager.v1.7.1 cert-manager Operator for Red Hat OpenShift 1.7.1-1 Succeeded prometheusoperator.0.56.3 Prometheus Operator 0.56.3 prometheusoperator.0.47.0 Succeeded service-telemetry-operator.v1.5.1680516659 Service Telemetry Operator 1.5.1680516659 Succeeded smart-gateway-operator.v5.0.1680516659 Smart Gateway Operator 5.0.1680516659 Succeeded