第 5 章 分布式追踪数据收集(OpenTelemetry)
5.1. 安装分布式追踪数据收集
Red Hat OpenShift distributed tracing 数据收集 Operator 只是一个技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。
有关红帽技术预览功能支持范围的更多信息,请参阅技术预览功能支持范围。
安装分布式追踪数据收集涉及以下步骤:
- 安装 Red Hat OpenShift distributed tracing 数据收集 Operator。
- 为 OpenTelemetry Collector 实例创建命名空间。
-
创建
OpenTelemetryCollector
自定义资源来部署 OpenTelemetry Collector 实例。
5.1.1. 从 Web 控制台安装分布式追踪数据收集
您可从 web 控制台的 Administrator 视图安装分布式追踪数据收集。
先决条件
-
以集群管理员身份使用
cluster-admin
角色登录到 web 控制台。 -
对于 Red Hat OpenShift Dedicated,您必须使用具有
dedicated-admin
角色的帐户登录。 集群管理员具有
cluster-admin
角色的活跃 OpenShift CLI (oc
) 会话。提示-
确保您的 OpenShift CLI (
oc
) 版本为最新版本,并与您的 OpenShift Container Platform 版本匹配。 运行
oc login
:$ oc login --username=<your_username>
-
确保您的 OpenShift CLI (
流程
安装 Red Hat OpenShift distributed tracing 数据收集 Operator:
-
进入 Operators → OperatorHub 并搜索
Red Hat OpenShift distributed tracing data collection Operator
。 选择 Red Hat OpenShift distributed tracing data collection Operator,provided by Red Hat → Install → Install → View Operator。
重要这会使用默认预设置来安装 Operator:
- Update channel → stable
- Installation mode → All namespaces on the cluster
- Installed Namespace → openshift-operators
- Update approval → Automatic
- 在安装的 Operator 页面的 Details 选项卡中,在 ClusterServiceVersion details 下验证安装 Status 是否为 Succeeded。
-
进入 Operators → OperatorHub 并搜索
- 通过转至 Home → Projects → Create Project,为您在下一步中创建的 OpenTelemetry Collector 实例创建一个项目。
创建 OpenTelemetry Collector 实例。
- 进入 Operators → Installed Operators。
- 选择 OpenTelemetry Collector → Create OpenTelemetryCollector → YAML view。
在 YAML 视图中,使用 OTLP、Jaeger、Zipkin 接收器和日志记录导出器自定义
OpenTelemetryCollector
自定义资源(CR)。apiVersion: opentelemetry.io/v1alpha1 kind: OpenTelemetryCollector metadata: name: otel namespace: <project_of_opentelemetry_collector_instance> spec: mode: deployment config: | receivers: otlp: protocols: grpc: http: jaeger: protocols: grpc: thrift_binary: thrift_compact: thrift_http: zipkin: processors: batch: memory_limiter: check_interval: 1s limit_percentage: 50 spike_limit_percentage: 30 exporters: logging: service: pipelines: traces: receivers: [otlp,jaeger,zipkin] processors: [memory_limiter,batch] exporters: [logging]
- 选择 Create。
验证
运行以下命令,验证 OpenTelemetry Collector pod 的
status.phase
是否为Running
,条件
为type: Ready
:$ oc get pod -l app.kubernetes.io/managed-by=opentelemetry-operator,app.kubernetes.io/instance=<namespace>.<instance_name> -o yaml
运行以下命令来获取 OpenTelemetry Collector 服务:
$ oc get service -l app.kubernetes.io/managed-by=opentelemetry-operator,app.kubernetes.io/instance=<namespace>.<instance_name>