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

使用Terraform在AKS部署Jaeger Operator时遇CRDs缺失错误

解决Terraform部署Jaeger Operator时cert-manager CRD缺失的问题

问题原因

Jaeger Operator的Helm Chart默认会创建cert-manager.io/v1组下的Certificate和Issuer资源,但你的AKS集群中尚未安装cert-manager的Custom Resource Definitions(CRDs)及组件,导致Kubernetes无法识别这些资源类型。

解决方案

方案1:安装cert-manager(推荐)

通过Terraform部署cert-manager,确保其CRD被安装到集群中,再部署Jaeger Operator:

  1. 添加cert-manager的Helm部署配置:
# 部署cert-manager组件及CRD
resource "helm_release" "cert_manager" {
  name              = "cert-manager"
  repository        = "https://charts.jetstack.io"
  chart             = "cert-manager"
  version           = "v1.13.0" # 版本需与Jaeger Operator 2.46.2兼容
  namespace         = "cert-manager"
  create_namespace  = true

  set {
    name  = "installCRDs"
    value = "true"
  }
}
  1. 修改Jaeger Operator的Terraform配置,添加对cert-manager的依赖:
resource "helm_release" "jaeger_operator" {
  name       = "jaeger-operator"
  repository = "https://jaegertracing.github.io/helm-charts"
  chart      = "jaeger-operator"
  version    = "2.46.2"

  depends_on = [helm_release.elastic, helm_release.cert_manager]
}

方案2:禁用Jaeger Operator的cert-manager集成(不推荐)

如果不需要cert-manager提供的证书管理功能,可以通过Chart参数关闭相关资源创建:

resource "helm_release" "jaeger_operator" {
  name       = "jaeger-operator"
  repository = "https://jaegertracing.github.io/helm-charts"
  chart      = "jaeger-operator"
  version    = "2.46.2"

  depends_on = [helm_release.elastic]

  set {
    name  = "certmanager.enabled"
    value = "false"
  }
}

操作步骤

  1. 将上述配置添加到你的Terraform代码中
  2. 执行terraform init初始化配置
  3. 执行terraform apply部署资源

内容的提问来源于stack exchange,提问作者Navid Sadeghi

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 05:25:20