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

Kubernetes部署Jaeger时提示unknown field "template"错误如何解决?

Jaeger CR创建报错unknown field "template"解决方案

报错根因

你使用的是Jaeger Operator定义的Jaeger自定义资源(CR),其spec字段规范和Kubernetes原生Deployment完全不同,spec.template是原生Deployment的字段,在Jaeger CR的官方规范中不存在,因此API Server在校验资源配置时会直接抛出字段不存在的错误。

正确配置规则

Jaeger Operator会根据你配置的spec字段自动生成对应的Deployment、Service、ConfigMap等资源,不需要手动定义Pod模板:

  • 存储相关配置统一放到spec.storage字段下,Operator会自动注入对应环境变量到Jaeger各组件
  • 自定义标签、环境变量、资源限制等配置,需要对应到spec.collector、spec.query、spec.agent等具体组件的配置下

修正后的配置示例

apiVersion: jaegertracing.io/v1
kind: Jaeger
metadata:
  name: simple-prod
  labels:
    app: jaeger
spec:
  strategy: production
  collector:
    maxReplicas: 5
    # 给collector组件的资源加自定义标签
    metadata:
      labels:
        app: jaeger
    resources:
      limits:
        cpu: 100m
        memory: 128Mi
  # 给query组件加自定义标签
  query:
    metadata:
      labels:
        app: jaeger
  # 存储配置,Operator自动注入对应环境变量
  storage:
    type: elasticsearch
    options:
      es:
        server-urls: http://elasticsearch:9200
        tags-as-fields-all: "true"

补充说明

  • production部署策略下,Jaeger会拆分部署collector、query等独立组件,16686是query组件的默认端口,Operator会自动创建对应Service暴露端口,无需手动配置
  • 如果需要给所有组件添加统一的公共标签,可以配置spec.commonLabels字段,无需逐个组件配置

内容的提问来源于stack exchange,提问作者Kim sung

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 08:36:03