Commit Graph

271 Commits

Author SHA1 Message Date
Rafał Wicha
c4d20ca8a8 Add types for Scheduler plugin args to kube-scheduler.config.k8s.io 2020-04-08 20:23:56 +01:00
Kubernetes Prow Robot
dd35908c7f
Merge pull request #89298 from gavinfish/scheuler-config-alph1
Remove kubescheduler.config.k8s.io/v1alpha1
2020-04-02 21:39:59 -07:00
zhouya0
4d3d722ebc Add missing kube build info metric 2020-04-01 17:04:45 +08:00
notpad
52ad3d95f7 Add test for algorithm provider and policy config file 2020-03-24 23:18:32 +08:00
gavinfish
1865a104a9 Remove kubescheduler.config.k8s.io/v1alpha1 2020-03-21 15:11:48 +08:00
Kubernetes Prow Robot
72102c04c7
Merge pull request #88728 from notpad/feature/scheduler_e2e_test
Add test for kube-scheduler command setup
2020-03-19 20:30:36 -07:00
notpad
16015a691c Add test for kube-scheduler command setup 2020-03-20 07:36:47 +08:00
Davanum Srinivas
1d057da2f7
Move k8s.io/apiserver/pkg/util/term to k8s.io/component-base/term
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2020-03-19 07:18:09 -04:00
Kubernetes Prow Robot
f899ad704a
Merge pull request #89069 from enj/enj/i/drop_password_file
Remove support for basic authentication
2020-03-18 22:24:20 -07:00
Mateusz Gozdek
dfe1f968ac
kube-apiserver: use SO_REUSEPORT when creating listener on Unix systems
So multiple instances of kube-apiserver can bind on the same address and
port, to provide seamless upgrades.

Signed-off-by: Mateusz Gozdek <mateusz@kinvolk.io>
2020-03-13 23:55:57 +01:00
Monis Khan
df292749c9
Remove support for basic authentication
This change removes support for basic authn in v1.19 via the
--basic-auth-file flag.  This functionality was deprecated in v1.16
in response to ATR-K8S-002: Non-constant time password comparison.

Similar functionality is available via the --token-auth-file flag
for development purposes.

