From 82e44210d8fcbc00afbb6cd88632960adda0acc7 Mon Sep 17 00:00:00 2001 From: Stephan Feurer Date: Fri, 19 Jul 2024 11:08:53 +0200 Subject: [PATCH] Add general guideline for control plane node scaling Relates: OCP-840 --- .../pages/references/cp_node_scaling.adoc | 42 +++++++++++++++++++ docs/modules/ROOT/partials/nav.adoc | 1 + 2 files changed, 43 insertions(+) create mode 100644 docs/modules/ROOT/pages/references/cp_node_scaling.adoc diff --git a/docs/modules/ROOT/pages/references/cp_node_scaling.adoc b/docs/modules/ROOT/pages/references/cp_node_scaling.adoc new file mode 100644 index 00000000..cfdae2cd --- /dev/null +++ b/docs/modules/ROOT/pages/references/cp_node_scaling.adoc @@ -0,0 +1,42 @@ += Control Plane Node Scaling + +The control plane node resource requirements depent on a number of different metrics. +CPU requirements generally depend on the ammount on API write requests, +while memory requirements generally depend on the amount of resource objects (most importantly Pod count) in the cluster. + +To avoid cascading failures during a scheduled node reboot or an unexpected node failure, +it's recommended to keep the overall CPU and memory usage not significantly higher than 60%. + +The following guiedlines are an estimate, based on metrics collected from our managed clusters. +Individual clusters may vary depending on worker node size and individual workload running on the cluster. + +[cols="1,1"] +|=== +| Control Plane Spec | Cluster Parameters + +| 4 CPU + +16Gi Memory + +| Small Cluster + +max. 3 Worker Nodes + + +| 4 CPU + +24Gi Memory + +| Small Cluster + +more than 500 Pods + + +| 4 CPU + +32Gi Memory + +| Medium Cluster + +more than 1000 Pods +|=== diff --git a/docs/modules/ROOT/partials/nav.adoc b/docs/modules/ROOT/partials/nav.adoc index 55c27f68..b39cfdbf 100644 --- a/docs/modules/ROOT/partials/nav.adoc +++ b/docs/modules/ROOT/partials/nav.adoc @@ -237,6 +237,7 @@ ** xref:oc4:ROOT:references/annotations.adoc[] ** xref:oc4:ROOT:references/labels.adoc[] ** xref:oc4:ROOT:references/projectsyn/developer.adoc[] +** xref:oc4:ROOT:references/cp_node_scaling.adoc[] * Decisions ** xref:oc4:ROOT:explanations/decisions/machine-api.adoc[]