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

AKS升级至v1.23.5后Traefik请求v1beta1.Ingress致TLS错误排查

问题根因

该问题和业务侧使用v1版本Ingress模板无关,核心原因是当前部署的Traefik版本过低,不兼容Kubernetes v1.22+版本的Ingress API变更:

  • 你使用的Traefik镜像版本为2.4.8,该版本内置的Kubernetes client-go版本为v0.20.2,默认会同时监听extensions/v1beta1、networking.k8s.io/v1beta1、networking.k8s.io/v1三个版本的Ingress资源做版本适配。
  • Kubernetes v1.22版本正式移除了前两个旧版Ingress API,Traefik 2.4.8尝试拉取已下线的v1beta1 Ingress资源时,就会抛出你看到的资源不存在报错。
  • 该API监听失败会直接导致Traefik Ingress控制器无法正常同步集群内的Ingress规则,你配置的TLS证书关联规则也不会被加载,因此Traefik只能为所有请求返回默认证书,触发TLS握手失败。

另外你当前的TLSOption配置存在生效范围问题:Traefik默认只会读取自身所在命名空间(你环境中为traefik命名空间)下名为default的TLSOption作为全局默认TLS配置,放在default命名空间的TLSOption不会被全局引用,这是TLS配置不生效的次要原因。

修复方案

按优先级依次操作即可:

  • 升级Traefik到兼容K8s v1.22+的版本
    最低要求升级到Traefik v2.5+版本,推荐直接升级到2.x系列稳定版(如v2.10.x),这类版本的client-go已经适配K8s v1.22+的API变更,不会再尝试拉取已移除的v1beta1 Ingress资源。
    修改Terraform的helm_release配置,显式指定兼容的Traefik镜像版本:
    set {
      name  = "image.tag"
      value = "v2.10.7"
    }
    
    注意你当前使用的Traefik Helm Chart版本为9.19.1,默认对应Traefik v2.4.x,建议同时升级Chart版本到和Traefik v2.10.x匹配的版本,避免配置参数不兼容。
  • 修正TLSOption部署位置
    把当前在default命名空间下名为default的TLSOption,移动到Traefik所在的traefik命名空间,Traefik启动时才会自动加载这个全局默认TLS配置。如果需要给特定Ingress自定义TLS选项,可在对应业务命名空间创建TLSOption,通过Ingress注解引用即可。
  • 修正HTTP跳HTTPS的配置参数
    你当前启动参数中的重定向配置存在冗余错误:--entrypoints.web.http.redirections.entrypoint.to=:443为无效配置,正确的重定向参数仅需保留以下内容,删掉多余配置避免重定向逻辑异常:
    --entrypoints.web.http.redirections.entrypoint.to=websecure
    --entrypoints.web.http.redirections.entrypoint.scheme=https
    --entrypoints.web.http.redirections.entrypoint.permanent=true
    
  • 验证修复结果
    升级完成后查看Traefik运行日志,确认不存在v1beta1 Ingress的监听报错,再请求业务域名验证证书是否正常返回、TLS握手成功即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.01 19:03:31