Signed-off-by: Monis Khan <mok@vmware.com>
2020-03-11 20:55:47 -04:00
Mike Dame
1d7006c38d Add Extenders to scheduler v1alpha2 component config 2020-03-05 16:42:15 -05:00
Kubernetes Prow Robot
e9d502e4fc
Merge pull request #88663 from deads2k/enable-profiling-by-default
update kube-controller-manager and kube-scheduler to match kube-apiserver defaults
2020-03-02 07:24:43 -08:00
yuzhiquanlong
3eec87cd91 update WithPlugin comment, in case remove function 2020-02-29 19:53:04 +08:00
David Eads
aa07992a44 update kube-controller-manager and kube-scheduler to match kube-apiserver defaults 2020-02-28 11:18:00 -05:00
Aldo Culquicondor
07c4982245 Add unit and integration tests for multiple profiles support
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-02-26 10:14:03 -05:00
Kubernetes Prow Robot
5704bff0de
Merge pull request #84913 from serathius/metrics-scheduler
Add show-hidden-metrics-for-version to scheduler
2020-02-25 21:02:26 -08:00
Aldo Culquicondor
c048858471 Support multiple scheduling profiles in a single scheduler
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-02-25 11:31:20 -05:00
Aldo Culquicondor
9e71741d06 Add Profiles to kubescheduler.config.k8s.io/v1alpha2
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-02-24 09:45:46 -05:00
Marek Siarkowicz
8b825d1511 Add show-hidden-metrics-for-version to scheduler 2020-02-14 10:14:31 +01:00
Aldo Culquicondor
99bda6fac0 Remove HardPodAffinityWeight from v1alpha2
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-02-13 11:59:56 -05:00
skilxn-go
f5b7e3cca3 Rename PostFilter plugin to PreScore 2020-02-12 23:25:08 +08:00
Aldo Culquicondor
2ffb13e822 Do lenient decoding only for kubescheduler config v1alpha1
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-02-07 15:41:00 -05:00
Kubernetes Prow Robot
5ced53c0c4
Merge pull request #87628 from alculquicondor/cc-v1alpha2
Add kubescheduler.config.k8s.io/v1alpha2
2020-01-30 16:59:33 -08:00
Aldo Culquicondor
3d83ef2e8e Autogenerated and build files for kubescheduler.config.k8s.io/v1alpha2
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-01-29 17:18:48 -05:00
Aldo Culquicondor
11c4bcd9dd Copy kubescheduler.config.k8s.io/v1alpha1 files onto v1alpha2
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-01-29 17:18:41 -05:00
Mike Danese
d55d6175f8 refactor 2020-01-29 08:50:45 -08:00
Kubernetes Prow Robot
719b8aa5f3
Merge pull request #86709 from mwmix/scheduler_unit_tests
Adding unit tests for kube-scheduler Config Complete() method.
2020-01-16 13:14:31 -08:00
Kubernetes Prow Robot
28b8cfb473
Merge pull request #87005 from yuxiaobo96/k8s-unuseful
Add a comment for function WithPlugin
2020-01-10 12:24:36 -08:00
yuxiaobo
d2cfd4b82f apply review advice again
Signed-off-by: yuxiaobo <yuxiaobogo@163.com>
2020-01-10 16:47:30 +08:00
Kubernetes Prow Robot
f4e6ff84b3
Merge pull request #86529 from hase1128/kube-scheduler-reference
Add simple reference to synopsis of kube-scheduler
2020-01-09 13:29:06 -08:00
Matthew Mix
57f2d7ad6f Adding unit tests for kube-scheduler Config Complete() method. 2020-01-07 18:52:21 -05:00
Abdullah Gharaibeh
d31dcecd20 cleanup unused scheduler functions/files 2020-01-03 19:09:14 -05:00
Abdullah Gharaibeh
a6b7b0d95e Define algorithm providers in terms of plugins. 2019-12-31 15:28:09 -05:00
Jin Hase
c715aacdc2 Add simple reference to synopsis of kube-scheduler 2019-12-20 20:55:35 +09:00
Igor Zibarev
6350095d3c scheduler: make algorithm source an option
Changes scheduler.New so that algorithm source is moved from the
parameter to an option. The default algorithm source is source with the
DefaultProvider.
2019-11-13 10:22:29 +03:00
Abdullah Gharaibeh
9fb380ceff set default percentageOfNodesToScore in kube-scheduler back to 0 (maning adaptive) 2019-11-09 06:34:06 -05:00
Kubernetes Prow Robot
e6287b05c0
Merge pull request #84812 from alculquicondor/fix/write-config
Write scheduler configuration from config file
2019-11-06 12:20:58 -08:00
Alex Wang
e85ebccb57 enable profiling by default in the scheduler 2019-11-06 15:25:35 +08:00
Kubernetes Prow Robot
6f08d42dec
Merge pull request #84815 from alculquicondor/fix/config-validation
Validate scheduler configuration from config file
2019-11-05 22:19:18 -08:00
Mike Dame
9e2591f867 Change scheduler ComponentConfig fields to nilable
As part of graduating the scheduler's component config to beta, we require configurable fields to be nilable pointers (see https://github.com/kubernetes/kubernetes/issues/78109). This enables the ability to distinguish between default and unset values. We are only applying this change to external types, and reacting in our defaulting logic. This also reverts existing internal component config fields which were pointers to be non-pointers, for consistency.
2019-11-05 17:06:06 -05:00
Aldo Culquicondor
37efa751c7 Validate scheduler configuration from config file
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2019-11-05 15:12:46 -05:00
Aldo Culquicondor
49ea5afaf7 Write scheduler configuration from config file
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2019-11-05 14:35:02 -05:00
obitech
b15aba547a Add lenient decoding path for v1alpha1 kube-scheduler config
This implements a lenient path for decoding a kube-scheduler config file.
The config file gets decoded with a strict serializer first, if that fails a lenient
CodecFactory that has just v1alpha1 registered into it is used for decoding. The lenient
path is to be dropped when support for v1alpha1 is dropped.

