Jan Chaloupka
d998d82357
HighNodeUtilization: add NodeFit feature
2021-06-08 16:59:43 +02:00
Kubernetes Prow Robot
3843a2d5d1
Merge pull request #550 from hanumanthan/highnodeutilisation
...
Highnodeutilization strategy
2021-06-08 01:59:12 -07:00
Hanu
4cd1e66ef3
Adding highnodeutilization strategy
2021-06-06 18:01:42 +08:00
Hanu
2f18864fa5
Refractor - Modify the common functions to be used by high utilisation
2021-06-06 18:00:43 +08:00
Hanu
6e71068f4f
Refractoring lownodeutilization - extracting common functions
2021-06-06 18:00:29 +08:00
Amir Alavi
012ca2398f
Filter pods by labelSelector during eviction for TopologySpreadConstraint strategy
2021-06-01 15:42:23 -04:00
RyanDevlin
41d46d0d3b
Working nodeFit feature
2021-05-24 09:03:38 -04:00
Kubernetes Prow Robot
3b9d3d9719
Merge pull request #563 from ingvagabund/removeduplicates-take-taints-into-account-for-node-count
...
RemoveDuplicates: take node taints, node affinity and node selector into account when computing a number of feasible nodes for the average occurence of pods per node
2021-05-21 05:38:46 -07:00
Jan Chaloupka
5396282e3d
RemoveDuplicates: take node taints, node affinity and node selector into account when computing a number of feasible nodes for the average occurence of pods per node
...
Nodes with taints which are not tolerated by evicted pods will never run the
pods. The same holds for node affinity and node selector.
So increase the number of pods per feasible nodes to decrease the
number of evicted pods.
2021-05-18 16:13:24 +02:00
BinacsLee
fe8e17f72c
fix staticcheck failure for pkg/descheduler/descheduler_test.go
2021-05-17 23:07:12 +08:00
Amir Alavi
24c0ca2ef9
Take node's taints into consideration when balancing domains
2021-05-14 15:23:58 -04:00
Mike Dame
fc83c13166
Add test cases for soft constraints/multi constraints
2021-05-12 08:36:07 -04:00
Jan Chaloupka
4edbecc85d
Define NodeSelectorsEqual predicate
2021-05-09 18:08:32 +02:00
Jan Chaloupka
54f67266bb
Define TolerationsEqual
2021-05-09 18:08:27 +02:00
Sean Malloy
6bde95c9a1
Use Structured Logging For Unknown Strategy Log Message
...
Always use structured logging. Therefore update klog.Errorf() to instead
use klog.ErrorS().
Here is an example of the new log message.
E0428 23:58:57.048912 586 descheduler.go:145] "skipping strategy" err="unknown strategy name" strategy=ASDFPodLifeTime
2021-04-29 00:00:07 -05:00
Mike Dame
feae158a50
Invert main strategy loop for performance and customizability
2021-04-28 10:36:02 -04:00
BinacsLee
c4afb6bb30
code cleanup: remove check on length
2021-04-25 21:44:20 +08:00
Xiang Liu
a848dac3cf
Updating policy api version used in pod evictor
2021-04-13 11:02:01 +08:00
Jan Chaloupka
c239e1199f
LNU: improve nodeUsage logging
...
To avoid:
```
I0210 11:56:04.137956 3309277 lownodeutilization.go:389] "Updated node usage" updatedUsage={node:0xc000460000 usage:map[cpu:0xc00042b480 memory:0xc00042b4c0 pods:0xc00042b500] allPods:[0xc0004a0000 0xc0004a03e8 0xc0004a07d0 0xc0004a0bb8 0xc0004a0fa0 0xc0004a1388 0xc0004a1770 0xc0004a1b58] lowResourceThreshold:map[cpu:0xc00042b540 memory:0xc00042b580 pods:0xc00042b5c0] highResourceThreshold:map[cpu:0xc00042b600 memory:0xc00042b640 pods:0xc00042b680]}
I0210 11:56:04.138829 3309277 lownodeutilization.go:389] "Updated node usage" updatedUsage={node:0xc000460000 usage:map[cpu:0xc00042b480 memory:0xc00042b4c0 pods:0xc00042b500] allPods:[0xc0004a0000 0xc0004a03e8 0xc0004a07d0 0xc0004a0bb8 0xc0004a0fa0 0xc0004a1388 0xc0004a1770 0xc0004a1b58] lowResourceThreshold:map[cpu:0xc00042b540 memory:0xc00042b580 pods:0xc00042b5c0] highResourceThreshold:map[cpu:0xc00042b600 memory:0xc00042b640 pods:0xc00042b680]}
I0210 11:56:04.139044 3309277 lownodeutilization.go:389] "Updated node usage" updatedUsage={node:0xc000460000 usage:map[cpu:0xc00042b480 memory:0xc00042b4c0 pods:0xc00042b500] allPods:[0xc0004a0000 0xc0004a03e8 0xc0004a07d0 0xc0004a0bb8 0xc0004a0fa0 0xc0004a1388 0xc0004a1770 0xc0004a1b58] lowResourceThreshold:map[cpu:0xc00042b540 memory:0xc00042b580 pods:0xc00042b5c0] highResourceThreshold:map[cpu:0xc00042b600 memory:0xc00042b640 pods:0xc00042b680]}
```
2021-04-06 09:43:23 +02:00
ZongqiangZhang
81b816d4a4
support extended resources in lownodeutilization
2021-04-02 21:37:51 +08:00
Sean Malloy
af01b675b0
Update Generated Code
...
Ran "make gen" using Go 1.16.1. Some changes were merged, but "make gen"
was not run. This fixes the problem.
See below PR for reference:
https://github.com/kubernetes-sigs/descheduler/pull/523
2021-04-01 00:28:20 -05:00
RyanDevlin
b5d7219391
Completed evictSystemCriticalPods feature
2021-03-29 23:13:05 -04:00
Sean Malloy
92740a25d4
Add Initial Unit Tests For StatefulSets
2021-03-23 09:24:08 -05:00
Mike Dame
af26b57e5e
(TopologySpread) Evict pods with selectors that match multiple nodes
2021-03-12 13:41:17 -05:00
Kubernetes Prow Robot
6b8d4cd5a7
Merge pull request #517 from lixiang233/fix_topology_log
...
Correct log in topology spread strategy
2021-03-07 11:31:42 -08:00
Kubernetes Prow Robot
24a06511a2
Merge pull request #505 from ingvagabund/collect-metrics
...
Collect metrics
2021-03-06 21:41:42 -08:00
lixiang
09c7d1be0a
Correct log in topology spread strategy
2021-03-06 16:21:46 +08:00
lixiang
03518badb8
Strategies: Add labelSelector to all strategies except LowNodeUtilization, RemoveDuplicates and RemovePodsViolatingTopologySpreadConstraint.
2021-03-04 21:30:50 +08:00
Jan Chaloupka
24458fb0ca
Increase pods_evicted metric
2021-03-03 16:15:21 +01:00
Jan Chaloupka
1c5b32763b
Register metrics
...
New metrics:
- build_info: Build info about descheduler, including Go version, Descheduler version, Git SHA, Git branch
- pods_evicted: Number of successfully evicted pods, by the result, by the strategy, by the namespace
2021-03-03 16:15:09 +01:00
Jan Chaloupka
3bd031bbb3
Move build's versioning bits under pkg/version
2021-03-03 15:56:53 +01:00
lixiang
854afa7c73
PodsListing: Add WithLabelSelector option.
2021-03-01 11:13:44 +08:00
lixiang
2517268b1f
API: Add a new parameter labelSelector to StrategyParameters.
2021-02-26 15:49:00 +08:00
lixiang
e014fda58e
Log and README optimization for LowNodeUtilization
2021-02-24 09:17:07 +08:00
Mike Dame
01a87b6143
Move 'total pods evicted' log message to main loop
2021-02-19 10:37:43 -05:00
Jan Chaloupka
500aaea4dd
LowNodeUtilization: unit test resourceUsagePercentages to validate percentages are computed correctly
2021-02-11 16:04:37 +01:00
范成城
16fa21a4a6
change resourceUsagePercentage func
2021-01-31 20:46:46 +08:00
Kubernetes Prow Robot
241f1325c9
Merge pull request #481 from damemi/ignore-pvc-pods
...
Add option to ignore pods with PVCs from eviction
2021-01-26 22:41:40 -08:00
Mike Dame
c1a63a557a
Add option to ignore pods with PVCs from eviction
2021-01-26 08:47:54 -05:00
lixiang
8ba9cb1df7
Add a parameter to include soft topology spread constraints
2021-01-21 11:33:16 +08:00
Mike Dame
241f47d947
Fix TopologySpread bug that evicts non-evictable pods
2021-01-12 15:25:55 -05:00
Mike Dame
635a40f305
Add Logging field to v1alpha1 componentconfig
2021-01-11 11:21:32 -05:00
wu.chaozong
c481877c03
refactor: update node_test file
2020-12-15 21:15:33 +08:00
wu.chaozong
674f14da78
refactor: remove unused code
2020-12-13 00:09:07 +08:00
Kubernetes Prow Robot
c86d1c7eb2
Merge pull request #463 from ingvagabund/duplicates-uniformly
...
RemoveDuplicatePods: evict uniformly
2020-12-10 07:14:13 -08:00
Jan Chaloupka
f67c265533
RemoveDuplicatePods: evict uniformly
2020-12-10 15:33:04 +01:00
Mike Dame
0273fd7597
Skip topology calculations if domains are already balanced
2020-12-09 11:29:59 -05:00
Mike Dame
499beb2fd7
Fix broken namespace logic in TopologySpreadConstraint
2020-12-04 10:49:58 -05:00
Mike Dame
2b5ec01381
Add more topology spread logs
2020-12-01 17:02:46 -05:00
Jan Chaloupka
cd6f2cd4cb
LowNodeUtilization: express usagePercentage multiplied by 100
...
Entry params are in interval <0; 100>. Have logs respect that as well.
2020-11-24 14:48:48 +01:00