安装 tencent-opentelemetry-operator

最近更新时间:2026-05-15 15:33:41

我的收藏
对于部署在 Kubernetes 上的应用,腾讯云可观测团队提供了 Operator 方案:tencent-opentelemetry-operator, 此方案在社区 opentelemetry-operator 基础上构建,可以实现探针自动注入,方便应用快速接入 APM。目前 tencent-opentelemetry-operator 支持的编程语言包括 Java、Python、Node.js 和 .NET。
说明:
tencent-opentelemetry-operator 支持 Kubernetes 1.19及以上版本。

安装方式

通过 APM 控制台一键安装(推荐)

由于配置项的填写比较复杂,推荐您使用 APM 控制台的一键安装 tencent-opentelemetry-operator 功能,以简化安装步骤。
1. 登录 应用性能监控 控制台。
2. 在左侧菜单栏中选择应用列表,单击接入应用
3. 选择需要接入的语言,并指定 TKE 环境自动接入的上报方式。
4. 单击一键安装 Operator
5. 在弹出对话框中,选择对应的上报地域、默认业务系统、TKE 所在地域、TKE 集群,单击安装后即可完成安装。
说明:
仅支持 TKE 标准集群和 TKE Serverless 集群,暂不支持 TKE 边缘集群和 TKE 注册集群。
通过 APM 控制台一键安装的 tencent-opentelemetry-operator,会被安装到 kube-system 命名空间。
如果需要修改默认业务系统等配置项,可以在一键安装界面对该 TKE 集群进行更新操作。

通过 TKE 应用市场安装

1. 登录 容器服务 控制台。
2. 在左侧菜单栏中选择运维中心 > 应用市场,搜索 tencent-opentelemetry-operator 并单击进入。
3. 单击创建应用,选择需要安装的 TKE 集群,参考 配置项说明,填入必要参数,即可完成安装。
说明:
仅支持 TKE 标准集群和 TKE Serverless 集群,暂不支持 TKE 边缘集群和 TKE 注册集群。
通过 TKE 应用市场安装 tencent-opentelemetry-operator,可以安装在任何命名空间。在同一个 TKE 集群中,只能安装最多一个 tencent-opentelemetry-operator。

通用 K8s 集群安装

tencent-opentelemetry-operator 支持通用 K8s 集群以及混合云场景。对于部署在线下 IDC 以及其他云平台的 K8s 集群,只要 K8s 的版本符合要求,并且 APM 服务端之间的网络可达,就可以通过 Operator 模式实现快速接入。
1. 安装 kubectl 和 Helm CLI,安装方式请参考 安装 kubectl安装 Helm CLI。请确保使用3.6或以上版本的 Helm CLI。
2. 下载 Chart 包 和配置文件 values.yaml。您也可以使用 wget 命令下载,对应的地址如下:
3. 参考 配置项说明,在 values.yaml 中填入必要的字段。
说明:
env.TKE_CLUSTER_ID 和 env.TKE_REGION 只适用于 TKE 集群,因此请将这两个配置项设置为 "N/A"
如果从公网接入,请将 env.FROM_INTERNET 设置为"true",同时将 env.ENDPOINT 设置为公网接入点。
4. 使用本地文件安装 Operator,其中 my-release 为 Chart 名,可以自定义。--values 代表 values.yaml 的文件路径。
helm install my-release /path/to/your/chart.tgz --values /path/to/your/values.yaml
说明:
在通用 K8s 集群安装 tencent-opentelemetry-operator 的时候,需要有公网访问权限,否则无法拉取 Operator 镜像。

配置项说明

tencent-opentelemetry-operator 通过 Helm 部署安装,所有的配置项都集中于 values.yaml。请注意 YAML 文件中的参数存在层级关系,请参考如下 YAML 片段:
env:
TKE_CLUSTER_ID: "cls-ky8nmlra"
TKE_REGION: "ap-guangzhou"
ENDPOINT: "http://pl.ap-guangzhou.apm.tencentcs.com:4317"
APM_TOKEN: "apmdemotoken"

必填字段

参数
描述
env.TKE_CLUSTER_ID
TKE 集群 ID。对于非 TKE 集群,请设置为"N/A"
env.TKE_REGION
TKE 集群所在地域,例如 ap-guangzhou,详情请参考 CVM 地域和可用区 的取值。对于非 TKE 集群,请设置为"N/A"
env.ENDPOINT
APM 接入点。每个集群只能使用唯一的 APM 接入点,请从业务系统获取接入点。如果使用公网接入点,需要同时设置 env.FROM_INTERNET: "true"
env.APM_TOKEN
集群默认的 APM Token。APM token 代表了需要接入的业务系统,请从业务系统中获取 token。可以在工作负载中指定其他业务系统的 Token,以覆盖集群默认的 Token。

选填字段

参数
描述
env.JAVA_INSTR_VERSION
Java 探针版本号,可以设置为latest(默认)或具体的版本号,非必要情况下不推荐设置此字段。
env.PYTHON_INSTR_VERSION
Python 探针版本号,可以设置为latest(默认)或具体的版本号,非必要情况下不推荐设置此字段。
env.NODEJS_INSTR_VERSION
Node.js 探针版本号,可以设置为latest(默认)或具体的版本号,非必要情况下不推荐设置此字段。
env.DOTNET_INSTR_VERSION
.NET 探针版本号,可以设置为latest(默认)或具体的版本,非必要情况下不推荐设置此字段。
env.INTL_SITE
在国际站需要设置为 "true"
env.FROM_INTERNET
如果从公网接入,请设置为"true",(同时需要将 env.ENDPOINT 设置为公网接入点)。
说明:
如果需要指定具体的探针版本号,请前往 探针(Agent)版本信息 获取版本号。

接入应用

安装完 tencent-opentelemetry-operator 后,在需要接入 APM 的工作负载中添加相关 annotation,就可以实现探针自动注入,并向 APM 上报监控数据。请参考如下文档完成应用接入:

业务系统与 K8s 集群的映射关系

在安装 Operator 的时候,必填参数 env.APM_TOKEN 需要从业务系统获取,代表该集群默认的 APM Token。因此,每个安装 Operator 的 K8s 集群,只能指定唯一的业务系统作为默认接入目标。但在实际使用过程中,部署在同一个 K8s 集群中的不同应用可能需要接入到不同的业务系统,在这种情况下就需要通过在工作负载中指定业务系统 Token,以覆盖集群级别的 env.APM_TOKEN 配置。
场景
是否支持
实现方式
1个 K8s 集群 → 1个业务系统(1:1)
✅ 支持
安装 Operator 时指定默认业务系统。
多个 K8s 集群 → 1个业务系统(N:1)
✅ 支持
每个集群各自安装 Operator,指定同一个默认业务系统。
1个 K8s 集群 → 多个业务系统(1:N)
✅ 支持
Operator 指定默认业务系统 + 工作负载中指定其他业务系统的 Token。
多个 K8s 集群 → 多个业务系统(N:N)
✅ 支持
Operator 指定默认业务系统 + 工作负载中指定其他业务系统的 Token。

示例

参考如下场景:
K8s 集群部署了3个 Java 应用:service-1、service-2、service-3。
service-1 和 service-2 需要接入业务系统 A。
service-3 需要接入业务系统 B。
可以通过如下步骤实现:
1. 在安装 Operator 的时候,指定默认业务系统为 A,即设置 env.APM_TOKEN 为业务系统 A 的 Token。
2. 在接入 service-1 和 service-2 的时候,不需要在工作负载中配置 Token。以 service-1 为例,需要添加的 Pod Annotation 如下:
annotations:
cloud.tencent.com/inject-java: "true"
cloud.tencent.com/otel-service-name: service-1
3. 在接入 service-3 的时候,在工作负载中配置 Token,覆盖集群级别的配置项。需要添加的 Pod Annotation 如下:
annotations:
cloud.tencent.com/inject-java: "true"
cloud.tencent.com/otel-service-name: service-3
cloud.tencent.com/apm-token: "<Token>" # Token from System B