For more information on the discussion see #82924 and the linked PRs.
2019-10-31 13:43:52 +01:00
Kubernetes Prow Robot
486e2380bd
Merge pull request #83692 from yastij/fix-events-scheduler
add a fallback for kube-scheduler  when events.k8s.io is disabled
2019-10-28 14:08:43 -07:00
Yassine TIJANI
f970b34137 add a fallback for kube-scheduler when events.k8s.io is disabled
Signed-off-by: Yassine TIJANI <ytijani@vmware.com>
2019-10-28 19:09:47 +01:00
wojtekt
ce499ac286 Migrate components to EndpointsLeases leader election lock 2019-10-28 09:09:03 +01:00
Cong Liu
571cea0519 Convert NodeLabelPresence custom predicate to filter plugin. 2019-10-25 19:31:17 -04:00
draveness
47a6c5b693 feat(scheduler): use context in the scheduler package
+ Use context instead of stopCh
+ Add context to the scheduling framework interface
2019-10-17 09:03:55 +08:00
Shintaro Murakami
a86634bc17 Support dynamically set log level for kube-scheduler 2019-10-15 01:32:41 +09:00
Ahmad Diaa
4448a1cea9 move factory package to scheduler 2019-10-12 23:03:07 +02:00
draveness
ee4dec65b5 feat(scheduler): expose SharedInformerFactory to the framework handle 2019-10-11 10:23:21 +08:00
Abdullah Gharaibeh
456df97745 made scheduler cache and volume binder available when instantiating factories for default plugins 2019-10-10 16:21:29 -04:00
draveness
9646afb1f5 feat: add pod initial/max backoff duration to config API 2019-10-09 19:48:28 +08:00
Kubernetes Prow Robot
6dde8daa76
Merge pull request #83030 from obitech/kube_scheduler_strict_serializer
Enable strict serializer in kube-scheduler
2019-10-04 10:22:04 -07:00
Abdullah Gharaibeh
30e7016ccf Refactor scheduler.New so that all framework-related parameters are passed as options 2019-10-03 11:39:59 -04:00
Kubernetes Prow Robot
74d2822662
Merge pull request #72535 from tallclair/content-type
Always set content-type & nosniff
2019-09-27 18:43:39 -07:00
obitech
6acef2b94c Enable strict serializer with codec factory
- Enabling strict serializer will throw errors on e.g. duplicate
  or unknown fields in YAML configs
