使用 Sidecar 注入向 OpenTelemetry Collector 发送遥测数据
您可以配置 Alauda build of OpenTelemetry v2,将 OpenTelemetry Collector 作为 sidecar 容器注入应用 Pod。Sidecar Collector 与应用运行在同一个 Pod 中,使应用无需复杂的网络配置即可通过 localhost 向 Collector 发送遥测数据。
NOTE
在 sidecar 模式下,Operator 不会为 Collector 创建 Service、Ingress、NetworkPolicy 或 HorizontalPodAutoscaler 资源,因为在该模式下,Operator 不管理 Pod 的生命周期。应用通过 localhost 访问 sidecar;如果需要从 Pod 外部访问其端口,请通过应用自身的 Service 暴露这些端口。
前提条件
- 已安装 Alauda Container Platform Application Observability(之前称为 Alauda Build of OpenTelemetry v2)Operator。
- 已安装并部署 Alauda Container Platform Distributed Tracing(之前称为 Alauda Build of Jaeger v2)。
- 由具有
cluster-admin角色的集群管理员建立的有效 ACP CLI (kubectl) 会话。
操作步骤
-
运行以下命令,将 OpenTelemetry Collector 部署为 sidecar:
- 将
<image-registry>/asm/opentelemetry-collector:<image-tag>替换为 sidecar Collector 的实际镜像仓库和标签。 - OTLP gRPC exporter 的名称为
otlp_grpc。旧名称otlp仍可使用,但已弃用。请注意,OTLP receiver 仍使用名称otlp;请参阅组件类型名称。 - 将
jaeger-<example>-collector替换为 Alauda Build of Jaeger v2 Collector 的实际服务名称。其格式通常为<instance-name>-collector。
- 将
-
添加注解
sidecar.opentelemetry.io/inject: "true"并使用已创建的 ServiceAccount,创建一个使用 sidecar 注入的 Deployment: