1KUBERNETES(1)(kubernetes)                            KUBERNETES(1)(kubernetes)
2
3
4
5Eric Paris Jan 2015
6
7

NAME

9       kube-scheduler -
10
11
12

SYNOPSIS

14       kube-scheduler [OPTIONS]
15
16
17

DESCRIPTION

19       The  Kubernetes scheduler is a control plane process which assigns Pods
20       to Nodes. The scheduler determines which Nodes are valid placements for
21       each Pod in the scheduling queue according to constraints and available
22       resources. The scheduler then ranks each valid Node and binds  the  Pod
23       to  a suitable Node. Multiple different schedulers may be used within a
24       cluster; kube-scheduler is the reference implementation.  See  schedul‐
25       ing ⟨https://kubernetes.io/docs/concepts/scheduling-eviction/⟩ for more
26       information about scheduling and the kube-scheduler component.
27
28
29

OPTIONS

31       --allow-metric-labels=[]      The map from metric-label to value allow-
32       list  of  this  label.  The  key's  format  is ,. The value's format is
33       ,...e.g.  metric1,label1='v1,v2,v3',   metric1,label2='v1,v2,v3'   met‐
34       ric2,label1='v1,v2,v3'.
35
36
37       --authentication-kubeconfig=""       kubeconfig  file  pointing  at the
38       'core' kubernetes server with enough rights to create  tokenreviews.au‐
39       thentication.k8s.io. This is optional. If empty, all token requests are
40       considered to be anonymous and no client CA is looked up in  the  clus‐
41       ter.
42
43
44       --authentication-skip-lookup=false       If  false, the authentication-
45       kubeconfig will be used to lookup missing authentication  configuration
46       from the cluster.
47
48
49       --authentication-token-webhook-cache-ttl=10s      The duration to cache
50       responses from the webhook token authenticator.
51
52
53       --authentication-tolerate-lookup-failure=true      If true, failures to
54       look  up  missing authentication configuration from the cluster are not
55       considered fatal. Note that this  can  result  in  authentication  that
56       treats all requests as anonymous.
57
58
59       --authorization-always-allow-paths=[/healthz,/readyz,/livez]          A
60       list of HTTP paths to skip during authorization, i.e. these are  autho‐
61       rized without contacting the 'core' kubernetes server.
62
63
64       --authorization-kubeconfig=""       kubeconfig  file  pointing  at  the
65       'core' kubernetes server with enough rights to create  subjectaccessre‐
66       views.authorization.k8s.io.  This  is  optional. If empty, all requests
67       not skipped by authorization are forbidden.
68
69
70       --authorization-webhook-cache-authorized-ttl=10s      The  duration  to
71       cache 'authorized' responses from the webhook authorizer.
72
73
74       --authorization-webhook-cache-unauthorized-ttl=10s      The duration to
75       cache 'unauthorized' responses from the webhook authorizer.
76
77
78       --azure-container-registry-config=""      Path to the  file  containing
79       Azure container registry configuration information.
80
81
82       --bind-address=0.0.0.0       The  IP address on which to listen for the
83       --secure-port port. The associated interface(s) must  be  reachable  by
84       the rest of the cluster, and by CLI/web clients. If blank or an unspec‐
85       ified address (0.0.0.0 or ::), all interfaces will be used.
86
87
88       --cert-dir=""      The directory where the TLS certs  are  located.  If
89       --tls-cert-file and --tls-private-key-file are provided, this flag will
90       be ignored.
91
92
93       --client-ca-file=""      If set, any request presenting a  client  cer‐
94       tificate  signed by one of the authorities in the client-ca-file is au‐
95       thenticated with an identity corresponding to  the  CommonName  of  the
96       client certificate.
97
98
99       --config=""      The path to the configuration file.
100
101
102       --contention-profiling=true      DEPRECATED: enable block profiling, if
103       profiling is enabled. This parameter is ignored if  a  config  file  is
104       specified in --config.
105
106
107       --disabled-metrics=[]       This flag provides an escape hatch for mis‐
108       behaving metrics. You must provide the fully qualified metric  name  in
109       order  to disable it. Disclaimer: disabling metrics is higher in prece‐
110       dence than showing hidden metrics.
111
112
113       --feature-gates=      A set of key=value pairs  that  describe  feature
114       gates  for  alpha/experimental  features.  Options  are:  APIListChunk‐
115       ing=true|false (BETA - default=true)  APIPriorityAndFairness=true|false
116       (BETA  -  default=true)  APIResponseCompression=true|false  (BETA - de‐
117       fault=true) APISelfSubjectReview=true|false (BETA - default=true) APIS‐
118       erverIdentity=true|false    (BETA    -   default=true)   APIServerTrac‐
119       ing=true|false  (BETA   -   default=true)   AdmissionWebhookMatchCondi‐
120       tions=true|false   (ALPHA   -   default=false)  AggregatedDiscoveryEnd‐
121       point=true|false (BETA - default=true) AllAlpha=true|false (ALPHA - de‐
122       fault=false)  AllBeta=true|false  (BETA - default=false) AnyVolumeData‐
123       Source=true|false (BETA - default=true) AppArmor=true|false (BETA - de‐
124       fault=true)   CPUManagerPolicyAlphaOptions=true|false   (ALPHA   -  de‐
125       fault=false)   CPUManagerPolicyBetaOptions=true|false   (BETA   -   de‐
126       fault=true)  CPUManagerPolicyOptions=true|false  (BETA  - default=true)
127       CSIMigrationPortworx=true|false  (BETA   -   default=false)   CSIMigra‐
128       tionRBD=true|false    (ALPHA    -    default=false)    CSINodeExpandSe‐
129       cret=true|false (BETA - default=true) CSIVolumeHealth=true|false (ALPHA
130       -  default=false) CloudControllerManagerWebhook=true|false (ALPHA - de‐
131       fault=false) CloudDualStackNodeIPs=true|false (ALPHA  -  default=false)
132       ClusterTrustBundle=true|false    (ALPHA    -    default=false)   Compo‐
133       nentSLIs=true|false    (BETA    -     default=true)     ContainerCheck‐
134       point=true|false  (ALPHA  - default=false) ContextualLogging=true|false
135       (ALPHA - default=false) CrossNamespaceVolumeDataSource=true|false  (AL‐
136       PHA  -  default=false)  CustomCPUCFSQuotaPeriod=true|false (ALPHA - de‐
137       fault=false) CustomResourceValidationExpressions=true|false (BETA - de‐
138       fault=true)  DisableCloudProviders=true|false  (ALPHA  - default=false)
139       DisableKubeletCloudCredentialProviders=true|false    (ALPHA    -    de‐
140       fault=false)    DynamicResourceAllocation=true|false   (ALPHA   -   de‐
141       fault=false) ElasticIndexedJob=true|false (BETA - default=true)  Event‐
142       edPLEG=true|false  (BETA  - default=false) ExpandedDNSConfig=true|false
143       (BETA     -     default=true)     ExperimentalHostUserNamespaceDefault‐
144       ing=true|false  (BETA  - default=false) GracefulNodeShutdown=true|false
145       (BETA - default=true) GracefulNodeShutdownBasedOnPodPriority=true|false
146       (BETA   -  default=true)  HPAContainerMetrics=true|false  (BETA  -  de‐
147       fault=true) HPAScaleToZero=true|false (ALPHA  -  default=false)  Honor‐
148       PVReclaimPolicy=true|false  (ALPHA  - default=false) IPTablesOwnership‐
149       Cleanup=true|false  (BETA   -   default=true)   InPlacePodVerticalScal‐
150       ing=true|false    (ALPHA   -   default=false)   InTreePluginAWSUnregis‐
151       ter=true|false (ALPHA  -  default=false)  InTreePluginAzureDiskUnregis‐
152       ter=true|false  (ALPHA  -  default=false) InTreePluginAzureFileUnregis‐
153       ter=true|false   (ALPHA   -   default=false)    InTreePluginGCEUnregis‐
154       ter=true|false  (ALPHA  -  default=false) InTreePluginOpenStackUnregis‐
155       ter=true|false  (ALPHA  -  default=false)  InTreePluginPortworxUnregis‐
156       ter=true|false    (ALPHA   -   default=false)   InTreePluginRBDUnregis‐
157       ter=true|false  (ALPHA  -  default=false)   InTreePluginvSphereUnregis‐
158       ter=true|false  (ALPHA  - default=false) JobPodFailurePolicy=true|false
159       (BETA - default=true)  JobReadyPods=true|false  (BETA  -  default=true)
160       KMSv2=true|false     (BETA    -    default=true)    KubeletInUserNames‐
161       pace=true|false (ALPHA - default=false)  KubeletPodResources=true|false
162       (BETA  -  default=true)  KubeletPodResourcesDynamicResources=true|false
163       (ALPHA - default=false) KubeletPodResourcesGet=true|false (ALPHA -  de‐
164       fault=false)  KubeletPodResourcesGetAllocatable=true|false  (BETA - de‐
165       fault=true) KubeletTracing=true|false (BETA - default=true)  LegacySer‐
166       viceAccountTokenTracking=true|false (BETA - default=true) LocalStorage‐
167       CapacityIsolationFSQuotaMonitoring=true|false (ALPHA  -  default=false)
168       LogarithmicScaleDown=true|false  (BETA  - default=true) LoggingAlphaOp‐
169       tions=true|false (ALPHA - default=false)  LoggingBetaOptions=true|false
170       (BETA   -   default=true)  MatchLabelKeysInPodTopologySpread=true|false
171       (BETA - default=true) MaxUnavailableStatefulSet=true|false (ALPHA - de‐
172       fault=false)   MemoryManager=true|false  (BETA  -  default=true)  Memo‐
173       ryQoS=true|false   (ALPHA   -   default=false)   MinDomainsInPodTopolo‐
174       gySpread=true|false    (BETA    -   default=true)   MinimizeIPTablesRe‐
175       store=true|false   (BETA    -    default=true)    MultiCIDRRangeAlloca‐
176       tor=true|false    (ALPHA   -   default=false)   MultiCIDRServiceAlloca‐
177       tor=true|false (ALPHA -  default=false)  NetworkPolicyStatus=true|false
178       (ALPHA - default=false) NewVolumeManagerReconstruction=true|false (BETA
179       -   default=false)    NodeInclusionPolicyInPodTopologySpread=true|false
180       (BETA  -  default=true) NodeLogQuery=true|false (ALPHA - default=false)
181       NodeOutOfServiceVolumeDetach=true|false    (BETA    -     default=true)
182       NodeSwap=true|false  (ALPHA  -  default=false)  OpenAPIEnums=true|false
183       (BETA - default=true) PDBUnhealthyPodEvictionPolicy=true|false (BETA  -
184       default=true)   PodAndContainerStatsFromCRI=true|false   (ALPHA  -  de‐
185       fault=false) PodDeletionCost=true|false (BETA -  default=true)  PodDis‐
186       ruptionConditions=true|false  (BETA - default=true) PodHasNetworkCondi‐
187       tion=true|false    (ALPHA    -    default=false)    PodSchedulingReadi‐
188       ness=true|false    (BETA   -   default=true)   ProbeTerminationGracePe‐
189       riod=true|false (BETA - default=true) ProcMountType=true|false (ALPHA -
190       default=false)   ProxyTerminatingEndpoints=true|false   (BETA   -   de‐
191       fault=true) QOSReserved=true|false (ALPHA - default=false) ReadWriteOn‐
192       cePod=true|false   (BETA  -  default=true)  RecoverVolumeExpansionFail‐
193       ure=true|false (ALPHA  -  default=false)  RemainingItemCount=true|false
194       (BETA - default=true) RetroactiveDefaultStorageClass=true|false (BETA -
195       default=true)  RotateKubeletServerCertificate=true|false  (BETA  -  de‐
196       fault=true)   SELinuxMountReadWriteOncePod=true|false   (BETA   -   de‐
197       fault=false)  SecurityContextDeny=true|false  (ALPHA  -  default=false)
198       ServiceNodePortStaticSubrange=true|false  (ALPHA - default=false) Size‐
199       MemoryBackedVolumes=true|false  (BETA  -  default=true)  StableLoadBal‐
200       ancerNodeSet=true|false    (BETA    -    default=true)   StatefulSetAu‐
201       toDeletePVC=true|false  (BETA  -  default=true)   StatefulSetStartOrdi‐
202       nal=true|false  (BETA - default=true) StorageVersionAPI=true|false (AL‐
203       PHA  -  default=false)  StorageVersionHash=true|false   (BETA   -   de‐
204       fault=true) TopologyAwareHints=true|false (BETA - default=true) Topolo‐
205       gyManagerPolicyAlphaOptions=true|false (ALPHA - default=false)  Topolo‐
206       gyManagerPolicyBetaOptions=true|false  (BETA - default=false) Topology‐
207       ManagerPolicyOptions=true|false (ALPHA - default=false)  Unauthenticat‐
208       edHTTP2DOSMitigation=true|false   (BETA   -  default=false)  UserNames‐
209       pacesStatelessPodsSupport=true|false (ALPHA - default=false) Validatin‐
210       gAdmissionPolicy=true|false  (ALPHA - default=false) VolumeCapacityPri‐
211       ority=true|false (ALPHA - default=false) WatchList=true|false (ALPHA  -
212       default=false)   WinDSR=true|false  (ALPHA  -  default=false)  WinOver‐
213       lay=true|false (BETA - default=true) WindowsHostNetwork=true|false (AL‐
214       PHA - default=true)
215
216
217       -h, --help=false      help for kube-scheduler
218
219
220       --http2-max-streams-per-connection=0       The  limit  that  the server
221       gives to clients for the maximum number of streams in an HTTP/2 connec‐
222       tion. Zero means to use golang's default.
223
224
225       --kube-api-burst=100       DEPRECATED:  burst to use while talking with
226       kubernetes apiserver. This parameter is ignored if  a  config  file  is
227       specified in --config.
228
229
230       --kube-api-content-type="application/vnd.kubernetes.protobuf"      DEP‐
231       RECATED: content type of requests sent to apiserver. This parameter  is
232       ignored if a config file is specified in --config.
233
234
235       --kube-api-qps=50      DEPRECATED: QPS to use while talking with kuber‐
236       netes apiserver. This parameter is ignored if a config file  is  speci‐
237       fied in --config.
238
239
240       --kubeconfig=""       DEPRECATED:  path  to kubeconfig file with autho‐
241       rization and master location information. This parameter is ignored  if
242       a config file is specified in --config.
243
244
245       --leader-elect=true       Start a leader election client and gain lead‐
246       ership before executing the main loop. Enable this when running  repli‐
247       cated components for high availability.
248
249
250       --leader-elect-lease-duration=15s       The  duration  that  non-leader
251       candidates will wait after observing a  leadership  renewal  until  at‐
252       tempting to acquire leadership of a led but unrenewed leader slot. This
253       is effectively the maximum duration that a leader can be stopped before
254       it  is replaced by another candidate. This is only applicable if leader
255       election is enabled.
256
257
258       --leader-elect-renew-deadline=10s      The interval between attempts by
259       the  acting  master to renew a leadership slot before it stops leading.
260       This must be less than the lease duration. This is only  applicable  if
261       leader election is enabled.
262
263
264       --leader-elect-resource-lock="leases"       The type of resource object
265       that is used for locking during leader election. Supported options  are
266       'leases', 'endpointsleases' and 'configmapsleases'.
267
268
269       --leader-elect-resource-name="kube-scheduler"      The name of resource
270       object that is used for locking during leader election.
271
272
273       --leader-elect-resource-namespace="kube-system"      The  namespace  of
274       resource object that is used for locking during leader election.
275
276
277       --leader-elect-retry-period=2s       The  duration  the  clients should
278       wait between attempting acquisition and renewal of a  leadership.  This
279       is only applicable if leader election is enabled.
280
281
282       --lock-object-name="kube-scheduler"      DEPRECATED: define the name of
283       the lock object. Will be removed  in  favor  of  leader-elect-resource-
284       name. This parameter is ignored if a config file is specified in --con‐
285       fig.
286
287
288       --lock-object-namespace="kube-system"      DEPRECATED: define the name‐
289       space  of the lock object. Will be removed in favor of leader-elect-re‐
290       source-namespace. This parameter is ignored if a config file is  speci‐
291       fied in --config.
292
293
294       --log-flush-frequency=5s       Maximum  number  of  seconds between log
295       flushes
296
297
298       --logging-format="text"      Sets the log  format.  Permitted  formats:
299       "text".
300
301
302       --master=""       The  address  of the Kubernetes API server (overrides
303       any value in kubeconfig)
304
305
306       --permit-address-sharing=false      If true, SO_REUSEADDR will be  used
307       when binding the port. This allows binding to wildcard IPs like 0.0.0.0
308       and specific IPs in parallel, and it avoids waiting for the  kernel  to
309       release sockets in TIME_WAIT state. [default=false]
310
311
312       --permit-port-sharing=false       If  true,  SO_REUSEPORT  will be used
313       when binding the port, which allows more than one instance to  bind  on
314       the same address and port. [default=false]
315
316
317       --pod-max-in-unschedulable-pods-duration=5m0s      DEPRECATED: the max‐
318       imum time a pod can stay in unschedulablePods. If a pod  stays  in  un‐
319       schedulablePods  for longer than this value, the pod will be moved from
320       unschedulablePods to backoffQ or activeQ. This flag is  deprecated  and
321       will be removed in 1.26
322
323
324       --profiling=true       DEPRECATED:  enable  profiling via web interface
325       host:port/debug/pprof/. This parameter is ignored if a config  file  is
326       specified in --config.
327
328
329       --requestheader-allowed-names=[]      List of client certificate common
330       names to allow to provide usernames in headers specified by  --request‐
331       header-username-headers.  If empty, any client certificate validated by
332       the authorities in --requestheader-client-ca-file is allowed.
333
334
335       --requestheader-client-ca-file=""      Root certificate bundle  to  use
336       to  verify  client  certificates  on  incoming requests before trusting
337       usernames in  headers  specified  by  --requestheader-username-headers.
338       WARNING:  generally  do  not depend on authorization being already done
339       for incoming requests.
340
341
342       --requestheader-extra-headers-prefix=[x-remote-extra-]      List of re‐
343       quest header prefixes to inspect. X-Remote-Extra- is suggested.
344
345
346       --requestheader-group-headers=[x-remote-group]        List  of  request
347       headers to inspect for groups. X-Remote-Group is suggested.
348
349
350       --requestheader-username-headers=[x-remote-user]      List  of  request
351       headers to inspect for usernames. X-Remote-User is common.
352
353
354       --secure-port=10259       The port on which to serve HTTPS with authen‐
355       tication and authorization. If 0, don't serve HTTPS at all.
356
357
358       --show-hidden-metrics-for-version=""       The  previous  version   for
359       which  you want to show hidden metrics. Only the previous minor version
360       is meaningful, other values will not be allowed. The format is ., e.g.:
361       '1.16'.  The  purpose of this format is make sure you have the opportu‐
362       nity to notice if the next release  hides  additional  metrics,  rather
363       than  being  surprised when they are permanently removed in the release
364       after that.
365
366
367       --tls-cert-file=""      File containing the  default  x509  Certificate
368       for  HTTPS. (CA cert, if any, concatenated after server cert). If HTTPS
369       serving is enabled, and --tls-cert-file and --tls-private-key-file  are
370       not  provided,  a self-signed certificate and key are generated for the
371       public address and saved to the directory specified by --cert-dir.
372
373
374       --tls-cipher-suites=[]      Comma-separated list of cipher  suites  for
375       the  server.  If  omitted,  the  default Go cipher suites will be used.
376       Preferred   values:   TLS_AES_128_GCM_SHA256,   TLS_AES_256_GCM_SHA384,
377       TLS_CHACHA20_POLY1305_SHA256,     TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA,
378       TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,
379       TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA,
380       TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,
381       TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,
382       TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256,
383       TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,
384       TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,
385       TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,
386       TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,
387       TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,
388       TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256,
389       TLS_RSA_WITH_AES_128_CBC_SHA,          TLS_RSA_WITH_AES_128_GCM_SHA256,
390       TLS_RSA_WITH_AES_256_CBC_SHA,  TLS_RSA_WITH_AES_256_GCM_SHA384.   Inse‐
391       cure          values:          TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,
392       TLS_ECDHE_ECDSA_WITH_RC4_128_SHA,  TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA,
393       TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,  TLS_ECDHE_RSA_WITH_RC4_128_SHA,
394       TLS_RSA_WITH_3DES_EDE_CBC_SHA,         TLS_RSA_WITH_AES_128_CBC_SHA256,
395       TLS_RSA_WITH_RC4_128_SHA.
396
397
398       --tls-min-version=""       Minimum TLS version supported. Possible val‐
399       ues: VersionTLS10, VersionTLS11, VersionTLS12, VersionTLS13
400
401
402       --tls-private-key-file=""      File containing the default x509 private
403       key matching --tls-cert-file.
404
405
406       --tls-sni-cert-key=[]       A  pair of x509 certificate and private key
407       file paths, optionally suffixed with a list of  domain  patterns  which
408       are  fully qualified domain names, possibly with prefixed wildcard seg‐
409       ments. The domain patterns also allow IP addresses, but IPs should only
410       be  used if the apiserver has visibility to the IP address requested by
411       a client. If no domain patterns are provided, the names of the certifi‐
412       cate  are  extracted. Non-wildcard matches trump over wildcard matches,
413       explicit domain patterns  trump  over  extracted  names.  For  multiple
414       key/certificate pairs, use the --tls-sni-cert-key multiple times. Exam‐
415       ples: "example.crt,example.key" or "foo.crt,foo.key:*.foo.com,foo.com".
416
417
418       -v, --v=0      number for the log level verbosity
419
420
421       --version=false      Print version information and quit
422
423
424       --vmodule=      comma-separated list of pattern=N  settings  for  file-
425       filtered logging (only works for text log format)
426
427
428       --write-config-to=""       If  set,  write  the configuration values to
429       this file and exit.
430
431
432

HISTORY

434       January 2015, Originally compiled by Eric Paris (eparis at  redhat  dot
435       com)  based  on the kubernetes source material, but hopefully they have
436       been automatically generated since!
437
438
439
440Manuals                              User            KUBERNETES(1)(kubernetes)
Impressum