You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将Kubernetes Secret中的Datadog密钥注入OpenTelemetry Operator配置

使用OpenTelemetry Operator注入Datadog API密钥(从Kubernetes Secret)

当然可以实现,无需依赖Helm,直接通过OpenTelemetry Operator的配置就能完成,以下是两种常用方案:

方式一:环境变量注入(推荐)

利用Collector原生支持的环境变量替换功能,先从Secret读取密钥到环境变量,再在配置模板中引用该变量。

1. 确认Secret状态

假设你的Secret名称为datadog-api-key,其中存储API密钥的键为api-key。若未创建Secret,可执行:

kubectl create secret generic datadog-api-key --from-literal=api-key="你的实际Datadog API密钥"

2. 修改OpenTelemetryCollector配置

在spec中添加env字段注入环境变量,配置模板里用${变量名}引用:

apiVersion: opentelemetry.io/v1alpha1
kind: OpenTelemetryCollector
metadata:
  name: opentelemetry-collector
spec:
  mode: statefulset
  replicas: 1
  # 从Secret注入环境变量
  env:
    - name: DD_API_KEY
      valueFrom:
        secretKeyRef:
          name: datadog-api-key
          key: api-key
  config: |
    exporters:
      logging:
      datadog:
        api:
          site: "us5.datadoghq.com"
          key: "${DD_API_KEY}"  # 引用环境变量替换密钥

方式二:挂载Secret文件读取

若偏好通过文件读取敏感信息,可将Secret挂载到Collector Pod,再在配置中读取文件内容:

apiVersion: opentelemetry.io/v1alpha1
kind: OpenTelemetryCollector
metadata:
  name: opentelemetry-collector
spec:
  mode: statefulset
  replicas: 1
  # 挂载Secret到Pod指定路径
  volumeMounts:
    - name: datadog-api-key-volume
      mountPath: /secrets/datadog
      readOnly: true
  volumes:
    - name: datadog-api-key-volume
      secret:
        secretName: datadog-api-key
  config: |
    exporters:
      logging:
      datadog:
        api:
          site: "us5.datadoghq.com"
          key: "${file:/secrets/datadog/api-key}"  # 读取挂载的文件内容

注意事项

  • OpenTelemetry Collector默认支持${变量名}和${file:文件路径}的配置替换语法,无需额外配置。
  • 确保OpenTelemetry Operator版本在v0.60及以上,基本都支持上述功能。

内容的提问来源于stack exchange,提问作者Alex Flint

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 18:39:55