From f9019cdd3134119689a8266bf7d884969dd89843 Mon Sep 17 00:00:00 2001 From: Ivan Stukov Date: Tue, 17 Feb 2026 02:42:15 +0500 Subject: [PATCH 1/2] docs: refactor resource-planning Co-Authored-By: Claude Signed-off-by: Ivan Stukov --- .../en/docs/v0/install/resource-planning.md | 61 ++++++------------- .../en/docs/v1/install/resource-planning.md | 61 ++++++------------- 2 files changed, 40 insertions(+), 82 deletions(-) diff --git a/content/en/docs/v0/install/resource-planning.md b/content/en/docs/v0/install/resource-planning.md index b6baf724..611d4b05 100644 --- a/content/en/docs/v0/install/resource-planning.md +++ b/content/en/docs/v0/install/resource-planning.md @@ -7,58 +7,37 @@ aliases: - /docs/install/resource-planning --- -## System Resource Planning Recommendations - -How much system resources to allocate per node depending on cluster scale. - -These recommendations are based on real-world usage cases from production deployments. While workloads vary across different environments, these calculations should provide reasonably accurate estimates for planning purposes. +This guide helps you plan system resource allocation per node based on cluster size and tenant count. Recommendations are based on production deployments and provide reasonably accurate estimates for planning purposes. {{% alert color="warning" %}} -**Important:** All values on this page show only the resources that need to be reserved for system components. They do not include resources for running tenant workloads (applications, databases, Kubernetes clusters, VMs, etc.). When planning your infrastructure, add the resources required for tenant workloads on top of these system resource requirements. +**Important:** Values shown are only for system components. Add your tenant workload requirements (applications, databases, Kubernetes clusters, VMs, etc.) on top of these. {{% /alert %}} -### Simple Recommendations - -**Basic recommendation**: Allocate at least **2 CPU cores** and **5 GB memory** per node for system components. - -Scale Dependency: - -**By number of nodes:** -- Small cluster (3-5 nodes): ~2 CPU cores, ~6 GB memory per node -- Medium cluster (6-10 nodes): ~3 CPU cores, ~7 GB memory per node -- Large cluster (10+ nodes): ~3 CPU cores, ~9 GB memory per node - -**Important considerations:** -- System resource consumption may increase as the number of tenants and services within them grows. Each tenant adds load to system components (monitoring, logging, network policies, etc.). -- With a large number of tenants, increase the basic recommendation by **50-100% for CPU** and **100-300% for memory** depending on usage intensity. -- While operators managing these services run in a single instance, the overall system load increases with the number of tenants and workloads. More tenants mean more objects to monitor, more network policies to enforce, and more logs to collect and process. +**Quick start**: Allocate at least **2 CPU cores** and **6 GB RAM** per node for system components. For precise requirements based on your cluster size and tenant count, use the table or calculator below. -**Dependency on number of tenants:** +**Note on allocation**: These values represent expected consumption during normal operation, not hard resource reservations. Kubernetes dynamically schedules workloads, and system components will consume approximately these amounts while remaining capacity stays available for tenant workloads. -The requirements vary based on the number of tenants in your cluster. Use the table below to find the exact values for your specific cluster size and tenant count combination. +## Resource Requirements -**Note:** The values provided are baseline. Actual consumption may vary depending on the number of services within tenants and their usage intensity. With a large number of active services in tenants (e.g., 5+ services per tenant), use the next category by number of tenants. +Requirements depend on both cluster size (number of nodes) and number of tenants. With many active services per tenant (5+), consider using values from the next tenant category. -#### What to do: +| Cluster Size | Nodes | Up to 5 tenants | 6-14 tenants | 15-30 tenants | 31+ tenants | +|--------------|-------|-----------------|---------------|---------------|-------------| +| **Small** | 3-5 | CPU: 2 cores
RAM: 6 GB | CPU: 2 cores
RAM: 6 GB | CPU: 3 cores
RAM: 10 GB | CPU: 3 cores
RAM: 15 GB | +| **Medium** | 6-10 | CPU: 3 cores
RAM: 7 GB | CPU: 3 cores
RAM: 7 GB | CPU: 3 cores
RAM: 12 GB | CPU: 4 cores
RAM: 18 GB | +| **Large** | 10+ | CPU: 3 cores
RAM: 9 GB | CPU: 3 cores
RAM: 10 GB | CPU: 4 cores
RAM: 15 GB | CPU: 4 cores
RAM: 22 GB | -1. **Usage**: Monitor actual resource usage and adjust as needed -2. **Reserve**: Plan for 20-30% growth when planning -3. **Monitoring**: Regularly check actual system resource consumption -4. **Tenant consideration**: Use the table above to select appropriate values based on the number of tenants +**Planning tips:** +- Monitor actual resource consumption and adjust as needed +- Plan for 20-30% growth buffer +- With high tenant activity, consider increasing CPU by 50-100% and memory by 100-300% -### Resource Requirements Table +### Calculate Your Requirements -The table below shows CPU cores and memory (RAM) requirements per node. Rows represent cluster size (number of nodes), columns represent number of tenants. Each cell shows the recommended values on separate lines. +Use the calculator below to find requirements for your specific configuration: -| Cluster Size | Number of Nodes | Up to 5 tenants | 6-14 tenants | 15-30 tenants | 30+ tenants | -|--------------|-----------------|-----------------|---------------|---------------|-------------| -| Small | 3-5 | CPU: 2 cores
RAM: 6 GB | CPU: 2 cores
RAM: 6 GB | CPU: 3 cores
RAM: 10 GB | CPU: 3 cores
RAM: 15 GB | -| Medium | 6-10 | CPU: 3 cores
RAM: 7 GB | CPU: 3 cores
RAM: 7 GB | CPU: 3 cores
RAM: 12 GB | CPU: 4 cores
RAM: 18 GB | -| Large | 10+ | CPU: 3 cores
RAM: 9 GB | CPU: 3 cores
RAM: 10 GB | CPU: 4 cores
RAM: 15 GB | CPU: 4 cores
RAM: 22 GB | +{{< system-resource-calculator >}} -**Calculation examples:** -- Cluster with 5 nodes and 3 tenants: **2 CPU cores**, **6 GB memory** per node (Small cluster, Up to 5 tenants) -- Cluster with 5 nodes and 10 tenants: **2 CPU cores**, **6 GB memory** per node (Small cluster, 6-14 tenants) -- Cluster with 6 nodes and 25 tenants: **3 CPU cores**, **12 GB memory** per node (Medium cluster, 15-30 tenants) -- Cluster with 6 nodes and 40 tenants: **4 CPU cores**, **18 GB memory** per node (Medium cluster, 30+ tenants) +### Why Resource Requirements Scale +System resource consumption increases with cluster size and tenant count because system components must handle more Kubernetes objects to monitor, more network policies to enforce, and more logs to collect and process. diff --git a/content/en/docs/v1/install/resource-planning.md b/content/en/docs/v1/install/resource-planning.md index 90663881..f74c844d 100644 --- a/content/en/docs/v1/install/resource-planning.md +++ b/content/en/docs/v1/install/resource-planning.md @@ -5,58 +5,37 @@ description: "How much system resources to allocate per node depending on cluste weight: 6 --- -## System Resource Planning Recommendations - -How much system resources to allocate per node depending on cluster scale. - -These recommendations are based on real-world usage cases from production deployments. While workloads vary across different environments, these calculations should provide reasonably accurate estimates for planning purposes. +This guide helps you plan system resource allocation per node based on cluster size and tenant count. Recommendations are based on production deployments and provide reasonably accurate estimates for planning purposes. {{% alert color="warning" %}} -**Important:** All values on this page show only the resources that need to be reserved for system components. They do not include resources for running tenant workloads (applications, databases, Kubernetes clusters, VMs, etc.). When planning your infrastructure, add the resources required for tenant workloads on top of these system resource requirements. +**Important:** Values shown are only for system components. Add your tenant workload requirements (applications, databases, Kubernetes clusters, VMs, etc.) on top of these. {{% /alert %}} -### Simple Recommendations - -**Basic recommendation**: Allocate at least **2 CPU cores** and **5 GB memory** per node for system components. - -Scale Dependency: - -**By number of nodes:** -- Small cluster (3-5 nodes): ~2 CPU cores, ~6 GB memory per node -- Medium cluster (6-10 nodes): ~3 CPU cores, ~7 GB memory per node -- Large cluster (10+ nodes): ~3 CPU cores, ~9 GB memory per node - -**Important considerations:** -- System resource consumption may increase as the number of tenants and services within them grows. Each tenant adds load to system components (monitoring, logging, network policies, etc.). -- With a large number of tenants, increase the basic recommendation by **50-100% for CPU** and **100-300% for memory** depending on usage intensity. -- While operators managing these services run in a single instance, the overall system load increases with the number of tenants and workloads. More tenants mean more objects to monitor, more network policies to enforce, and more logs to collect and process. +**Quick start**: Allocate at least **2 CPU cores** and **6 GB RAM** per node for system components. For precise requirements based on your cluster size and tenant count, use the table or calculator below. -**Dependency on number of tenants:** +**Note on allocation**: These values represent expected consumption during normal operation, not hard resource reservations. Kubernetes dynamically schedules workloads, and system components will consume approximately these amounts while remaining capacity stays available for tenant workloads. -The requirements vary based on the number of tenants in your cluster. Use the table below to find the exact values for your specific cluster size and tenant count combination. +## Resource Requirements -**Note:** The values provided are baseline. Actual consumption may vary depending on the number of services within tenants and their usage intensity. With a large number of active services in tenants (e.g., 5+ services per tenant), use the next category by number of tenants. +Requirements depend on both cluster size (number of nodes) and number of tenants. With many active services per tenant (5+), consider using values from the next tenant category. -#### What to do: +| Cluster Size | Nodes | Up to 5 tenants | 6-14 tenants | 15-30 tenants | 31+ tenants | +|--------------|-------|-----------------|---------------|---------------|-------------| +| **Small** | 3-5 | CPU: 2 cores
RAM: 6 GB | CPU: 2 cores
RAM: 6 GB | CPU: 3 cores
RAM: 10 GB | CPU: 3 cores
RAM: 15 GB | +| **Medium** | 6-10 | CPU: 3 cores
RAM: 7 GB | CPU: 3 cores
RAM: 7 GB | CPU: 3 cores
RAM: 12 GB | CPU: 4 cores
RAM: 18 GB | +| **Large** | 10+ | CPU: 3 cores
RAM: 9 GB | CPU: 3 cores
RAM: 10 GB | CPU: 4 cores
RAM: 15 GB | CPU: 4 cores
RAM: 22 GB | -1. **Usage**: Monitor actual resource usage and adjust as needed -2. **Reserve**: Plan for 20-30% growth when planning -3. **Monitoring**: Regularly check actual system resource consumption -4. **Tenant consideration**: Use the table above to select appropriate values based on the number of tenants +**Planning tips:** +- Monitor actual resource consumption and adjust as needed +- Plan for 20-30% growth buffer +- With high tenant activity, consider increasing CPU by 50-100% and memory by 100-300% -### Resource Requirements Table +### Calculate Your Requirements -The table below shows CPU cores and memory (RAM) requirements per node. Rows represent cluster size (number of nodes), columns represent number of tenants. Each cell shows the recommended values on separate lines. +Use the calculator below to find requirements for your specific configuration: -| Cluster Size | Number of Nodes | Up to 5 tenants | 6-14 tenants | 15-30 tenants | 30+ tenants | -|--------------|-----------------|-----------------|---------------|---------------|-------------| -| Small | 3-5 | CPU: 2 cores
RAM: 6 GB | CPU: 2 cores
RAM: 6 GB | CPU: 3 cores
RAM: 10 GB | CPU: 3 cores
RAM: 15 GB | -| Medium | 6-10 | CPU: 3 cores
RAM: 7 GB | CPU: 3 cores
RAM: 7 GB | CPU: 3 cores
RAM: 12 GB | CPU: 4 cores
RAM: 18 GB | -| Large | 10+ | CPU: 3 cores
RAM: 9 GB | CPU: 3 cores
RAM: 10 GB | CPU: 4 cores
RAM: 15 GB | CPU: 4 cores
RAM: 22 GB | +{{< system-resource-calculator >}} -**Calculation examples:** -- Cluster with 5 nodes and 3 tenants: **2 CPU cores**, **6 GB memory** per node (Small cluster, Up to 5 tenants) -- Cluster with 5 nodes and 10 tenants: **2 CPU cores**, **6 GB memory** per node (Small cluster, 6-14 tenants) -- Cluster with 6 nodes and 25 tenants: **3 CPU cores**, **12 GB memory** per node (Medium cluster, 15-30 tenants) -- Cluster with 6 nodes and 40 tenants: **4 CPU cores**, **18 GB memory** per node (Medium cluster, 30+ tenants) +### Why Resource Requirements Scale +System resource consumption increases with cluster size and tenant count because system components must handle more Kubernetes objects to monitor, more network policies to enforce, and more logs to collect and process. From a7c0305b734aca458e502b635a6194c3d16c44cb Mon Sep 17 00:00:00 2001 From: Ivan Stukov Date: Tue, 17 Feb 2026 03:01:22 +0500 Subject: [PATCH 2/2] feat: add interactive resource calculator shortcode Co-Authored-By: Claude Signed-off-by: Ivan Stukov --- .../en/docs/v0/install/resource-planning.md | 2 +- .../en/docs/v1/install/resource-planning.md | 2 +- .../system-resource-calculator.html | 204 ++++++++++++++++++ 3 files changed, 206 insertions(+), 2 deletions(-) create mode 100644 layouts/shortcodes/system-resource-calculator.html diff --git a/content/en/docs/v0/install/resource-planning.md b/content/en/docs/v0/install/resource-planning.md index 611d4b05..5f642eda 100644 --- a/content/en/docs/v0/install/resource-planning.md +++ b/content/en/docs/v0/install/resource-planning.md @@ -25,7 +25,7 @@ Requirements depend on both cluster size (number of nodes) and number of tenants |--------------|-------|-----------------|---------------|---------------|-------------| | **Small** | 3-5 | CPU: 2 cores
RAM: 6 GB | CPU: 2 cores
RAM: 6 GB | CPU: 3 cores
RAM: 10 GB | CPU: 3 cores
RAM: 15 GB | | **Medium** | 6-10 | CPU: 3 cores
RAM: 7 GB | CPU: 3 cores
RAM: 7 GB | CPU: 3 cores
RAM: 12 GB | CPU: 4 cores
RAM: 18 GB | -| **Large** | 10+ | CPU: 3 cores
RAM: 9 GB | CPU: 3 cores
RAM: 10 GB | CPU: 4 cores
RAM: 15 GB | CPU: 4 cores
RAM: 22 GB | +| **Large** | 11+ | CPU: 3 cores
RAM: 9 GB | CPU: 3 cores
RAM: 10 GB | CPU: 4 cores
RAM: 15 GB | CPU: 4 cores
RAM: 22 GB | **Planning tips:** - Monitor actual resource consumption and adjust as needed diff --git a/content/en/docs/v1/install/resource-planning.md b/content/en/docs/v1/install/resource-planning.md index f74c844d..97c1c656 100644 --- a/content/en/docs/v1/install/resource-planning.md +++ b/content/en/docs/v1/install/resource-planning.md @@ -23,7 +23,7 @@ Requirements depend on both cluster size (number of nodes) and number of tenants |--------------|-------|-----------------|---------------|---------------|-------------| | **Small** | 3-5 | CPU: 2 cores
RAM: 6 GB | CPU: 2 cores
RAM: 6 GB | CPU: 3 cores
RAM: 10 GB | CPU: 3 cores
RAM: 15 GB | | **Medium** | 6-10 | CPU: 3 cores
RAM: 7 GB | CPU: 3 cores
RAM: 7 GB | CPU: 3 cores
RAM: 12 GB | CPU: 4 cores
RAM: 18 GB | -| **Large** | 10+ | CPU: 3 cores
RAM: 9 GB | CPU: 3 cores
RAM: 10 GB | CPU: 4 cores
RAM: 15 GB | CPU: 4 cores
RAM: 22 GB | +| **Large** | 11+ | CPU: 3 cores
RAM: 9 GB | CPU: 3 cores
RAM: 10 GB | CPU: 4 cores
RAM: 15 GB | CPU: 4 cores
RAM: 22 GB | **Planning tips:** - Monitor actual resource consumption and adjust as needed diff --git a/layouts/shortcodes/system-resource-calculator.html b/layouts/shortcodes/system-resource-calculator.html new file mode 100644 index 00000000..ca1b54b6 --- /dev/null +++ b/layouts/shortcodes/system-resource-calculator.html @@ -0,0 +1,204 @@ +{{ $_hugo_config := `{ "version": 1 }` }} +
+
+
+
+ + +
+ +
+ + +
+
+ +
+
+
CPU per Node
+
2 cores
+
+
+
RAM per Node
+
6 GB
+
+
+
+
+ + + +