Commit Graph

358 Commits

Author SHA1 Message Date
Wen Gao
b21b298074 add arg for noderesourcesfit plugin to support ignore a group of extended resources 2020-06-10 10:52:54 +08:00
Kubernetes Prow Robot
1cbb5d1e51
Merge pull request #91894 from chendave/podaffinity_comments
Fix the incorrect error message of `InterPodAffinity` plugin
2020-06-08 21:44:45 -07:00
Kubernetes Prow Robot
de1a277185
Merge pull request #91735 from gpldirk/tps-comment
fix minor comment in podtopologyspread scoring test
2020-06-08 21:43:48 -07:00
Aldo Culquicondor
d353cc1532 Use maxSkew in PodTopologySpread scoring as tolerance to skew
This new approach results in better spreading for small number of pods, while still giving meaning to the maxSkew parameter.

Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-06-08 16:25:59 -04:00
SataQiu
932e61aefa deprecate ResourceLimitsPriorityFunction feature gate in the scheduler
Signed-off-by: SataQiu <1527062125@qq.com>
2020-06-08 22:20:14 +08:00
Dave Chen
02fb3387a0 Fix the incorrect error message of InterPodAffinity plugin
A line of copy/paste code firstly from the method named `buildTopologyPairToScore`.

Signed-off-by: Dave Chen <dave.chen@arm.com>
2020-06-08 16:39:19 +08:00
Wei Huang
7f178b2831
Adjust weight of PodTopologySpread to 2 in legacy Policy API 2020-06-04 07:35:25 -07:00
gpldirk
6a26f76add fix minor comment in podtopologyspread scoring test 2020-06-03 16:03:10 +00:00
Wei Huang
133dde6358
Remove EvenPodsSpread featuregate and related logic 2020-06-02 11:24:12 -07:00
Kubernetes Prow Robot
413bc1a1d2
Merge pull request #91138 from chendave/imagelocality
Define the thresholds per the size of container images
2020-05-31 16:17:53 -07:00
Dave Chen
42fbb1d72f Define the thresholds per the size of container images
Given the assumption that 90% of images on dockerhub drops into this range (23~1000)MB,
this assumption is based on the container images instead of the pod.

pod might hold multiple container images, it's better to multiply the assumption by the size
of container images.

Signed-off-by: Dave Chen <dave.chen@arm.com>
2020-05-30 20:57:50 +08:00
Wei Huang
1837b49554
Scheduler PostFilter API 2020-05-29 18:18:00 -07:00
Rafal Wicha
3ffd71c4a2 Move Node Resources scheduler plugin args validation to apis/config/validation 2020-05-26 22:37:16 +01:00
Rafal Wicha
85be9c1673 Move Scheduler plugin args validation to apis/config/validation 2020-05-25 16:27:21 +01:00
Dave Chen
84915d1623 Expose the issue that max threshold haven't considered container size
Signed-off-by: Dave Chen <dave.chen@arm.com>
2020-05-25 17:31:47 +08:00
Kubernetes Prow Robot
4310732c55
Merge pull request #91102 from chendave/capacity_ratio
Move `RequestedToCapacityRatio` Args defaults to versioned packages
2020-05-19 20:35:20 -07:00
Abdullah Gharaibeh
4ff554ba83 Eliminate locking in (anti)affinity calculations 2020-05-18 22:37:37 -04:00
Kubernetes Prow Robot
9eb097c4b0
Merge pull request #91168 from ahg-g/ahg-affinity5
First pod with affinity can schedule only on nodes with matching topology keys
2020-05-18 16:29:51 -07:00
Abdullah Gharaibeh
5d2c05408d First pod with affinity can schedule only on nodes with matching topology keys 2020-05-18 15:15:09 -04:00
Dave Chen
838a0a8c03 Move RequestedToCapacityRatio Args defaults to versioned packages
Signed-off-by: Dave Chen <dave.chen@arm.com>
2020-05-18 14:19:39 +08:00
Kubernetes Prow Robot
b170451caa
Merge pull request #90183 from dims/update-kubernetes-to-klog-v2
Update kubernetes to klog v2
2020-05-16 18:59:51 -07:00
Kubernetes Prow Robot
7f0c05b909
Merge pull request #90544 from chendave/weight
configurable weight on the CPU and memory
2020-05-16 07:36:30 -07:00
Kubernetes Prow Robot
9769e0f5da
Merge pull request #90008 from gavinfish/scheduler-utilparsers
Scheduler: remove direct import to /pkg/util/parsers
2020-05-16 07:35:49 -07:00
Davanum Srinivas
07d88617e5
Run hack/update-vendor.sh
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2020-05-16 07:54:33 -04:00
Davanum Srinivas
442a69c3bd
switch over k/k to use klog v2
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2020-05-16 07:54:27 -04:00
Dave Chen
621c73b984 Configurable weight on the CPU and memory
This change also make it possible to score the resources beyond the "cpu"
and "memory" which is currently listed in "defaultRequestedRatioResources".

