Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

kubectl and descheduler CPU utilisation values are vastly different #270

Closed
duronrulez opened this issue Apr 23, 2020 · 3 comments
Closed
Labels
kind/feature Categorizes issue or PR as related to a new feature.

Comments

@duronrulez
Copy link

We've notice that the values for CPU utilisation between kubectl top nodes and the descheduler are vastly different.

I0423 10:01:19.375155    7053 lownodeutilization.go:156] Node "XXX" is appropriately utilized with usage: api.ResourceThresholds{"cpu":44.05815423514539, "memory":38.10868466231932, "pods":18.96551724137931}

while kubectl top nodes reports

NAME                                        CPU(cores)   CPU%   MEMORY(bytes)   MEMORY%
XXX    7946m        100%   10365Mi         81%

The values are vastly different and the ones reported by kubectl seem to be the ones that match the node usage. Is there any reason why the 2 values will missmatch so much?

@seanmalloy
Copy link
Member

/close

@duronrulez currently the LowNodeUtilization descheduler strategy uses container requests not the actual CPU and memory utilization. Yes, the word utilization is in the name of the strategy, and this is confusing. There is a one liner in the README that describes this, Currently, pods request resource requirements are considered for computing node resource utilization..

See #7 for a discussion around utilization vs allocation terminology confusion. See #225 for a discussion on adding a new strategy that is based on actual container utilization metrics.

@k8s-ci-robot
Copy link
Contributor

@seanmalloy: Closing this issue.

In response to this:

/close

@duronrulez currently the LowNodeUtilization descheduler strategy uses container requests not the actual CPU and memory utilization. Yes, the word utilization is in the name of the strategy, and this is confusing. There is a one liner in the README that describes this, Currently, pods request resource requirements are considered for computing node resource utilization..

See #7 for a discussion around utilization vs allocation terminology confusion. See #225 for a discussion on adding a new strategy that is based on actual container utilization metrics.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@seanmalloy
Copy link
Member

/kind feature

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/feature Categorizes issue or PR as related to a new feature.
Projects
None yet
Development

No branches or pull requests

3 participants