Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Upgrade Failled in Helm Upgrade stage

I get the below error in my helm upgrade stage. I did the following change apiVersion: networking.k8s.io/v1beta1 to apiVersion: networking.k8s.io/v1 Could someone kindly let me know the reason why I encounter this issue and the fix for the same. Any help is much appreciated

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"

enter image description here

like image 531
user264953 Avatar asked Oct 13 '25 04:10

user264953


2 Answers

The reason why you encounter the issue is Helm attempts to create a diff patch between the current deployed release (which contains the Kubernetes APIs that are removed in your current Kubernetes version) against the chart you are passing with the updated/supported API versions. So when Kubernetes removes an API version, the Kubernetes Go client library can no longer parse the deprecated objects and Helm therefore fails when calling the library.

Helm has the official documentation on how to recover from that scenario: https://helm.sh/docs/topics/kubernetes_apis/#updating-api-versions-of-a-release-manifest

like image 152
WindyFields Avatar answered Oct 14 '25 21:10

WindyFields


Helm doesn't like that an old version of the template contains removed apiVersion’s and results in the above error.To fix it, follow the steps in the official documentation from Helm.

Because we didn’t upgrade the apiVersion before it was removed, we had to follow the manual approach. We have quite a few services that need updating, in two different kubernetes clusters (production and test). So there is a script that would update the apiVersion for the ingress object.You can find the script here.

The script assumes that you want to change networking.k8s.io/v1beta1 to networking.k8s.io/v1. If you have a problem with another apiVersion, change those values in the script in line 30. Updating your helm chart template if further changes are needed and deploy/apply the new helm chart.

like image 43
Sai Chandra Gadde Avatar answered Oct 14 '25 22:10

Sai Chandra Gadde