- Add test cases for duplicate and unknown fields
2019-09-26 17:41:07 +02:00
Mark Janssen
1a1b7001d6 Fix staticcheck failures for scheduler packages
Errors from staticcheck:
cmd/kube-scheduler/app/server.go:297:27: prometheus.Handler is deprecated: Please note the issues described in the doc comment of InstrumentHandler. You might want to consider using promhttp.Handler instead.  (SA1019)
pkg/apis/scheduling/v1alpha1/defaults.go:27:6: func addDefaultingFuncs is unused (U1000)
pkg/apis/scheduling/v1beta1/defaults.go:27:6: func addDefaultingFuncs is unused (U1000)
test/e2e/scheduling/predicates.go:757:6: func verifyReplicasResult is unused (U1000)
test/e2e/scheduling/predicates.go:765:6: func getPodsByLabels is unused (U1000)
test/e2e/scheduling/predicates.go:772:6: func runAndKeepPodWithLabelAndGetNodeName is unused (U1000)
test/e2e/scheduling/limit_range.go:172:3: this value of pod is never used (SA4006)
test/e2e/scheduling/limit_range.go:177:3: this value of pod is never used (SA4006)
test/e2e/scheduling/limit_range.go:196:3: this value of pod is never used (SA4006)
test/e2e/scheduling/limit_range.go:201:3: this value of pod is never used (SA4006)
test/e2e/scheduling/limit_range.go:240:3: this value of pod is never used (SA4006)
test/e2e/scheduling/taints.go:428:13: this value of err is never used (SA4006)
test/e2e/scheduling/ubernetes_lite.go:219:2: this value of pods is never used (SA4006)
test/integration/scheduler/extender_test.go:78:4: this value of resp is never used (SA4006)
test/integration/volumescheduling/volume_binding_test.go:529:15: this result of append is never used, except maybe in other appends (SA4010)
test/integration/volumescheduling/volume_binding_test.go:538:15: this result of append is never used, except maybe in other appends (SA4010)
2019-09-23 22:52:57 +02:00
Han Kang
866ea74326 remove pkg/version and some of redundant copies of it
Change-Id: Ia58367c1b1274bfb49c8a4784051463abaf795de
2019-09-16 16:24:35 -07:00
Abdullah Gharaibeh
3174d9c847 Added a noop plugin to make sure we have the dependencies worked out for the default registry of the scheduler framework. 2019-09-13 13:36:35 -04:00
Tim Allclair
ef6cba0b36 Always set content-type & nosniff 2019-09-11 15:01:43 -07:00
Zhonghu Xu
fb3274759f Remove duplicate logging 2019-09-11 14:58:04 +08:00
Kubernetes Prow Robot
6e684875ab
Merge pull request #81954 from SataQiu/fix-schedule-20190826
schedule code clean: using string prefix instead of MarkDeprecated
2019-08-28 08:55:59 -07:00
Kubernetes Prow Robot
a927ed454c
Merge pull request #81576 from logicalhan/scheduler-migration
migrate scheduler metrics to stability framework
2019-08-28 08:55:12 -07:00
Han Kang
8da448dbe3 migrate scheduler metrics endpoint to metrics stability framework 2019-08-28 03:40:43 -07:00
David Eads
f589c1213c add cache-control headers to kube-apiserver 2019-08-26 13:00:31 -04:00
SataQiu
cb8183c680 schedule code clean: using string prefix instead of MarkDeprecated 2019-08-27 00:03:29 +08:00
Kubernetes Prow Robot
8dea3310e5
Merge pull request #81376 from logicalhan/health-checks
rename healthz methodNames to be more consistent w/ present day usages
2019-08-22 03:48:32 -07:00
Han Kang
2e23788fda rename healthz methodNames to be more consistent w/ present day usages 2019-08-13 12:52:30 -07:00
ravisantoshgudimetla
3a1354d590 Autogenerated files 2019-08-09 15:23:43 -04:00
ravisantoshgudimetla
e2b29cd508 Scheduler should terminate when it looses leader lock 2019-08-09 15:23:28 -04:00
Kubernetes Prow Robot
aa6a077cfd
Merge pull request #80681 from ricky1993/customize_resource_name_and_namespace
add options for name and namespace of leaderelection object
2019-08-07 01:36:51 -07:00
chenyixiang
41a435a812 migrate scheduler options to resourceName & resourceNamespace
Change-Id: I743eda488320c97c123b49018d7efcc57525b152
2019-08-03 11:42:47 +08:00
Clayton Coleman
33521b41d4
Disable gzip compression in core control plane components
On local networks (such as the typical connection path between
control plane components) gzip compression increases CPU use and
end to end p99 latency rather than decreasing it. Disable compression
within the control plane components like a 1.15 cluster would be
configured.
2019-08-02 16:18:15 -04:00
Kubernetes Prow Robot
619a3985d0
Merge pull request #80206 from tedyu/sched-svr-dup
Remove duplicate requestInfoResolver
2019-07-16 15:24:43 -07:00
Ted Yu
a3f06c7e23 Remove duplicate requestInfoResolver 2019-07-16 10:53:07 -07:00
Kubernetes Prow Robot
c30f024864
Merge pull request #78162 from hex108/registry
Add support for writing out of tree custom scheduler plugins
2019-07-15 23:29:24 -07:00
Yassine TIJANI
08522f8e5a move scheduler to use v1beta1.events
Signed-off-by: Yassine TIJANI <ytijani@vmware.com>
2019-07-12 11:39:01 +02:00
Jun Gong
5828223e75 Rename PluginOption to Option 2019-07-11 17:39:48 +08:00
Kubernetes Prow Robot
dd8a000a77
Merge pull request #79493 from odinuge/kube-cmd-double-print
Remove duplicate error messages from cli commands
2019-06-28 13:57:41 -07:00
Odin Ugedal
7caf51daa4
Remove duplicate error messages from cli commands
Since we never use the cobras "SilenceErrors" or "SilenceUsage",
a command executed with "cmd.Execute()" will never return an error
without printing it.

The current behavior results in all error messages being printed twice:

Example:

$ kubectl abc
Error: unknown command "abc" for "kubectl"
Run 'kubectl --help' for usage.
unknown command "abc" for "kubectl"

This applies to all cli commands using Cobra. To verify, follow the code
path of the Execute function:

