How can I understand and resolve helm chart errors?

Hi all, I get the following error message when trying to install the rasa x helm chart:

Error: unable to build kubernetes objects from release manifest: unable to recognize "": no matches for kind "Ingress" in version "extensions/v1beta1

Is there anyone who can help me understand this error message?

These are the commands I use in the terminal:

  • helm repo add rasa-x https://rasahq.github.io/rasa-x-helm

  • kubectl create namespace my-namespace

  • helm --namespace my-namespace install --values values.yml my-release rasa-x/rasa-x

In my values.yaml I have:

nginx:
  service:
    # connect LoadBalancer directly to VMs' internal IP
    # You get this value with: $ hostname -I
    externalIPs: [10.164.0.2]
1 Like

I also asked this question on stackoverflow and someone gave me this answer:

Unfortunately, I still haven’t found a solution. :woozy_face:


The chart you are using tries to create an Ingress object, using an API version that was deprecated a while ago, and is no longer recognized.

Issue comes from there: https://github.com/RasaHQ/rasa-x-helm/blob/main/charts/rasa-x/templates/ingress.yaml#L4-L10

For some reason, Helm doesn’t detect the proper API version (.Capabilities.KubeVersion.Version). Though having worked on other charts, capabilites discovery isn’t 100% reliable - eg. using ArgoCD.

As a workaround, you could try to generate objects into a file:

helm --dry-run [your-options] >my-rendered-chart.yaml
sed -i 's|extensions/v1beta1|networking.k8s.io/v1|' my-rendered-chart.yaml
kubectl apply -f my-rendered-chart.yaml

Although this kinda defeats the purpose of Helm. It would be best to figure out a fix and contribute it.

To work on a chart, you could extract it locally, using.

helm repo add rasahq  https://rasahq.github.io/rasa-x-helm 
helm fetch rasahq/rasa-x --untar
ls rasa-x/

You could then work on a patch, testing your changes with:

helm install --dry-run --debug ./my-chart
helm install --dry-run --debug ./my-chart | kubectl apply -f-
...

Additional info:

$ kubectl version --short

Client Version: v1.22.2-3+9ad9ee77396805

Server Version: v1.22.2-3+9ad9ee77396805

$ kubectl explain ingress

KIND: Ingress

VERSION: networking.k8s.io/v1

The problem occurred with kubernetes version v1.22. I solved the problem by installing kubernetes version v1.21.