netdata/helmchart

kubernetes 1.16.0 compatibility

Closed this issue · 4 comments

trying to deploy the helm chart with kubernetes 1.16.0, I get the following error
Error: validation failed: unable to recognize "": no matches for kind "StatefulSet" in version "apps/v1beta2"

Changing the api from apps/v1beta2 to apps/v1 in statefulset.yaml fixes it.
Let me know if you want me to make a PR.

Based on this, I saw that apiVersion is a mess in our helmchart:

templates/clusterrolebinding.yaml:apiVersion: rbac.authorization.k8s.io/v1
templates/clusterrole.yaml:apiVersion: rbac.authorization.k8s.io/v1
templates/configmap.yaml:apiVersion: v1
templates/configmap.yaml:apiVersion: v1
templates/daemonset.yaml:apiVersion: apps/v1
templates/ingress.yaml:apiVersion: extensions/v1beta1
templates/serviceaccount.yaml:apiVersion: v1
templates/service.yaml:apiVersion: v1
templates/statefulset.yaml:apiVersion: apps/v1beta2

I don't know enough to understand how many different settings we need, but it looks like we should have all the necessary values in values.yaml and document them on the README. Is it something you'd be willing to do @happysalada ?

it looks like from the deprecation notice
that ingress.yaml api version should be replaced with
networking.k8s.io/v1
and that statefulset.yaml api version should be replaced with
apps/v1
the minimum kubernetes version supported should be updated to 1.9.

making it configurable would be to support kubernetes 1.8. Do you guys have strong feelings about it?
(I see this as one less thing to remember to delete in the future, so potentially reduce the maintenance burden)

The key thing here is that people shouldn't have to pass an entire config file to override something that may be different from one user's environment to another. So making the apiVersion configurable seems like a one-way street to me but again, I'm no expert. Let's see if we get any more comments here in the next few days.

This was fixed by #57 and we just increased the minimum required version in README.md to be consistent with the first appearance of statefulset in api/v1.