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

配置serviceMonitor启用后Helm生成的ingress-nginx模板无对应资源咨询

问题根因

4.0.5版本的ingress-nginx Helm chart中,ServiceMonitor的模板文件内置了API版本校验逻辑:只有当集群存在monitoring.coreos.com/v1这个API组(也就是安装了Prometheus Operator CRD)时,才会生成ServiceMonitor资源。
而helm template命令默认不会和Kubernetes集群交互、拉取集群支持的API版本列表,因此上述校验逻辑会判定API组不存在,直接跳过ServiceMonitor资源的生成。

解决方法

执行模板生成命令时新增--api-versions参数,手动告知Helm存在目标API组即可,修改后的命令如下:

helm template ingress-nginx/ingress-nginx --values values.yaml --version "4.0.5" --api-versions monitoring.coreos.com/v1

其他可选排查项

如果执行上述命令后仍无法生成资源,可按以下顺序排查:

  • 校验本地Helm仓库的ingress-nginx chart版本正确性,执行helm search repo ingress-nginx/ingress-nginx --versions | grep 4.0.5确认对应版本存在,避免拉取错chart源
  • 检查values.yaml文件的缩进语法是否正确,确保metrics字段和service字段同级,都属于controller的子字段
  • 可以和官方默认配置对比结构,执行helm show values ingress-nginx/ingress-nginx --version 4.0.5 | grep -A 20 serviceMonitor确认你的配置层级匹配官方要求

如果需要生成的ServiceMonitor能被默认安装的Prometheus Operator自动发现,还可以在values.yaml中补充对应匹配标签,示例如下:

controller:
  metrics:
    serviceMonitor:
      enabled: true
      additionalLabels:
        release: kube-prometheus-stack

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 11:54:06