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

AKS集群Nginx Ingress健康探针路径异常问题求助

Helm命令导致Azure LB健康探针路径异常的排查

问题根源

你遇到的健康探针路径被自动转换为C:/Program Files/Git/healthz的问题,并非Helm语法错误,而是Windows环境下Git Bash的路径自动转换特性触发的:Git Bash会将以斜杠/开头的字符串识别为Unix风格路径,并自动转换为Windows本地路径(映射到Git安装目录下的对应路径)。

命令中的问题点及修正方法

你的Helm命令中,健康探针路径的配置项未做特殊处理,导致Git Bash解析时篡改了路径值:

--set controller.service.annotations."service\.beta\.kubernetes\.io/azure-load-balancer-health-probe-request-path"=/healthz

可以通过以下几种方式修正:

1. 用单引号包裹路径值

通过单引号阻止Git Bash解析路径,保持原始值不变:

--set controller.service.annotations."service\.beta\.kubernetes\.io/azure-load-balancer-health-probe-request-path"='/healthz'

2. 用双引号包裹整个--set参数

将整个--set表达式用双引号包裹,同时转义内部的双引号,避免解析冲突:

--set "controller.service.annotations.\"service\.beta\.kubernetes\.io/azure-load-balancer-health-probe-request-path\"=/healthz"

3. 改用Values文件配置(推荐)

直接将该注解配置到你命令中引用的nginx.yaml文件里,完全避开命令行的解析问题:

controller:
  service:
    annotations:
      service.beta.kubernetes.io/azure-load-balancer-health-probe-request-path: /healthz

之后命令中可以移除对应的--set参数,仅保留-f nginx.yaml即可。

额外优化建议

你的命令中存在冗余参数,虽然不影响功能,但可以清理以提升可读性:

  • 重复的--namespace $NAMESPACE参数,保留一个即可
  • 重复的--set controller.ingressClassResource.name=$NAMESPACE参数,保留一个即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 11:07:22