From c51c066cd11b05ea468178d4137824480d4375fe Mon Sep 17 00:00:00 2001 From: Mike Dame Date: Sun, 30 Jan 2022 12:42:42 -0500 Subject: [PATCH] Clarify resource calculations in NodeUtilization strategy Readmes This adds text explaining the resource calculation in LowNodeUtilization and HighNodeUtilization --- README.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/README.md b/README.md index 55c49f155..8ee162bd3 100644 --- a/README.md +++ b/README.md @@ -218,6 +218,12 @@ These thresholds, `thresholds` and `targetThresholds`, could be tuned as per you strategy evicts pods from `overutilized nodes` (those with usage above `targetThresholds`) to `underutilized nodes` (those with usage below `thresholds`), it will abort if any number of `underutilized nodes` or `overutilized nodes` is zero. +**NOTE:** Node resource consumption is determined by the requests and limits of pods, not actual usage. +This approach is chosen in order to maintain consistency with the kube-scheduler, which follows the same +design for scheduling pods onto nodes. This means that resource usage as reported by Kubelet (or commands +like `kubectl top`) may differ from the calculated consumption, due to these components reporting +actual usage metrics. Implementing metrics-based descheduling is currently TODO for the project. + **Parameters:** |Name|Type| @@ -285,6 +291,12 @@ strategy evicts pods from `underutilized nodes` (those with usage below `thresho so that they can be recreated in appropriately utilized nodes. The strategy will abort if any number of `underutilized nodes` or `appropriately utilized nodes` is zero. +**NOTE:** Node resource consumption is determined by the requests and limits of pods, not actual usage. +This approach is chosen in order to maintain consistency with the kube-scheduler, which follows the same +design for scheduling pods onto nodes. This means that resource usage as reported by Kubelet (or commands +like `kubectl top`) may differ from the calculated consumption, due to these components reporting +actual usage metrics. Implementing metrics-based descheduling is currently TODO for the project. + **Parameters:** |Name|Type|