kyma-project / kyma

Kyma is an opinionated set of Kubernetes-based modular building blocks, including all necessary capabilities to develop and run enterprise-grade cloud-native applications.
https://kyma-project.io
Apache License 2.0
1.52k stars 405 forks source link

Monitoring CRDs can't install on k8s 1.18 #8220

Closed hisarbalik closed 4 years ago

hisarbalik commented 4 years ago

Description

Monitoring chart with version 0.38.0 not installable on k8s 1.18 with following error

Step error:  Details: Helm install error: rpc error: code = Unknown desc = release cluster-essentials failed: CustomResourceDefinition.apiextensions.k8s.io "alertmanagers.monitoring.coreos.com" is invalid: [spec.validation.openAPIV3Schema.properties[spec].properties[initContainers].items.properties[ports].items.properties[protocol].default: Required value: this property is in x-kubernetes-list-map-keys, so it must have a default or be a required property, spec.validation.openAPIV3Schema.properties[spec].properties[containers].items.properties[ports].items.properties[protocol].default: Required value: this property is in x-kubernetes-list-map-keys, so it must have a default or be a required property]

Issue is knowing, ticket from Promethues-Operator project -> https://github.com/coreos/prometheus-operator/issues/3122 Expected result

Monitoring chart install without validation error on k8s 1.18

Actual result

Kyma installation fail due to prometheus CRD validation error

Steps to reproduce

Create cluster with k8s version 1.18 Install master branch with kyma cli

hisarbalik commented 4 years ago

With k8s version 1.18 CR validation rules has been changed, prometheus CRs are not more compatible with newest kubernetes version. Main issue is list/map type declaration and default values in CRs. Default values should be removed and list/map types changed (mainly structure changes like no top-level version and validation anymore)

Prometheus operator will release fix with next version, until this released all CRs will be in current version manually adapted.