Search code examples
kuberneteskubernetes-helmenvoyproxyk3s

Helm install fails on K3s : ensure CRDs are installed first


My team and I are new to Kubernetes and are experimenting with running a few applications on it.

For proof of concept, we have a running Lightweight Kubernetes (K3s) install, which presumably does not have the full range of CRDs available on a standard Kubernetes. While trying to install Envoy proxy via Helm Chart, we ran into the below error:

# helm install my-envoy cloudnativeapp/envoy --version 1.5.0
Error: INSTALLATION FAILED: unable to build kubernetes objects from release manifest: resource mapping not found for name: "my-envoy" namespace: "" from "": no matches for kind "PodDisruptionBudget" in version "policy/v1beta1"
ensure CRDs are installed first

Presumably the message ensure CRDs are installed first refers to components that are missing in K3s. Is there a way to get these components installed (via Helm or some other methods)?


Solution

  • Most likely the problem is not related to missing CRDs but to the kubernetes version. I assume you are using the latest K3S version, which is v1.25.4. PodDisruptionBudget was moved from policy/v1beta1 to policy/v1 in version v1.25. As the Envoy helm chart that you are using does not seem to be actively maintained, probably you will have to downgrade K3S or find a different chart.