1
0
mirror of https://github.com/kubernetes-sigs/descheduler.git synced 2026-01-26 05:14:13 +01:00
Commit Graph

1441 Commits

Author SHA1 Message Date
Antoine Deschênes
3f0c06b58d profile: fix span attribute typo
Fix profile attribute "prpfile" typo in trace spans.

Signed-off-by: Antoine Deschênes <antoine.deschenes@linux.com>
2023-08-22 13:10:20 -04:00
Kubernetes Prow Robot
bb4721049f Merge pull request #1216 from JaneLiuL/master
Bump Kubernetes dependencies to v1.28.0
2023-08-21 07:21:24 -07:00
Amir Alavi
78c9ae851c upgrade kind to v0.20.0 2023-08-21 10:04:31 -04:00
Kubernetes Prow Robot
9660a7b469 Merge pull request #1202 from a7i/gitattributes
.gitattribute to not pollute PRs or stats
2023-08-21 05:09:23 -07:00
JaneLiuL
81aa897c48 Bump Kubernetes dependencies to v1.28.0 2023-08-17 15:59:15 +08:00
Kubernetes Prow Robot
f4c64c2c75 Merge pull request #1215 from Abirdcfly/master
fix: descheduler_loop_duration_seconds has wrong value
2023-08-10 01:05:27 -07:00
Abirdcfly
ca5781827a fix: descheduler_loop_duration_seconds has wrong value
Signed-off-by: Abirdcfly <fp544037857@gmail.com>
2023-08-09 21:36:53 +08:00
Jordi Piqué Sellés
31704047c5 feat: Implement preferredDuringSchedulingIgnoredDuringExecution for RemovePodsViolatingNodeAffinity (#1210)
* feat: Implement preferredDuringSchedulingIgnoredDuringExecution for RemovePodsViolatingNodeAffinity

Now, the descheduler can detect and evict pods that are not optimally
allocated according to the "preferred..." node affinity. It only evicts
a pod if it can be scheduled on a node that scores higher in terms of
preferred node affinity than the current one.

This can be activated by enabling the RemovePodsViolatingNodeAffinity
plugin and passing "preferredDuringSchedulingIgnoredDuringExecution" in
the args.

For example, imagine we have a pod that prefers nodes with label "key1:
value1" with a weight of 10. If this pod is scheduled on a node that
doesn't have "key1: value1" as label but there's another node that has
this label and where this pod can potentially run, then the descheduler
will evict the pod.

Another effect of this commit is that the
RemovePodsViolatingNodeAffinity plugin will not remove pods that don't
fit in the current node but for other reasons than violating the node
affinity. Before that, enabling this plugin could cause evictions on
pods that were running on tainted nodes without the necessary
tolerations.

This commit also fixes the wording of some tests from
node_affinity_test.go and some parameters and expectations of these
tests, which were wrong.

* Optimization on RemovePodsViolatingNodeAffinity

Before checking if a pod can be evicted or if it can be scheduled
somewhere else, we first check if it has the corresponding nodeAffinity
field defined. Otherwise, the pod is automatically discarded as a
candidate.

Apart from that, the method that calculates the weight that a pod
gives to a node based on its preferred node affinity has been
renamed to better reflect what it does.
2023-08-04 03:08:21 -07:00
Kubernetes Prow Robot
1be0ab2bd1 Merge pull request #1207 from a7i/amir/fix-cm-RemoveDuplicates
fix: base configmap missing plugin RemoveDuplicates
2023-07-26 07:06:19 -07:00
Amir Alavi
f8442fbb0d fix: base configmap missing plugin RemoveDuplicates 2023-07-25 22:00:49 -04:00
Kubernetes Prow Robot
f7b7f50b92 Merge pull request #1203 from lucming/aggregate-errors
nodefit: aggregate errors
2023-07-24 08:52:13 -07:00
lucming
27a436b98a aggregate errors 2023-07-24 23:39:26 +08:00
Kubernetes Prow Robot
8f7dea10c1 Merge pull request #1201 from a7i/1.28-beta.0
bump to k8s 1.28 beta.0
2023-07-24 06:44:15 -07:00
Amir Alavi
68f43fe591 .gitattribute to not pollute PRs or stats 2023-07-22 11:01:59 -04:00
Amir Alavi
a0cbfcfbca regenerate docs for cli 2023-07-21 22:16:36 -04:00
Amir Alavi
2a91eda30d bump to k8s 1.28 beta.0 2023-07-21 22:06:55 -04:00
Kubernetes Prow Robot
06dc26a83e Merge pull request #1189 from harshanarayana/feature/enable-otel
feat: Enable open telemetry tracing
2023-07-18 04:43:10 -07:00
Harsha Narayana
add9d6e897 enable Open telemetry support for descheduler
1. Enable OTEL configuration and base framework
2. update generated conversion spec
3. enable docker based conversion and deep copy generate
4. fix broken unit tests
2023-07-18 11:14:21 +05:30
Kubernetes Prow Robot
d9b763a28b Merge pull request #1186 from knelasevero/fix_priority_name
fix priority threshold by name alone
2023-07-10 04:17:08 -07:00
Lucas Severo Alves
3ff38bab59 fix priority threshold by name alone 2023-07-07 16:12:28 +02:00
Kubernetes Prow Robot
ed1554dd19 Merge pull request #1141 from a7i/processing-log-level
bump log level for processing info
2023-07-05 10:46:58 -07:00
Jan Chaloupka
931aac9c71 deschedule/balance order (continuation) (#1177)
* generalise RunDeschedulerLoop and RunProfiles and stabilish deschedule/balance order

* assign nodes outside RunDeschedulerLoop and use instanced profiles

* stop exporting internal profile bits

* refactoring RunProfiles and add methods to Deschduler

* types outside function

* shutdown eventBroadcaster outside NewDescheduler

* all new methods inside descheduler.go

* avoid exporting all Descheduler fields

* Address review comments

---------

Co-authored-by: Lucas Severo Alves <lucassalves65@gmail.com>
2023-06-21 06:37:40 -07:00
Kubernetes Prow Robot
a497541f39 Merge pull request #1174 from ingvagabund/bump-fake-watch-channel-size
FakeClientset: bump watch channel size
2023-06-20 10:58:21 -07:00
Amir Alavi
333b5cfbb6 bump log level for processing info 2023-06-16 08:39:05 -04:00
Kubernetes Prow Robot
eb2372137e Merge pull request #1148 from a7i/tsc-constraints
removepodsviolatingtopologyspreadconstraint: implement explicit constraints
2023-06-16 05:36:23 -07:00
Amir Alavi
7f2f6f2b16 removepodsviolatingtopologyspreadconstraint: implement explicit constraints 2023-06-16 08:20:26 -04:00
Amir Alavi
5f0edb5f93 removepodsviolatingtopologyspreadconstraint: topologyBalanceNodeFit to control whether to perform nodefit when balacning domains 2023-06-16 07:56:32 -04:00
Amir Alavi
f5a7f716b3 use pod informers for listing pods in removepodsviolatingtopologyspreadconstraint and removepodsviolatinginterpodantiaffinity (#1163)
* use pod informers for listing pods in removepodsviolatingtopologyspreadconstraint and removepodsviolatinginterpodantiaffinity

Signed-off-by: Amir Alavi <amiralavi7@gmail.com>

* workaround in topologyspreadconstraint test to ensure that informer's index returns pods sorted by name

---------

Signed-off-by: Amir Alavi <amiralavi7@gmail.com>
2023-06-15 23:30:19 -07:00
Kubernetes Prow Robot
5163ac3ace Merge pull request #1173 from jongwooo/chore/replace-deprecated-command-with-environment-file
Replace deprecated command with environment file
2023-06-15 06:52:19 -07:00
Jan Chaloupka
4c272e6ea2 FakeClientset: bump watch channel size
Huge clusters with thousands of pods can quickly exceed the default
watch channel size of the fake clientset. Causing the channel
to panic with "channel full".
2023-06-15 11:07:09 +02:00
Jongwoo Han
c637b7f0e6 Replace deprecated command with environment file 2023-06-15 12:12:44 +09:00
Kubernetes Prow Robot
5462a599af Merge pull request #1165 from a7i/toomanyrestarts-CrashLoopBackOff
TooManyRestart: state filter for CrashLoopBackOff
2023-06-13 09:47:59 -07:00
Kubernetes Prow Robot
7dcd7fa50f Merge pull request #1166 from a7i/pause-image
update pause image from 'kubernetes/pause' to 'registry.k8s.io/pause'
2023-06-08 01:46:13 -07:00
Amir Alavi
6271d51125 update pause image from 'kubernetes/pause' to 'registry.k8s.io/pause' 2023-06-07 23:32:31 -04:00
Amir Alavi
0bdbf51eb2 Move CrashLoopBackOff container state from PodLifeTime to TooManyRestarts plugin 2023-06-07 23:29:11 -04:00
Amir Alavi
9aad51f328 Revert "Merge pull request #1164 from a7i/podlifetime-CrashLoopBackOff"
This reverts commit 699297711a, reversing
changes made to 877d9b18ee.
2023-06-07 21:00:47 -04:00
Kubernetes Prow Robot
699297711a Merge pull request #1164 from a7i/podlifetime-CrashLoopBackOff
PodLifeTime: support CrashLoopBackOff container state
2023-06-07 10:46:13 -07:00
Amir Alavi
1b976529bc PodLifeTime: support CrashLoopBackOff container state 2023-06-06 18:21:43 -04:00
10hin
877d9b18ee pod anti-affinity check among nodes (#1033)
* pod anti-affinity check among nodes

* avoid pod equality check with UID field

also add node equality check with Name for short-cut

* add test case for anti-affinity violation among different node

* reduce ListPodsOnANode call

* fix old code

* apply gofumpt -w -extra

move klog/v2 import entry to bottom according to master code
2023-06-05 05:21:25 -07:00
Nicolas Lamirault
b58ec3b458 Custom labels for ServiceMonitor resource (#1147)
* Add: Custom labels for ServiceMonitor resource

Signed-off-by: Nicolas Lamirault <nicolas.lamirault@gmail.com>

* Fix: indentation

Signed-off-by: Nicolas Lamirault <nicolas.lamirault@gmail.com>

---------

Signed-off-by: Nicolas Lamirault <nicolas.lamirault@gmail.com>
2023-05-31 06:41:46 -07:00
Kubernetes Prow Robot
e94a6f129a Merge pull request #1160 from a7i/chart-v0.27.1
bump chart to v0.27.1
2023-05-31 01:29:46 -07:00
Kubernetes Prow Robot
1b22e102ce Merge pull request #1159 from mikutas/missing-header
docs: supplement missing link
2023-05-30 17:47:45 -07:00
Amir Alavi
a35e3f49b4 bump chart to v0.27.1 2023-05-30 09:19:11 -04:00
mikutas
9313041d77 docs: supplement missing link 2023-05-30 17:09:47 +09:00
Kubernetes Prow Robot
83c81e6b58 Merge pull request #1150 from a7i/fix-imagepullsecrets-indent
fix: imagepullsecrets indentation for kind: Deployment
2023-05-25 18:24:51 -07:00
Kubernetes Prow Robot
eb356fe6ff Merge pull request #1151 from a7i/helm-arg-cmd
helm: ability to override command and args. set args inline
2023-05-25 00:12:51 -07:00
Amir Alavi
a62bb54a3a helm: ability to override command and args. set args inline 2023-05-16 13:02:09 -04:00
Amir Alavi
92017d0fdd fix: imagepullsecrets indentation for kind: Deployment 2023-05-16 12:48:05 -04:00
Kubernetes Prow Robot
476bee3424 Merge pull request #1146 from a7i/generic-sets
update deprecated sets.String to generic sets
2023-05-12 06:29:02 -07:00
Kubernetes Prow Robot
b630ecaaf7 Merge pull request #1145 from ratnopamc/deprecate-k8s-release-url
Use dl.k8s.io instead of kubernetes-release bucket
2023-05-11 19:50:46 -07:00