Signed-off-by: Dave Chen <dave.chen@arm.com>
2020-05-15 22:26:30 +08:00
Abdullah Gharaibeh
087839daf7 Added pre-processed preferred affinity terms to scheduler's PodInfo type. 2020-05-15 09:00:56 -04:00
Kubernetes Prow Robot
71277de4d6
Merge pull request #91069 from alculquicondor/bind_ctx
Use passed context in default binder
2020-05-15 02:49:28 -07:00
Kubernetes Prow Robot
c453be845a
Merge pull request #91062 from ahg-g/ahg-affinity1
Added pre-processed required affinity terms to scheduler's PodInfo type.
2020-05-15 02:49:07 -07:00
Kubernetes Prow Robot
95e598586e
Merge pull request #91016 from chendave/nits
Fix nits in comments for NodeResources plugins
2020-05-15 02:48:02 -07:00
Abdullah Gharaibeh
5e0211c72d Added pre-processed required affinity terms to scheduler's PodInfo type. 2020-05-14 10:30:42 -04:00
Dave Chen
6b9fb2c591 Fix nits in comments for NodeResources plugins 2020-05-14 18:45:59 +08:00
Aldo Culquicondor
78fca663ce Use passed context in default binder
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-05-13 11:36:14 -04:00
Yecheng Fu
85a8740d9b scheduler/volumebinding: auto-generated files only 2020-05-12 10:13:06 +08:00
Yecheng Fu
c14b749521 scheduler/volumebinding: move all volume binding logic into VolumeBinding plugin 2020-05-12 10:13:05 +08:00
Kubernetes Prow Robot
e6e29fbbc3
Merge pull request #90820 from alculquicondor/score-max-skew
Use maxSkew in score calculation
2020-05-08 18:28:19 -07:00
Aldo Culquicondor
516c8fbfad Use maxSkew in score calculation
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-05-08 09:34:45 -04:00
Aldo Culquicondor
2935480cc8 Move Plugin Args defaults to versioned packages
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-05-06 18:00:23 -04:00
Kubernetes Prow Robot
594cbdfd19
Merge pull request #89508 from KobayashiD27/test-coverage-up
Add test case to improve the test coverage.
2020-05-01 13:00:31 -07:00
Kubernetes Prow Robot
ba43630708
Merge pull request #90475 from alculquicondor/topology-scoring
Topology spreading scoring with automatically weighted topologies
2020-05-01 00:40:04 -07:00
Kubernetes Prow Robot
8dd93ca94c
Merge pull request #90309 from alculquicondor/plugin-args-decoding
Use internal config types in scheduling plugin args
2020-04-30 05:32:18 -07:00
Kubernetes Prow Robot
863ce9726e
Merge pull request #90295 from tanjunchen/pkg/scheduler/framework/plugins/-20200420
pkg/scheduler/framework/plugins/:fix unconsistent comments and make log more clear
2020-04-29 18:30:18 -07:00
Aldo Culquicondor
98d1e241f1 Use internal config types in scheduling plugin args
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-04-29 17:07:10 -04:00
Aldo Culquicondor
1aaa5fcc80 Topology scoring with dynamically weighted topologies
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-04-29 09:55:52 -04:00
Aldo Culquicondor
a9461fe6f5 spreading: Store ignored instead of qualifying nodes
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-04-27 13:18:34 -04:00
drfish
0b715ea690 Scheduler: remove direct import to /pkg/util/parsers 2020-04-26 23:41:52 +08:00
Kubernetes Prow Robot
277f7614ea
Merge pull request #90203 from tanjunchen/remove-repeat-test-sche
/pkg/scheduler/framework/plugins/ : remove the repeat test example and add an test example
2020-04-24 12:15:20 -07:00
tanjunchen
0e38ba0ef6 pkg/scheduler/framework/:fix unconsistent comments and make log more clear 2020-04-24 11:17:11 +08:00
Kubernetes Prow Robot
b850b5ce2e
Merge pull request #89222 from fengzixu/master
bugfix: initcontainer is also taken into account when calculating resource requests
2020-04-23 00:45:44 -07:00
Abdullah Gharaibeh
57585640e8 change scheduler's framework PodLister to PodInfoLister 2020-04-22 19:25:27 -04:00
fengzixu
d54822d193 bugfix: initcontainer wasn't considered when calculate resource request 2020-04-23 02:08:33 +09:00
Abdullah Gharaibeh
a151682887 Split scheduler's PodInfo into two types, PodInfo and PodQueueInfo 2020-04-21 21:45:20 -04:00
Gaurav Singh
31afb24244 [Scheduler] Map deletion complexity: log(n) => O(1) 2020-04-19 11:31:55 -04:00
tanjunchen
6180d701cc /pkg/scheduler/framework/plugins/ : remove the repeat test example and add an test example 2020-04-17 09:24:45 +08:00
Rafal Wicha
b511fa8627 Add PodTopologySpread plugin arg types to kube-scheduler.config.k8s.io 2020-04-16 16:26:27 +01:00
Kubernetes Prow Robot
b35fdbc037
Merge pull request #89904 from alculquicondor/raw-extension-plugin-args
Use RawExtension and Object for external and internal, respectively, scheduling plugin args
2020-04-15 15:22:59 -07:00
Aldo Culquicondor
ce05382b58 Use RawExtension and Object for external and internal scheduling plugin args, respectively
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-04-14 13:44:42 -04:00
Abdullah Gharaibeh
bed9b2f23b Cleanup obsolete NodeInfo methods 2020-04-12 18:13:46 -04:00
Abdullah Gharaibeh
2c51c13620 Scheduler NodeInfo cleanup 2020-04-09 19:03:51 -04:00
Kubernetes Prow Robot
0c9245a29f
Merge pull request #89974 from ahg-g/ahg-info
scheduler's NodeInfo tracks PodInfos instead of Pods
2020-04-09 09:19:58 -07:00
Abdullah Gharaibeh
b8ddd00312 scheduler's NodeInfo tracks PodInfos instead of Pods 2020-04-08 17:53:20 -04:00
Rafał Wicha
c4d20ca8a8 Add types for Scheduler plugin args to kube-scheduler.config.k8s.io 2020-04-08 20:23:56 +01:00
Abdullah Gharaibeh
a5d8172715 move nodeinfo type to framework pkg 2020-04-07 10:25:24 -04:00
Harsh Singh
015d06bf41 Internal channels for scheduler 2020-04-04 02:30:16 +05:30
Abdullah Gharaibeh
ed3fe054df move scheduler nodeinfo to pkg/scheduler/types 2020-03-31 21:02:09 -04:00
Aldo Culquicondor
93fc02cf54 Set initial map size
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-03-31 15:48:34 -04:00
Aldo Culquicondor
65d9f81758 Replace lock with atomic updates in spreading filter
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-03-31 15:48:32 -04:00
Aldo Culquicondor
275da7afc0 Benchmark for topology spreading filter
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-03-31 15:12:22 -04:00
Kubernetes Prow Robot
59c66dab8c
Merge pull request #89487 from alculquicondor/per_node_spreading
Optimize preferred spreading for hostname topology
2020-03-30 08:21:54 -07:00
Aldo Culquicondor
d2b1903149 Calculate scores in parallel on spreading benchmarks
This is closer to what happens in the core scheduler

Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-03-26 15:33:50 -04:00
Kubernetes Prow Robot
894916b665
Merge pull request #89459 from chendave/scorer_desc
Trival fix: update the desc on the score plugins
2020-03-26 07:56:39 -07:00
Kobayashi Daisuke
9d6235c54e Add test case to improve the test coverage. 2020-03-26 17:34:38 +09:00
Wei Huang
06f48a988f
Print detailed score results on verbose level 10 2020-03-25 10:46:28 -07:00
Aldo Culquicondor
4b31b55499 Count spreading node matches for hostname topology in Score 2020-03-25 13:29:27 -04:00
Kubernetes Prow Robot
d00f9c7c10
Merge pull request #89338 from skilxn-go/AddCompatibilityTestForPluginArgs
Add compatibility tests for plugin arguments
2020-03-25 08:49:03 -07:00
Dave Chen
4ab7be43ce Trival fix: update the desc on the score plugins
For whatever the reason, the max score has been updated from "10"
to "100"
2020-03-25 12:09:09 +08:00
Kubernetes Prow Robot
c58a3757cb
Merge pull request #89365 from notpad/feature/zone_label_ga
Add check for volume zone GA labels
2020-03-24 15:27:34 -07:00
Aldo Culquicondor
e902e70d0d Use sqrt(n) chunk size in pod affinity and core scheduler 2020-03-24 10:29:59 -04:00
Aldo Culquicondor
36efa035e2 Add chunk size option to ParallelizeUntil
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-03-24 10:29:59 -04:00
skilxn-go
e0adb0ead9 Add compatibility tests for plugin config 2020-03-24 22:17:16 +08:00
notpad
98405a8bd9 Add check for volume zone GA labels 2020-03-24 21:11:25 +08:00
Kubernetes Prow Robot
fe2fdcd695
Merge pull request #89162 from alculquicondor/affinity-less-lock
Reduce locking when calculating affinity scores
2020-03-19 15:04:35 -07:00
Aldo Culquicondor
d0dc178ab8 Reduce locking when calculating affinity scores
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-03-17 15:46:01 -04:00
notpad
a043bc438d Fix comments 2020-03-16 11:58:27 +08:00
Jordan Liggitt
d8abacba40 client-go: update expansions callers 2020-03-06 16:50:41 -05:00
Kubernetes Prow Robot
c51ad0cb61
Merge pull request #88735 from pancernik/plugin-args-api-improvements
Improve plugin args JSON tags
2020-03-02 14:51:06 -08:00
Aldo Culquicondor
73ad38593a Add default constraints to PodTopologySpread
And update benchmark for even pod spreading to use default constraints

Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-03-02 13:50:21 -05:00
Rafal Wicha
09598d48f6 Improve plugin args JSON tags 2020-03-02 15:20:44 +00:00
louisgong
c6b94e4606 refactor volume binder 2020-02-29 12:03:39 +08:00
Kubernetes Prow Robot
901a884c71
Merge pull request #88338 from egernst/PodOverhead-beta
Upgrade PodOverhead to beta
2020-02-28 15:12:40 -08:00
Patrick Ohly
6329b17d2f volume scheduler: introduce special string type
This makes it possible to search for the special strings more easily
(https://github.com/kubernetes/kubernetes/pull/88230#discussion_r382367043).
2020-02-28 10:09:19 +01:00
Patrick Ohly
6eb0b034ac volume scheduler: move reason strings into volume code
The scheduler doesn't really need to know in detail which reasons
rendered a node unusable for a node. All it needs from the volume
binder is a list of reasons that it then can present to the user.

This seems a bit cleaner. But the main reason for the change is that
it simplifies the checking of CSI inline volumes and perhaps later
capacity checking. Both will lead to new failure reasons, which then
can be added without changing the interface.
2020-02-28 10:09:18 +01:00
Eric Ernst
991909fdfb PodOverhead: remove feature gate override in tests
PodOverhead is now a beta feature and set to true by default. No need to
override to true during testing.

Signed-off-by: Eric Ernst <eric.ernst@intel.com>
2020-02-27 17:27:06 +00:00
Aldo Culquicondor
fd5b298c50 Test PodTopologySpread.PreScore instead of internal pre-processing.
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-02-26 16:25:01 -05:00
Aldo Culquicondor
0e46803e77 Test PodTopologySpread.PreFilter instead of internal pre-processing.
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-02-26 16:17:17 -05:00
Aldo Culquicondor
c8377ef7db Add BuildArgs to interpodaffinity plugin
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-02-18 09:55:06 -05:00
skilxn-go
8fd0d8028f Remove FilteredNodesStatuses argument from PreScore interface 2020-02-15 13:53:04 +08:00
Aldo Culquicondor
99bda6fac0 Remove HardPodAffinityWeight from v1alpha2
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-02-13 11:59:56 -05:00
Aldo Culquicondor
666bc6aeb4 Scheduler: Exclude plugin config for empty policy arguments
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-02-13 11:11:47 -05:00
skilxn-go
f5b7e3cca3 Rename PostFilter plugin to PreScore 2020-02-12 23:25:08 +08:00