yliao
34a64db2c7
extended resource backed by DRA: implementation
2025-07-29 18:55:21 +00:00
Ania Borowiec
aecd37e6fb
Moving Scheduler interfaces to staging: Move PodInfo and NodeInfo interfaces (together with related types) to staging repo, leaving internal implementation in kubernetes/kubernetes/pkg/scheduler
2025-07-24 12:10:58 +00:00
Ania Borowiec
ee8c265d35
Move Code and Status from pkg/scheduler/framework to k8s.io/kube-scheduler/framework
2025-06-30 10:06:22 +00:00
Ania Borowiec
00d3750503
Move ClusterEvent type to staging repo, leaving some functions (that contain logic internal to scheduler) in kubernetes/kubernetes ( #132190 )
...
* Move ClusterEvent type to staging repo, leaving some functions (that contain logic internal to scheduler) in kubernetes/kubernetes
apply review comment and fix linter warning
* update-vendor.sh
* update doc comments
* run update-vendor.sh
2025-06-26 08:06:29 -07:00
Davanum Srinivas
03afe6471b
Add a replacement for cmp.Diff using json+go-difflib
...
Co-authored-by: Jordan Liggitt <jordan@liggitt.net >
Signed-off-by: Davanum Srinivas <davanum@gmail.com >
2025-06-16 17:10:42 -04:00
Kubernetes Prow Robot
e0859f91b7
Merge pull request #131887 from ania-borowiec/extract_cyclestate_interface
...
Moving Scheduler interfaces to staging: split CycleState into interface and implementation, move interface to staging repo
2025-05-30 04:00:18 -07:00
Ania Borowiec
d75af825fb
Extract interface CycleState and move is to staging repo. CycleState implementation remains in k/k/pkg/scheduler/framework
2025-05-29 16:18:36 +00:00
Kubernetes Prow Robot
2a3ca42c91
Merge pull request #131345 from haosdent/haosdent/return-unresolvable-when-exceed-node-resources
...
scheduler: return UnschedulableAndUnresolvable when node capacity is insufficient
2025-05-14 05:13:25 -07:00
Kubernetes Prow Robot
8a6b916765
Merge pull request #130720 from saintube/scheduler-expose-nodeinfo-in-prefilter
...
Expose NodeInfo to PreFilter plugins
2025-04-23 13:31:29 -07:00
Haosdent Huang
f63702de0f
scheduler: return UnschedulableAndUnresolvable when node capacity is insufficient
...
Currently, the NodeResourcesFit plugin always returns Unschedulable when a pod's
resource requests exceed a node's available resources. However, when a pod's
requests exceed the node's total allocatable, preemption cannot help since even
an empty node would not have enough resources.
This change modifies the NodeResourcesFit plugin to return UnschedulableAndUnresolvable
when a pod's resource requests exceed the node's total allocatable. This helps
optimize the scheduling process in large clusters by:
1. Reducing the number of candidate nodes that need to be considered for preemption
2. Providing clearer feedback about unresolvable resource constraints
3. Improving scheduling performance by avoiding unnecessary preemption calculations
The change is particularly beneficial in heterogeneous clusters where node sizes
vary significantly, as it helps quickly identify nodes that are fundamentally
too small for certain pods.
Fixes https://github.com/kubernetes/kubernetes/issues/131310
Co-authored-by: Kensei Nakada <handbomusic@gmail.com >
2025-04-22 14:54:40 +08:00
saintube
8dc6806d26
Expose NodeInfo to PreFilter plugins and Framework
...
Co-authored-by: Zhan Sheng <49895476+AxeZhan@users.noreply.github.com >
Co-authored-by: shenxin <rougang.hrg@alibaba-inc.com >
Signed-off-by: saintube <saintube@foxmail.com >
2025-03-21 14:55:25 +08:00
Kubernetes Prow Robot
838f3c0852
Merge pull request #130577 from KevinTMtz/pod-level-hugepages
...
[PodLevelResources] Pod Level Hugepage Resources
2025-03-20 15:34:38 -07:00
Kevin Torres
b9e0d4ad66
Unit tests for pod level hugepage resources
2025-03-20 17:54:39 +00:00
dom4ha
4deb4f2b5f
Trigger rescheduling on delete event also when unscheduled pod is removed
2025-03-10 15:03:50 +00:00
Hongqi Yu
d76f40d2f3
fix(scheduler): skip best-effort pods in BalancedAllocation PreScore
...
- Refactored `PreScore` method in `balanced_allocation.go` to skip
best-effort pods.
- Updated unit tests in `balanced_allocation_test.go` to check for
the new status codes.
2025-03-07 13:13:02 +08:00
saintube
afb4e96510
Expose NodeInfo to Score plugins
...
Co-authored-by: shenxin <rougang.hrg@alibaba-inc.com >
Signed-off-by: saintube <saintube@foxmail.com >
2025-03-04 17:57:14 +08:00
Kubernetes Prow Robot
facb1a8c55
Merge pull request #129905 from ania-borowiec/129778_replace_equal
...
Replace reflect.DeepEqual with cmp.Diff in pkg/scheduler tests
2025-02-26 08:24:30 -08:00
googs1025
239aad8e4b
chore(scheduler): use framework.Features in scheduler plugins
2025-02-26 19:16:07 +08:00
Ania Borowiec
4205f04ce3
Replace uses of reflect.DeepEqual with cmp.Diff in pkg/scheduler tests
2025-02-26 09:27:51 +00:00
Davanum Srinivas
4e05bc20db
Linter to ensure go-cmp/cmp is used ONLY in tests
...
Signed-off-by: Davanum Srinivas <davanum@gmail.com >
2025-01-24 20:49:14 -05:00
ndixita
6db40446de
Scheduler changes:
...
1. Use pod-level resource when feature is enabled and resources are set at pod-level
2. Edge case handling: When a pod defines only CPU or memory limits at pod-level (but not both), and container-level requests/limits are unset, the pod-level requests stay empty for the resource without a pod-limit. The container's request for that resource is then set to the default request value from schedutil.
2024-11-08 03:00:54 +00:00
Tim Allclair
81df195819
Stop using status.AllocatedResources to aggregate resources
2024-11-01 14:02:58 -07:00
Kubernetes Prow Robot
aec2ea1877
Merge pull request #124609 from AxeZhan/refac
...
Move some helper functions from api/v1 to component-helpers
2024-10-25 17:26:52 +01:00
AxeZhan
2ffb568540
rename functions
2024-10-25 12:53:24 +08:00
Kensei Nakada
83f9e4b6df
cleanup: remove event list
2024-10-18 11:10:10 +10:00
AxeZhan
b1f07bb36c
add tests for scheduler
2024-10-10 15:53:19 +08:00
dom4ha
903b1f7e28
more fine-grained Node QHint for NodeResourceFit plugin
2024-09-26 09:51:36 +00:00
googs1025
69831b0043
chore(scheduler): refactor import package ordering
2024-09-18 20:31:03 +08:00
Kensei Nakada
4a81a85449
chore(noderesourcefit): correct tests and clean up comments
2024-09-17 13:28:27 +09:00
Kensei Nakada
fe3ab649d0
feat: remove node general update event from EventsToRegister when QHint is enabled
2024-09-14 16:15:40 +09:00
dom4ha
e7827879db
Enable testing logger in the remaining scheduler tests.
2024-09-09 21:59:24 +00:00
Kensei Nakada
8519d3399f
chore: move the scheduler internal components out of internal dir
2024-08-25 13:10:29 +09:00
Kensei Nakada
3f59d9fc4c
fix typo
2024-07-23 17:43:21 +09:00
Kensei Nakada
fa8092f838
support UpdatePodScaleDown instead of UpdatePodRequest
2024-07-20 19:20:38 +09:00
Kensei Nakada
0cd1ee4259
add(scheduler/framework): implement smaller Pod update events
2024-07-20 17:44:23 +09:00
googs1025
a3978e8315
scheduler: Add ctx param and error return to EnqueueExtensions.EventsToRegister()
2024-07-18 12:22:17 +08:00
AxeZhan
d66f8f9413
schedulingQueue update pod by queueHint
2024-06-12 21:26:09 +08:00
Tim Hockin
467d5d745c
Get rid of unused API type NodeResources
2024-03-01 15:13:50 -08:00
Kubernetes Prow Robot
e04316a68a
Merge pull request #121954 from AxeZhan/nodeInfo
...
Sched framework: expose NodeInfo in all functions of PluginsRunner interface
2023-12-15 18:33:00 +01:00
Kubernetes Prow Robot
195bb67d36
Merge pull request #119177 from carlory/fix-118893-3
...
noderesourcefit: scheduler queueing hints
2023-12-15 17:17:19 +01:00
AxeZhan
be48c93689
Sched framework: expose NodeInfo in all functions of PluginsRunner interface
2023-12-15 11:30:06 +08:00
carlory
9e1adced5d
noderesourcefit: scheduler queueing hints
...
Co-authored-by: Kensei Nakada <handbomusic@gmail.com >
2023-12-13 10:02:52 +08:00
kunwuluan
a00a610d15
move SidecarContainers featureGate checking
...
to PreFilter
Signed-off-by: KunWuLuan <kunwuluan@gmail.com >
2023-11-06 10:46:52 +08:00
Mengjiao Liu
a7466f44e0
Change the scheduler plugins PluginFactory function to use context parameter to pass logger
...
- Migrated pkg/scheduler/framework/plugins/nodevolumelimits to use contextual logging
- Fix golangci-lint validation failed
- Check for plugins creation err
2023-09-20 17:49:54 +08:00
Gunju Kim
7286d122fb
Mark pods with restartable init containers as UnschedulableAndUnresolvable
...
This marks the pods with restartable init containers as
`UnschedulableAndUnresolvable` if the feature gate is disabled to avoid
the inconsistency in resource calculation between the scheduler and the
older kubelet.
2023-07-08 07:26:13 +09:00
Kensei Nakada
6f8d38406a
feature(scheduler): implement ClusterEventWithHint to filter out useless events
2023-06-22 13:36:19 +00:00
Mengjiao Liu
1c05cf1d51
kube-scheduler: NewFramework function to pass the context parameter
...
Co-authored-by: Aldo Culquicondor <1299064+alculquicondor@users.noreply.github.com >
2023-05-23 10:17:34 +08:00
dingzhu lurong
ed26fcf5b8
cleanup useless null pointer check about nodeInfo.Node() from snapshot for in-tree plugins
2023-05-20 22:53:43 +08:00
Kubernetes Prow Robot
a38efaccc0
Merge pull request #116748 from mengjiao-liu/contextual-logging-scheduler-plugin-noderesource
...
Migrated `pkg/scheduler/framework/plugins/noderesources` to contextual logging
2023-04-27 12:28:15 -07:00
Mengjiao Liu
54e6f609ce
Migrated pkg/scheduler/framework/plugins/noderesources to contextual logging
2023-04-27 14:46:13 +08:00