Kubernetes Prow Robot
6e1832b1af
Merge pull request #1675 from dongjiang1989/update-k8s-v1.33
...
chore: Bump to official kubernetes v0.33.0 deps
2025-04-30 08:19:59 -07:00
dongjiang
a249c9baf0
update k8s to v1.33
...
Signed-off-by: dongjiang <dongjiang1989@126.com >
2025-04-30 22:07:02 +08:00
Kubernetes Prow Robot
6e9622bf41
Merge pull request #1667 from ricardomaraschini/update-owners
...
chore: update owners to add me as reviewer
2025-04-16 04:05:07 -07:00
Ricardo Maraschini
f66804396e
chore: update owners to add me as reviewer
...
adding myself as a reviewer.
2025-04-16 11:20:11 +02:00
tspearconquest
3a5c651136
Move values.yaml comment about defining your own configmap to a NOTES.txt output instead ( #1582 )
...
* Move values.yaml comment about defining your own configmap to a NOTES.txt output instead
Signed-off-by: Thomas D. Spear <81998567+tspearconquest@users.noreply.github.com >
* Stop a blank line from being rendered when leader election is not enabled
Signed-off-by: Thomas D. Spear <81998567+tspearconquest@users.noreply.github.com >
* Remove 'default' from the language of the new note
Signed-off-by: Thomas D. Spear <81998567+tspearconquest@users.noreply.github.com >
---------
Signed-off-by: Thomas D. Spear <81998567+tspearconquest@users.noreply.github.com >
2025-04-14 08:25:06 -07:00
Kubernetes Prow Robot
68207da9c8
Merge pull request #1663 from ricardomaraschini/strict-pod-eviction
...
feat: introduce strict eviction policy
2025-04-10 01:30:46 -07:00
Ricardo Maraschini
35a7178df6
feat: introduce strict eviction policy
...
with strict eviction policy the descheduler only evict pods if the pod
contains a request for the given threshold. for example, if using a
threshold for an extended resource called `example.com/gpu` only pods
who request such a resource will be evicted.
2025-04-09 16:48:32 +02:00
Kubernetes Prow Robot
cca28f7bbe
Merge pull request #1651 from freedomchurl/readme-metric-update
...
docs: add histogram metric README.md
2025-04-07 04:48:40 -07:00
Kubernetes Prow Robot
38b1f5c1a8
Merge pull request #1661 from ingvagabund/e2e-TestLowNodeUtilizationKubernetesMetrics-set-the-right-cpu
...
TestLowNodeUtilizationKubernetesMetrics: set the right -cpu value for the cpu stressor
2025-04-07 02:20:38 -07:00
Jan Chaloupka
c2ed7eb575
TestLowNodeUtilizationKubernetesMetrics: set the right -cpu value for the cpu stressor
2025-04-07 10:49:04 +02:00
Kubernetes Prow Robot
17b90969cf
Merge pull request #1629 from googs1025/fix_sortDomains
...
fix removepodsviolatingtopologyspreadconstraint plugin sort logic
2025-03-28 09:06:44 -07:00
Kubernetes Prow Robot
2cce60dc2b
Merge pull request #1657 from ricardomaraschini/log
...
chore: log average and assessed thresholds
2025-03-28 06:52:40 -07:00
googs1025
b4b203cc60
chore: add unit test for sortDomains func
2025-03-28 20:58:54 +08:00
googs1025
59d1d5d1b9
making isEvictable and hasSelectorOrAffinity invoked only once
...
Signed-off-by: googs1025 <googs1025@gmail.com >
2025-03-28 20:57:02 +08:00
Ricardo Maraschini
98e6ed6587
chore: log average and assessed thresholds
...
when calculating the average an applying the deviations it would be nice
to also see the assessed values.
this commit makes the descheduler logs these values when using level 3.
2025-03-28 10:16:20 +01:00
googs1025
4548723dea
fix(removepodsviolatingtopologyspreadconstraint): fix removepodsviolatingtopologyspreadconstraint plugin sort logic
...
Signed-off-by: googs1025 <googs1025@gmail.com >
2025-03-27 23:49:45 +08:00
Kubernetes Prow Robot
7542cac9d0
Merge pull request #1654 from googs1025/add_reviewer
...
nominate googs1025 for descheduler reviewers
2025-03-24 02:16:35 -07:00
googs1025
8871272d35
nominate googs1025 for descheduler reviewers
2025-03-24 10:16:08 +08:00
Kubernetes Prow Robot
a31a3b5e85
Merge pull request #1580 from tspearconquest/docs/add_cmdOptions_details_to_readme
...
Mention cmdOptions.dry-run in the helm chart readme
2025-03-23 18:22:32 -07:00
Kubernetes Prow Robot
9b9ae9a3be
Merge pull request #1650 from ingvagabund/nodeutilization-deviation-skip-nodes-without-extended-resource
...
[nodeutilization]: skip nodes without extended resource when computing the average utilization
2025-03-20 05:58:31 -07:00
Jan Chaloupka
c22d773200
[nodeutilization] test nodes without extended resource when computing the average utilization
2025-03-20 13:22:28 +01:00
Kubernetes Prow Robot
9ba0f9b410
Merge pull request #1653 from ricardomaraschini/new-classifier
...
feat: move classifier to its own package
2025-03-20 05:20:31 -07:00
Ricardo Maraschini
95a631f6a5
feat: move classifier to its own package
...
move the classifier to its own package. introduces a generic way of
classifying usages against thresholds.
2025-03-20 11:02:47 +01:00
Kubernetes Prow Robot
89535b9b9b
Merge pull request #1649 from ricardomaraschini/normalizer
...
feat: refactoring thresholds and usage assessment
2025-03-20 02:34:31 -07:00
Ricardo Maraschini
54d0a22ad1
chore: comment the code and simplify some things
...
this commit comments the low and high utilization plugins. this also
simplifies a little bit where it was possible without affecting too
much.
2025-03-20 10:06:45 +01:00
Ricardo Maraschini
87ba84b2ad
feat: refactoring thresholds and usage assessment
...
this commit refactors the thresholds and usage assessment for the node
utilization plugins. both high and low plugins are affected by this
change.
2025-03-19 17:38:41 +01:00
Kubernetes Prow Robot
b300faece0
Merge pull request #1652 from ingvagabund/nodeutili-refactor
...
[nodeutilization]: produce node utilization of resources that are listed in the list of resources
2025-03-19 05:58:30 -07:00
Jan Chaloupka
04ebdbee32
[nodeutilization]: produce node utilization of resources that are listed in the list of resources
2025-03-19 12:35:19 +01:00
LeeCheol
bda785f7dc
add histogram metric docs
2025-03-18 17:37:02 +09:00
Kubernetes Prow Robot
6ab73d6ac5
Merge pull request #1533 from ingvagabund/node-utilization-util-snapshot
...
[lownodeutilization]: Actual utilization: integration with Prometheus
2025-03-17 08:53:49 -07:00
Jan Chaloupka
e283c31030
[nodeutilization]: prometheus usage client with prometheus metrics
2025-03-17 16:25:17 +01:00
Jan Chaloupka
aed345994f
Update vendor for prometheus deps
2025-03-14 10:26:00 +01:00
Kubernetes Prow Robot
be4abe1727
Merge pull request #1614 from ingvagabund/nodeutilization-metrics-source
...
[nodeutilization]: allow to set a metrics source as a string so it can be later extended for exclusive configuration
2025-03-14 01:57:47 -07:00
Jan Chaloupka
e14b86eb8c
[nodeutilization]: allow to set a metrics source as a string so it can be later extended for exclusive configuration
2025-03-13 18:00:27 +01:00
Kubernetes Prow Robot
a4d6119bcd
Merge pull request #1645 from ingvagabund/nodeutilization-refactoring
...
nodeutilization: make the node classification more generic
2025-03-13 03:21:46 -07:00
Jan Chaloupka
57bb31de78
nodeutilization: make the classification more generic
2025-03-12 15:02:22 +01:00
Kubernetes Prow Robot
17d9b152a2
Merge pull request #1644 from ingvagabund/nodeutilization-arg-validation
...
nodeutilization: invoke ValidateLowNodeUtilizationArgs instead of validateLowNodeUtilizationThresholds to make the test more generic
2025-03-12 01:53:46 -07:00
Jan Chaloupka
b935c7d82c
nodeutilization: invoke ValidateLowNodeUtilizationArgs instead of validateLowNodeUtilizationThresholds to make the test more generic
2025-03-11 10:04:39 +01:00
Kubernetes Prow Robot
b8e3c0bba3
Merge pull request #1642 from ingvagabund/unconstrainedevictions
...
lownodeutilization: evictionLimits to limit the evictions per plugin
2025-03-10 08:43:47 -07:00
Jan Chaloupka
5bf11813e6
lownodeutilization: evictionLimits to limit the evictions per plugin
...
In some cases it might be usefull to limit how many evictions per a
domain can be performed. To avoid burning the whole per descheduling
cycle budget. Limiting the number of evictions per node is a
prerequisite for evicting pods whose usage can't be easily subtracted
from overall node resource usage to predict the final usage. E.g. when a
pod is evicted due to high PSI pressure which takes into account many
factors which can be fully captured by the current predictive resource
model.
2025-03-07 15:31:02 +01:00
Kubernetes Prow Robot
d883c8a9e1
Merge pull request #1640 from ingvagabund/referenced-resource-list
...
ReferencedResourceList: alias for map[v1.ResourceName]*resource.Quantity to avoid the type definition duplication
2025-03-07 05:05:46 -08:00
Jan Chaloupka
50dd3b8971
ReferencedResourceList: alias for map[v1.ResourceName]*resource.Quantity to avoid the type definition duplication
2025-03-07 13:13:00 +01:00
Kubernetes Prow Robot
fd9f2b4614
Merge pull request #1637 from googs1025/chore/fix
...
chore: add setDefaultEvictor return an error
2025-03-05 00:47:45 -08:00
googs1025
655ab516c7
chore: add error handle for setDefaultEvictor func
2025-02-26 22:34:57 +08:00
googs1025
0d5301ead2
chore: add continue for GetNodeWeightGivenPodPreferredAffinity func
2025-02-25 09:26:02 +08:00
Kubernetes Prow Robot
d97f1c9057
Merge pull request #1636 from ricardomaraschini/plugin-sample
...
chore: add descheduler plugin example
2025-02-24 10:40:31 -08:00
Ricardo Maraschini
57a04aae9f
chore: add descheduler plugin example
...
This commit adds a sample plugin implementation as follow:
This directory provides an example plugin for the Kubernetes Descheduler,
demonstrating how to evict pods based on custom criteria. The plugin targets
pods based on:
* **Name Regex:** Pods matching a specified regular expression.
* **Age:** Pods older than a defined duration.
* **Namespace:** Pods within or outside a given list of namespaces (inclusion
or exclusion).
To incorporate this plugin into your Descheduler build, you must register it
within the Descheduler's plugin registry. Follow these steps:
1. **Register the Plugin:**
* Modify the `pkg/descheduler/setupplugins.go` file.
* Add the following registration line to the end of the
`RegisterDefaultPlugins()` function:
```go
pluginregistry.Register(
example.PluginName,
example.New,
&example.Example{},
&example.ExampleArgs{},
example.ValidateExampleArgs,
example.SetDefaults_Example,
registry,
)
```
2. **Generate Code:**
* If you modify the plugin's code, execute `make gen` before rebuilding the
Descheduler. This ensures generated code is up-to-date.
3. **Rebuild the Descheduler:**
* Build the descheduler with your changes.
Configure the plugin's behavior using the Descheduler's policy configuration.
Here's an example:
```yaml
apiVersion: descheduler/v1alpha2
kind: DeschedulerPolicy
profiles:
- name: LifecycleAndUtilization
plugins:
deschedule:
enabled:
- Example
pluginConfig:
- name: Example
args:
regex: ^descheduler-test.*$
maxAge: 3m
namespaces:
include:
- default
```
- `regex: ^descheduler-test.*$`: Evicts pods whose names match the regular
expression `^descheduler-test.*$`.
- `maxAge: 3m`: Evicts pods older than 3 minutes.
- `namespaces.include: - default`: Evicts pods within the default namespace.
This configuration will cause the plugin to evict pods that meet all three
criteria: matching the `regex`, exceeding the `maxAge`, and residing in the
specified namespace.
2025-02-24 18:36:13 +01:00
Kubernetes Prow Robot
f3abaf48ae
Merge pull request #1632 from jandai/master
...
PodMatchNodeSelector: Replaced PodMatchNodeSelector implementation wi…
2025-02-18 07:00:27 -08:00
Jandai
88af72b907
PodMatchNodeSelector: Replaced PodMatchNodeSelector implementation with k8s.io/component-helpers to reduce code size and optimize
2025-02-16 16:48:21 +08:00
Kubernetes Prow Robot
fa3fb4e954
Merge pull request #1612 from LukeCarrier/fix-otel-tracing
...
tracing: test for and address semconv/SDK version conflicts
2025-01-24 11:09:23 -08:00