grafeas/kritis

Kubernetes 1.16 support

gmathes opened this issue · 11 comments

Is your feature request related to a problem? Please describe.
Kritis v0.2.0 does not seem to be compatible with Kubernetes version 1.16

Error: unable to build kubernetes objects from release manifest: [unable to recognize "": no matches for kind "Deployment" in version "apps/v1beta2", error validating "": error validating data: ValidationError(ClusterRole.metadata): unknown field "kritis.grafeas.io/install" in io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta]

Describe the solution you'd like
Updated helm charts that support the newer APIs and CRD definitions
https://kubernetes.io/blog/2019/09/18/kubernetes-1-16-release-announcement/

Describe alternatives you've considered
We are manually updating our own deployment files to meet the requirements for 1.16

Additional context
This is more for awareness. I don't think GKE supports 1.16 yet but others might be using Kritis in a non-GKE environment.

@gmathes would you mind to share what kind of changes you need to apply to make it work? I'm struggling to understand what are the errors : #428 (comment)

Actually, I doubled checked and I'm running 1.14 and I'm having the same issue, so in some point between 1.9 and 1.14 the helm chart stopped working

I think this requires bumping the kubectl version in https://github.com/grafeas/kritis/blob/master/helm-hooks/Dockerfile and re-releasing.

This should be fixed in the upcoming 0.2.1 release in #444.

The 0.2.1 release is out. Please re-open this issue if it's still not fixed in the new release. Thanks!

The deployment is still using a deprecated API:

helm install https://storage.googleapis.com/kritis-charts/repository/kritis-charts-0.2.1.tgz --generate-name

Error: unable to build kubernetes objects from release manifest: unable to recognize "": no matches for kind "Deployment" in version "apps/v1beta2"

This should be fixed in 0.2.2. Please re-open if still broken.

Thanks for tackling this. Maybe I'm doing something wrong but it seems the pre-install is still failing against a 1.16 minikube cluster:

level=error msg="The CustomResourceDefinition \"attestationauthorities.kritis.grafeas.io\" is invalid: status.storedVersions[0]: Invalid value: \"v1\": must appear in spec.versions\n"

Are you installing it into a "fresh" cluster? Or have you already done something Kritis-related in that cluster?

Ah, yes, this works on a fresh cluster.

Thanks for confirming, @gmathes!