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

求助:Azure Key Vault中SSL证书与AKS应用路由附加组件密钥不符

AKS Ingress TLS证书与Key Vault不一致问题的排查与修复

以下是针对性的排查和解决步骤:

1. 确认证书同步链路的健康状态

如果使用了AKS的Key Vault集成组件(比如CSI驱动或App Routing的证书自动同步),先检查同步组件的日志:

  • 对于CSI驱动:kubectl logs -n kube-system -l app=csi-secrets-store-provider-azure,查看是否存在证书拉取失败、权限不足或同步延迟的报错。
  • 对于App Routing控制器:kubectl logs -n app-routing-system -l app=app-routing-controller,排查证书同步相关的日志输出。

2. 验证Secret的有效性与来源

执行kubectl get secret <secretname> -o yaml,重点关注:

  • 查看annotations字段是否包含Key Vault的关联信息(比如azure.keyvault.secret.url),如果没有,说明该Secret是手动创建的旧版本,需要重新从Key Vault导出证书进行更新:
    1. 从Key Vault导出包含私钥和完整证书链的PEM格式文件
    2. 用命令覆盖更新Secret:kubectl create secret tls <secretname> --cert=./full-chain.pem --key=./private-key.pem --dry-run=client -o yaml | kubectl apply -f -
  • 确认data.tls.crt的更新时间,检查是否与Key Vault中证书的更新时间匹配。

3. 检查Ingress配置与控制器状态

  • 确认Ingress资源的tls段中secretName与目标Secret完全匹配,且没有跨命名空间的同名Secret产生干扰。
  • 重启Ingress控制器强制刷新配置:kubectl rollout restart deployment -n <ingress-namespace> <ingress-controller-deployment>(替换对应命名空间和部署名,比如NGINX Ingress通常在ingress-nginx命名空间)

4. 分析证书链细节

解码后的tls.crt出现两个证书属于正常情况(服务器证书+中间证书),但如果这些证书过期或与Key Vault不符:

  • 使用openssl x509 -in <解码后的证书文件> -text -noout分别解析两个证书,查看Not Before/Not After有效期和颁发者信息,与Key Vault中的证书详情做对比。
  • 如果中间证书过期,需要从CA重新获取完整的证书链,更新到Key Vault后再同步至AKS。

5. 清除缓存干扰

测试前清除浏览器缓存,或使用无痕模式访问,避免本地缓存的旧证书影响结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 10:16:21