Hi folks. I’m comparing a few different Kubernetes variants, looking into how much memory they use per CRD installed. Note that I mean literally per CustomResourceDefinition that is created - not per custom resource. I’m seeing
k3s server
w/sqlite use ~4MB/CRD, which is about the same as the upstream API server. Does that sound about right?
c
creamy-pencil-82913
07/08/2022, 1:48 AM
I don't think that's something we've ever tuned for or benchmarked against, but yeah I would expect it to be the same as upstream.
a
agreeable-mouse-95550
07/08/2022, 2:00 AM
Haha I figured. I don’t think it’s something most folks think about until it becomes a problem. 🙂 Thanks!
We’re into the low thousands of CRDs in Crossplane so we’re seeing API server memory usage climbing above 5GBs.
Interestingly https://github.com/kcp-dev/kcp seems to be the best in this regard - they’re at something like 1-2MiB/CRD. I thought that might be because they’re lacking a bunch of OpenAPI functionality, but if I understand correctly k3s dropped some of that too.