https://github.com/spf13/cobra/blob/c439c4fa0937/command.go#L793
Signed-off-by: Odin Ugedal <odin@ugedal.com>
2019-06-27 21:55:14 +02:00
Fabio Bertinatto
00b0ab86af Update scheduler to use volume limits from CSINode 2019-06-25 16:30:54 +02:00
Kubernetes Prow Robot
415323ca9b
Merge pull request #78340 from sftim/20190524_docs_insecure_serving_fix
Fix typo in kube-scheduler --port option help
2019-06-25 07:06:39 -07:00
Jun Gong
107e989454 Use WithOption to implment scheduler register 2019-06-25 17:03:21 +08:00
Andy Goldstein
9bba2c93ec
Fix max port value to 65535
Signed-off-by: Andy Goldstein <goldsteina@vmware.com>
2019-06-24 15:13:27 -04:00
Jun Gong
e9793c8bdb Pass registry parameter to scheduler instead of global singleton 2019-06-24 11:29:47 +08:00
Jun Gong
ea8e1e01c5 Add support for writing out of tree custom scheduler plugins 2019-06-24 10:43:47 +08:00
Tim Bannister
82fd3e2fa7
Fix typo
Write "HTTP" (and not "HTTPS") to describe plain HTTP.
2019-05-24 23:55:55 +01:00
JieJhih Jhang
2cd5fc54a1 add scheduling framework configuration
update bazel build

fix get plugin config method

initialize only needed plugins

fix unit test

fix import duplicate package

update bazel

add docstrings

add weight field to plugin

add plugin to v1alpha1

add plugins at appropriate extension points

remove todo statement

fix import package file path

set plugin json schema

add plugin unit test to option

initial plugin in test integration

initialize only needed plugins

update bazel

rename func

change plugins needed logic

remove v1 alias

change the comment

fix alias shorter

remove blank line

change docstrings

fix map bool to struct

add some docstrings

add unreserve plugin

fix docstrings

move variable inside the for loop

make if else statement cleaner

remove plugin config from reserve plugin unit test

add plugin config and reduce unnecessary options for unit test

update bazel

fix race condition

fix permit plugin integration

change plugins to be pointer

change weight to int32

fix package alias

initial queue sort plugin

rename unreserve plugin

redesign plugin struct

update docstrings

check queue sort plugin amount

fix error message

fix condition

change plugin struct

add disabled plugin for unit test

fix docstrings

handle nil plugin set
2019-05-18 06:30:28 +08:00
Yecheng Fu
214ea1a9d3 Update scheduler to use new volume scheduling library
To fix scheme issue, use k8s.io/client-go/kubernetes/scheme instead of
legacyscheme.
2019-05-02 14:57:47 +08:00
Bobby (Babak) Salamat
83828bcb2d autogenerated files 2019-04-29 16:40:56 -07:00
Bobby (Babak) Salamat
77824f5135 Change scheduler constructors to receive a plugin registry. 2019-04-29 16:40:56 -07:00
Shintaro Murakami
28b3cff13c Remove redundant wait for cache sync 2019-04-13 08:12:33 +09:00
leigh capili
47e52d2981 Refactor loops over SupportedMediaTypes() where mediaType is used to match a single SerializerInfo{}
We have an existing helper function for this:  runtime.SerializerInfoForMediaType()

This is common prep-work for encoding runtime.Objects into JSON/YAML for transmission over the wire or writing to ComponentConfigs.
2019-04-04 19:01:01 -06:00
Kubernetes Prow Robot
e9c42a15f7
Merge pull request #73672 from WanLinghao/failure_domain_remove
Remove dead code about failure-domains option in kube-scheduler
2019-03-30 18:22:33 -07:00
WanLinghao
f510f49955 Remove dead code about failure-domains option in kube-scheduler 2019-03-18 14:25:04 +08:00
liurui
0a1227c2b1 fix typo 2019-03-11 11:19:39 +08:00
Xiang Dai
36065c6dd7 delete all duplicate empty blanks
Signed-off-by: Xiang Dai <764524258@qq.com>
2019-02-23 10:28:04 +08:00
Marek Counts
160ed26c20 autogen files to support new project structure. 2019-02-15 10:29:31 -05:00