From 131a9ada75a576c10a065ea6e7cc60d9432f95ee Mon Sep 17 00:00:00 2001 From: Richard Wall Date: Tue, 9 Apr 2024 08:51:21 +0100 Subject: [PATCH] Explain the memory use of the default cert-manager installation Signed-off-by: Richard Wall --- content/docs/devops-tips/large-clusters.md | 77 ++++++++++++++++++ content/docs/manifest.json | 4 + .../large-clusters/default-memory-1.png | Bin 0 -> 61872 bytes 3 files changed, 81 insertions(+) create mode 100644 content/docs/devops-tips/large-clusters.md create mode 100644 public/docs/devops-tips/large-clusters/default-memory-1.png diff --git a/content/docs/devops-tips/large-clusters.md b/content/docs/devops-tips/large-clusters.md new file mode 100644 index 00000000000..b64c77d778b --- /dev/null +++ b/content/docs/devops-tips/large-clusters.md @@ -0,0 +1,77 @@ +--- +title: Deploying cert-manager on Large Clusters +description: | + Learn how to optimize cert-manager for deployment on large clusters, + with thousands of Certificate and Secret resources. +--- + +Learn how to optimize cert-manager for deployment on large clusters, +with thousands of Certificate and Secret resources. + +## Overview + +The defaults in the Helm chart or YAML manifests are intended for general use. +You will need to modify the configuration if your Kubernetes cluster has thousands of Certificate resources and TLS Secrets. + +## Memory + +### Recommendations + +Here are some `memory.request` recommendations for each of the cert-manager components in different scenarios: + +| Scenario | controller (Mi) | cainjector (Mi) | webhook (Mi) | +|----------------------------|-----------------|-----------------|--------------| +| 2000 RSA 4096 Certificates | 350 | 150 | 50 | + +> 📖️ Read [What Everyone Should Know About Kubernetes Memory Limits](https://home.robusta.dev/blog/kubernetes-memory-limit), +> to learn why the best practice is to set memory limit equal to memory request. + +### Rationale + +**When Certificate resources are the dominant use-case**, +such as when workloads need to mount the TLS Secret or when gateway-shim is used, +the memory consumption of the cert-manager controller will be roughly +proportional to the total size of those Secret resources that contain the TLS +key pairs. +Why? Because the cert-manager controller caches the entire content of these Secret resources in memory. +If large TLS keys are used (e.g. RSA 4096) the memory use will be higher than if smaller TLS keys are used (e.g. ECDSA). + +The other Secrets in the cluster, such as those used for Helm chart configurations or for other workloads, +will not significantly increase the memory consumption, because cert-manager will only cache the metadata of these Secrets. + +**When CertificateRequest resources are the dominant use-case**, +such as with csi-driver or with istio-csr, +the memory consumption of the cert-manager controller will be much lower, +because there will be fewer TLS Secrets and fewer resources to be cached. + +### Evidence + +This chart shows the memory consumption of the cert-manager controller (1.14) +during an experiment where 2000 RSA 4096 Certificate are created, signed and +then deleted. + +Scatter chart showing cert-manager memory usage and cluster resource counts over time + +The pattern of memory consumption can be explained as follows: + +1. `0min`: `~50MiB`: There are 0 Certificates. + There are 13 incidental Secret resources which are: + Helm chart configuration Secrets, and + other Secrets of the metrics-server and Prometheus stack, which are also installed in the test cluster. + All the cert-manager Deployments were restarted before the experiment and the components have only cached cached resources. +1. `33min`: `~260MiB`: All 2000 Certificate resources have been reconciled. + Every Certificate now has a corresponding CertificateRequest and TLS Secret. + There are `~3600` Secret resources -- `~1600` more than can be explained by the 2000 TLS Secrets. + **Why?** + Possibly because cert-manager creates a temporary Secret resource for each Certificate. + The temporary Secret is where cert-manager stores the private key when it is first generated. + After the TLS certificate has been signed, the temporary Secret is deleted. +1. `40min`: `~280MiB`: When remaining temporary Secret resources are being deleted. + This causes a spike in memory. **Why?**. +1. `42min`: `~225MiB`: The Go garbage collector eventually frees the memory which had been allocated for the recently deleted Secrets. +1. `46min`: `~300MiB`: The Certificates and Secrets are now being rapidly deleted. + This causes another spike in memory. **Why?**. +1. `48min`: `~280MiB`: All the Certificate, CertificateRequest and Secret resources have now been deleted, + but the memory consumption remains at roughly the peak size. + **Why?** + The memory which had been allocated to cache the resources is not immediately freed. diff --git a/content/docs/manifest.json b/content/docs/manifest.json index 09cd5945a6a..922bb18816f 100644 --- a/content/docs/manifest.json +++ b/content/docs/manifest.json @@ -646,6 +646,10 @@ { "title": "Best Practice Installation Options", "path": "/docs/installation/best-practice.md" + }, + { + "title": "Large Cluster Configuration", + "path": "/docs/devops-tips/large-clusters.md" } ] }, diff --git a/public/docs/devops-tips/large-clusters/default-memory-1.png b/public/docs/devops-tips/large-clusters/default-memory-1.png new file mode 100644 index 0000000000000000000000000000000000000000..8762ee3d0a20f48ce3595d8a8fc3f720576085b6 GIT binary patch literal 61872 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 literal 0 HcmV?d00001