在我的舵机升级阶段,我得到了以下错误。我做了以下更改,将apiVersion: networking.k8s.io/v1beta1更改为apiVersion: networking.k8s.io/v1,可以让我知道遇到此问题的原因以及相同的修复方法。任何帮助都非常感谢。
Error: UPGRADE FAILED: current release manifest contains removed kubernetes api(s) for
this kubernetes version and it is therefore unable to build the kubernetes objects for
performing the diff. error from kubernetes: unable to recognize "": no matches for
kind "Ingress" in version "networking.k8s.io/v1beta1"

发布于 2022-10-26 07:33:49
遇到此问题的原因是Helm试图在当前已部署版本(包含当前Kubernetes版本中删除的Kubernetes API )与您要随更新/支持的API版本传递的图表之间创建一个不同的修补程序。因此,当Kubernetes移除API版本时,Kubernetes Go客户端库不能再解析不推荐的对象,因此,当调用库时,Helm会失败。
Helm有关于如何从该场景中恢复的正式文档:apis/#updating-api-versions-of-a-release-manifest
发布于 2022-10-13 14:01:11
Helm不喜欢模板的旧版本包含已删除的error.To版本并导致上述掌舵修复,请按照来自掌舵的正式文档中的步骤操作。
因为我们没有在apiVersion被删除之前升级它,所以我们必须遵循手动方法。在两个不同的kubernetes集群(生产和测试)中,我们有很多需要更新的服务。因此,有一个脚本可以更新apiVersion,因为入口object.You可以找到脚本这里。
脚本假定您希望将networking.k8s.io/v1beta1更改为networking.k8s.io/v1。如果您对另一个apiVersion有问题,请在第30行的脚本中更改这些值。如果需要进一步更改,请更新舵图模板,并部署/应用新的舵图。
https://stackoverflow.com/questions/74046167
复制相似问题