08/22/2022, 4:15 PM
due to unfortunate circumstance, we have to fix a rancher system running on rke with kubernetes v1.23.8. the rancher installation on the system is version 2.6.3. A recent upgrade of the underlaying kubernetes version upgraded the ingress that shipped with the rancher installations' helm chart from networking.k8s.io/v1beta1 to networking.k8s.io/v1. Subsequent attempts to use helm upgrade to upgrade the rancher installation are failing because helm can no longer find networking.k8s.io/v1beta1 (even though neither the new version of rancher nor the current ingress resource use that version). I'm assuming that helm is using the old release manifest and is attempting to compare that while upgrading but I am not entirely sure why it is trying to use the old ingress version. The exact error message is
Error: UPGRADE FAILED: unable to build kubernetes objects from current release manifest: resource mapping not found for name: "rancher" namespace: "" from "": no matches for kind "Ingress" in version "<http://networking.k8s.io/v1beta1|networking.k8s.io/v1beta1>"
ensure CRDs are installed first
I'd absolutely love any help on this


08/22/2022, 5:25 PM
I am not sure that this is the same issue, but something that resembles this happened to us last year, when we upgraded a cluster with breaking API changes and some of our Helm deployments broke.
I ended up using a tool that edited the stored manifests in the cluster.
Wrote about it in SO here: https://stackoverflow.com/a/66210305/268093, and it worked perfectly for us (don't know why it was downvoted).
The link to the tool in the post is outdated. This is the official one: https://github.com/helm/helm-mapkubeapis


08/22/2022, 5:44 PM
👍 cheers, we just got done editing the manifests manually, which worked 🙂
for the future I'll keep note of the plugin though
👍 1


08/23/2022, 8:39 AM
That's a very neat tool that I didn't know about. Will add this to my own documentation in case I run into these kind of issues at some point.