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

升级cert-manager至v1.8.2后查询CR资源报无效API版本错误

问题根因

这个报错不是集群中存在正在使用v1alpha2版本的CR实例,核心原因是卸载旧版本cert-manager时没有完全清理旧CRD资源,残留了旧API版本的存储标记、转换配置。cert-manager v1.6及以上版本已经完全移除了对acme.cert-manager.io/v1alpha2、cert-manager.io/v1alpha2两个旧API版本的转换支持,API Server读取CRD中残留的旧版本标记时找不到对应转换逻辑,就会抛出该错误。
注意:Helm安装/升级cert-manager时不会自动覆盖已存在的CRD资源,如果卸载旧版本时没有手动删除旧CRD,新版本安装过程不会更新原有CRD配置,是这类问题最常见的触发场景。

排查步骤
  • 检查所有cert-manager相关CRD的存储版本标记,确认是否残留旧版本记录,执行命令:
kubectl get crd -o jsonpath='{range .items[*]}{.metadata.name}{"\t"}{.status.storedVersions}{"\n"}{end}' | grep -E 'cert-manager|acme'

正常返回结果中,所有CRD的storedVersions字段应该仅包含v1,如果出现v1alpha2、v1beta1等值即为异常。

  • 检查CRD的转换配置是否残留旧版本webhook规则,执行命令:
kubectl get crd orders.acme.cert-manager.io -o yaml | grep -A10 conversion

如果配置中存在指向旧版本webhook的地址、或者残留v1alpha2相关的转换版本声明,也会触发报错。

解决方法
  1. 先备份现有cert-manager所有自定义资源,避免操作失误导致配置丢失:
kubectl get clusterissuers,issuers,certificates,orders,challenges -A -o yaml > cert-manager-backup.yaml
  1. 给所有cert-manager相关CRD打补丁,清除残留的旧版本存储标记,以orders.acme.cert-manager.io为例,执行补丁命令:
kubectl patch crd orders.acme.cert-manager.io --type='json' -p='[{"op": "replace", "path": "/status/storedVersions", "value":["v1"]}]'

需要执行相同补丁操作的CRD列表如下:

  • challenges.acme.cert-manager.io
  • orders.acme.cert-manager.io
  • certificaterequests.cert-manager.io
  • certificates.cert-manager.io
  • clusterissuers.cert-manager.io
  • issuers.cert-manager.io

如果补丁操作提示无法修改status字段,可以将对应CRD导出为本地yaml文件,手动修改status.storedVersions字段值为["v1"]后,执行kubectl replace -f <修改后的CRD文件路径> --force强制替换即可。

  1. 逐个编辑上述CRD,清理残留的旧版本配置:
    执行编辑命令:
kubectl edit crd <CRD名称>

需要修改两处配置:

  • 找到spec.versions配置段,仅保留name: v1的版本配置块,删除所有name为v1alpha2、v1alpha3、v1beta1的旧版本配置块
  • 找到spec.conversion配置段,将strategy字段值改为None,删除下方残留的webhook服务相关配置块
  1. 重启cert-manager命名空间下的所有工作负载,让配置生效:
kubectl rollout restart deployment -n cert-manager
  1. 执行原查询命令验证修复结果:
kubectl get orders,challenges,clusterissuers

命令正常返回资源列表即代表修复完成。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 04:36:14