Closed maboehm closed 4 months ago
Hi @maboehm does it work if you kubectl create -f ...
instead?
I think the main difference is that apply
also saves the last applied configuration in the annotations, which doubles the size required and can more easily trigger the etcd limit.
kubectl apply -f https://raw.githubusercontent.com/kubernetes-sigs/prow/main/config/prow/cluster/prowjob-crd/prowjob_customresourcedefinition.yaml --server-side
(apparently it doesn't, sorry)
Either way, since tools like Helm or Flux use apply
the size should work for that as well.
I have been using apply --server-side=true
to avoid the annotation. It looks like the CRD itself is finally too large. With server side apply it worked up until https://github.com/kubernetes-sigs/prow/commit/e67659d368fd013492a9ce038d801ba8998b7d10 (including). From https://github.com/kubernetes-sigs/prow/commit/64052956637fb92301edded100fcf18e49930ed5 it is no longer possible to apply.
The only way to avoid this is to reduce the size of the CRD or configure etcd to allow a larger size. :slightly_frowning_face:
ok well I think we have to shrink it... @maboehm wanna have a try?
Hi,
the prowJob CR just recently crossed the threshold of being too large, for example running against a kind cluster:
Am I doing something wrong when applying?
In terms of solving this issue, the main problem is that there is a lot of repetition, e.g. the
taskPodTemplate
appears several times. It would be possible to have some fields as e.g.apiextension.JSON
orruntime.RawExtension
and defer validation to a validatingwebhook. Which makes the output of e.g.kubectl explain
less helpful.