Prometheus Pushgateway Helm Chart 2.6.0 Basic Auth验证失败
Prometheus Pushgateway Ingress Basic Auth 凭证匹配失败排查方案
核对Ingress注解的Secret名称与命名空间
确认Ingress资源中nginx.ingress.kubernetes.io/auth-secret注解是否指向正确的Secret。若Secret与Ingress不在同一命名空间,需使用命名空间/Secret名称的格式,示例:annotations: nginx.ingress.kubernetes.io/auth-secret: prometheus/prometheus-pushgateway-basic-auth验证密码文件的哈希格式正确性
确保生成密码时使用htpasswd的标准哈希算法,避免明文或错误格式。重新生成密码并创建Secret的命令:# 生成带哈希的密码文件 htpasswd -c auth myuser # 重新创建Secret kubectl create secret generic prometheus-pushgateway-basic-auth --from-file=auth -n prometheus强制Ingress控制器重新加载配置
即使已确认/etc/ingress-controller/auth/passwd内容正确,仍可删除Ingress控制器Pod触发配置重新同步:kubectl delete pod -n ingress-nginx -l app.kubernetes.io/name=ingress-nginx测试客户端凭证编码格式
用curl直接验证凭证是否有效,确认Authorization头的Base64编码无错误:curl -u myuser:yourpassword https://pushgateway.mydomain.com若失败,可抓包检查请求头是否为
Basic <base64编码的myuser:yourpassword>格式。检查Helm Chart的Ingress模板覆盖情况
查看prometheus-pushgateway的values.yaml,确认自定义的auth注解未被Chart内置配置覆盖。需确保Ingress注解正确配置在Chart的ingress.annotations字段中:ingress: enabled: true annotations: nginx.ingress.kubernetes.io/auth-type: basic nginx.ingress.kubernetes.io/auth-secret: prometheus-pushgateway-basic-auth nginx.ingress.kubernetes.io/auth-realm: "Authentication Required"
内容的提问来源于stack exchange,提问作者Disbalance
相关产品推荐
相关产品推荐

