通过 Sidecar 注入将 Telemetry 数据发送到 OpenTelemetry Collector
你可以配置 Alauda 构建的 OpenTelemetry v2,将 OpenTelemetry Collector 作为 sidecar 容器注入到应用 pods 中。sidecar Collector 与你的应用运行在同一个 pod 中,使应用能够通过 localhost 向 Collector 发送 telemetry 数据,而无需复杂的网络配置。
NOTE
由于 Operator 在 sidecar 模式下不负责 pod 生命周期,因此不会为该模式下的 Collector 创建 Service、Ingress、NetworkPolicy 或 HorizontalPodAutoscaler 资源。应用通过 localhost 访问 sidecar;如果其端口必须能够从 pod 外部访问,请通过应用自身的 Service 暴露这些端口。
前提条件
- 已安装 Alauda 构建的 OpenTelemetry v2 Operator。
- 已安装并部署 Alauda Build of Jaeger v2。
- 由具有
cluster-admin角色的集群管理员建立的活动 ACP CLI (kubectl) 会话。
操作步骤
-
运行以下命令,将 OpenTelemetry Collector 作为 sidecar 部署:
- 将
<image-registry>/asm/opentelemetry-collector:<image-tag>替换为 sidecar Collector 的实际镜像仓库和 tag。 - OTLP gRPC exporter 的名称为
otlp_grpc。旧名称otlp仍然可用,但已弃用。请注意,OTLP receiver 的名称仍然是otlp;请参见 Component type names。 - 将
jaeger-<example>-collector替换为你的 Alauda Build of Jaeger v2 collector 的实际 service 名称。其格式通常为<instance-name>-collector。
- 将
-
通过添加注解
sidecar.opentelemetry.io/inject: "true"并使用已创建的 ServiceAccount,创建使用 sidecar 注入的 deployment: