对于部署在 Kubernetes 上的应用,腾讯云可观测团队提供了 Operator 方案:tencent-opentelemetry-operator, 此方案在社区 opentelemetry-operator 基础上构建,可以实现探针自动注入,方便应用快速接入 APM。目前 tencent-opentelemetry-operator 支持的编程语言包括 Java、Python、Node.js 和 .Net。
说明:
tencent-opentelemetry-operator 支持 Kubernetes 版本1.19及以上版本。
配置项说明
tencent-opentelemetry-operator 通过 Helm 部署安装,所有的配置项都集中于
values.yaml
。请注意 YAML 文件中的参数存在层级关系,请参考如下 YAML 片段:env:TKE_CLUSTER_ID: "cls-ky8nmlra"TKE_REGION: "ap-guangzhou"APM_ENDPOINT: "http://pl.ap-guangzhou.apm.tencentcs.com:4317"APM_TOKEN: "apmdemotoken"
必填字段
参数 | 描述 |
env.TKE_CLUSTER_ID | TKE 集群 ID。对于非 TKE 集群,请设置为 "N/A" 。 |
env.TKE_REGION | |
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 设置为公网接入点)。 |
说明:
安装方式
通过 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。请通过 helm 命令确保客户端与 K8s 集群之间的连通性。
2. 下载 Chart 包 和配置文件 values.yaml。您也可以使用 wget 命令下载,对应的地址如下:
3. 参考 配置项说明,在 values. yaml 中填入必要的字段。对于非 TKE 集群,需要将 env.TKE_CLUSTER_ID 和 env.TKE_REGION 设置为
"N/A"
。如果从公网接入,请将 env.FROM_INTERNET 设置为"true"
,(同时需要将 env.ENDPOINT 设置为公网接入点)。4. 使用本地文件安装 operator,其中
my-release
为 Chart 名,可以自定义。--values
代表 value.yaml 的文件路径。helm install my-release /path/to/your/chart.tgz --values /path/to/your/values.yaml
说明:
在通用 K8s 集群安装 tencent-opentelemetry-operator 的时候,需要有公网访问权限,否则无法拉取 Operator 镜像。
接入应用
安装完 tencent-opentelemetry-operator 后,在需要接入 APM 的工作负载中添加相关 annotation,就可以实现探针自动注入,并向 APM 上报监控数据。请参考如下文档完成应用接入: