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

AppGateway/AKS/AGIC集成Let's Encrypt报Secret Not Found问题

问题根因

Ingress资源的TLS配置格式存在错误,导致cert-manager无法正常生成对应证书,AGIC也找不到关联的Secret资源,因此只会生成80端口的HTTP监听器,不会生成HTTPS监听器。

原配置中错误地将同一个TLS配置的hosts和secretName拆分为了两个独立的TLS条目,触发了cert-manager的BadConfig报错:

  • 第一个TLS条目仅配置了hosts,没有指定secretName,cert-manager不知道要把生成的证书存在哪个Secret里
  • 第二个TLS条目仅配置了secretName,没有关联对应的域名,cert-manager不知道要给这个Secret颁发哪个域名的证书

修复方案

修改Ingress资源的spec.tls配置,将hosts和secretName放在同一个TLS条目下:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: aspnetapp-dev
  annotations:
    kubernetes.io/ingress.class: azure/application-gateway
    cert-manager.io/cluster-issuer: letsencrypt-staging
    cert-manager.io/acme-challenge-type: http01
spec:
  tls:
    - hosts:
      - "dev.rhod3rz.com"
      secretName: dev # 注意缩进,和hosts平级,放在同一个tls条目下
  rules:
  - host: "dev.rhod3rz.com"
    http:
      paths:
      - path: /
        pathType: Prefix
        backend:
          service:
            name: aspnetapp-dev
            port:
              number: 80

验证操作

  1. 重新apply修改后的Ingress配置
  2. 执行kubectl get certificates -n default查看证书状态,等待状态变为Ready
  3. 证书颁发完成后,AGIC会自动创建443端口的HTTPS监听器并关联对应证书,报错会自动消失

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 11:48:01