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  lock  contention
103       profiling, if profiling is enabled. This parameter is ignored if a con‐
104       fig file is 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  (ALPHA  -  default=false)
118       APIServerIdentity=true|false   (BETA   -  default=true)  APIServerTrac‐
119       ing=true|false   (ALPHA   -   default=false)    AggregatedDiscoveryEnd‐
120       point=true|false  (ALPHA  - default=false) AllAlpha=true|false (ALPHA -
121       default=false) AllBeta=true|false (BETA - default=false) AnyVolumeData‐
122       Source=true|false (BETA - default=true) AppArmor=true|false (BETA - de‐
123       fault=true)  CPUManagerPolicyAlphaOptions=true|false   (ALPHA   -   de‐
124       fault=false)   CPUManagerPolicyBetaOptions=true|false   (BETA   -   de‐
125       fault=true) CPUManagerPolicyOptions=true|false  (BETA  -  default=true)
126       CSIMigrationPortworx=true|false   (BETA   -   default=false)  CSIMigra‐
127       tionRBD=true|false    (ALPHA    -    default=false)    CSINodeExpandSe‐
128       cret=true|false (ALPHA - default=false) CSIVolumeHealth=true|false (AL‐
129       PHA - default=false) ComponentSLIs=true|false (ALPHA  -  default=false)
130       ContainerCheckpoint=true|false  (ALPHA  - default=false) ContextualLog‐
131       ging=true|false  (ALPHA  -  default=false)   CronJobTimeZone=true|false
132       (BETA  - default=true) CrossNamespaceVolumeDataSource=true|false (ALPHA
133       -  default=false)  CustomCPUCFSQuotaPeriod=true|false  (ALPHA   -   de‐
134       fault=false) CustomResourceValidationExpressions=true|false (BETA - de‐
135       fault=true) DisableCloudProviders=true|false  (ALPHA  -  default=false)
136       DisableKubeletCloudCredentialProviders=true|false    (ALPHA    -    de‐
137       fault=false) DownwardAPIHugePages=true|false (BETA - default=true)  Dy‐
138       namicResourceAllocation=true|false  (ALPHA  -  default=false) EventedP‐
139       LEG=true|false  (ALPHA  -  default=false)  ExpandedDNSConfig=true|false
140       (BETA     -     default=true)     ExperimentalHostUserNamespaceDefault‐
141       ing=true|false  (BETA  -  default=false)  GRPCContainerProbe=true|false
142       (BETA  -  default=true)  GracefulNodeShutdown=true|false  (BETA  -  de‐
143       fault=true) GracefulNodeShutdownBasedOnPodPriority=true|false  (BETA  -
144       default=true)  HPAContainerMetrics=true|false  (ALPHA  - default=false)
145       HPAScaleToZero=true|false (ALPHA  -  default=false)  HonorPVReclaimPol‐
146       icy=true|false     (ALPHA     -    default=false)    IPTablesOwnership‐
147       Cleanup=true|false  (ALPHA  -  default=false)   InTreePluginAWSUnregis‐
148       ter=true|false  (ALPHA  -  default=false) InTreePluginAzureDiskUnregis‐
149       ter=true|false (ALPHA  -  default=false)  InTreePluginAzureFileUnregis‐
150       ter=true|false    (ALPHA   -   default=false)   InTreePluginGCEUnregis‐
151       ter=true|false (ALPHA  -  default=false)  InTreePluginOpenStackUnregis‐
152       ter=true|false  (ALPHA  -  default=false)  InTreePluginPortworxUnregis‐
153       ter=true|false   (ALPHA   -   default=false)    InTreePluginRBDUnregis‐
154       ter=true|false   (ALPHA  -  default=false)  InTreePluginvSphereUnregis‐
155       ter=true|false (ALPHA -  default=false)  JobMutableNodeSchedulingDirec‐
156       tives=true|false  (BETA  - default=true) JobPodFailurePolicy=true|false
157       (BETA - default=true)  JobReadyPods=true|false  (BETA  -  default=true)
158       KMSv2=true|false    (ALPHA    -    default=false)   KubeletInUserNames‐
159       pace=true|false (ALPHA - default=false)  KubeletPodResources=true|false
160       (BETA   -   default=true)  KubeletPodResourcesGetAllocatable=true|false
161       (BETA - default=true) KubeletTracing=true|false (ALPHA - default=false)
162       LegacyServiceAccountTokenTracking=true|false  (ALPHA  -  default=false)
163       LocalStorageCapacityIsolationFSQuotaMonitoring=true|false (ALPHA -  de‐
164       fault=false) LogarithmicScaleDown=true|false (BETA - default=true) Log‐
165       gingAlphaOptions=true|false  (ALPHA  -  default=false)   LoggingBetaOp‐
166       tions=true|false   (BETA   -  default=true)  MatchLabelKeysInPodTopolo‐
167       gySpread=true|false  (ALPHA   -   default=false)   MaxUnavailableState‐
168       fulSet=true|false   (ALPHA  -  default=false)  MemoryManager=true|false
169       (BETA - default=true) MemoryQoS=true|false (ALPHA - default=false) Min‐
170       DomainsInPodTopologySpread=true|false   (BETA  -  default=false)  Mini‐
171       mizeIPTablesRestore=true|false  (ALPHA  -   default=false)   MultiCIDR‐
172       RangeAllocator=true|false  (ALPHA  -  default=false)  NetworkPolicySta‐
173       tus=true|false (ALPHA - default=false)  NodeInclusionPolicyInPodTopolo‐
174       gySpread=true|false  (BETA  -  default=true)  NodeOutOfServiceVolumeDe‐
175       tach=true|false (BETA - default=true) NodeSwap=true|false (ALPHA -  de‐
176       fault=false)   OpenAPIEnums=true|false   (BETA   -  default=true)  Ope‐
177       nAPIV3=true|false  (BETA  -  default=true)  PDBUnhealthyPodEvictionPol‐
178       icy=true|false   (ALPHA   -   default=false)  PodAndContainerStatsFrom‐
179       CRI=true|false (ALPHA - default=false) PodDeletionCost=true|false (BETA
180       -   default=true)   PodDisruptionConditions=true|false   (BETA   -  de‐
181       fault=true) PodHasNetworkCondition=true|false (ALPHA  -  default=false)
182       PodSchedulingReadiness=true|false (ALPHA - default=false) ProbeTermina‐
183       tionGracePeriod=true|false    (BETA    -    default=true)    ProcMount‐
184       Type=true|false    (ALPHA    -    default=false)   ProxyTerminatingEnd‐
185       points=true|false (BETA - default=true) QOSReserved=true|false (ALPHA -
186       default=false)  ReadWriteOncePod=true|false (ALPHA - default=false) Re‐
187       coverVolumeExpansionFailure=true|false (ALPHA - default=false)  Remain‐
188       ingItemCount=true|false  (BETA  - default=true) RetroactiveDefaultStor‐
189       ageClass=true|false (BETA -  default=true)  RotateKubeletServerCertifi‐
190       cate=true|false   (BETA   -   default=true)  SELinuxMountReadWriteOnce‐
191       Pod=true|false (ALPHA - default=false) SeccompDefault=true|false  (BETA
192       -   default=true)   ServerSideFieldValidation=true|false  (BETA  -  de‐
193       fault=true) SizeMemoryBackedVolumes=true|false  (BETA  -  default=true)
194       StatefulSetAutoDeletePVC=true|false   (ALPHA  -  default=false)  State‐
195       fulSetStartOrdinal=true|false (ALPHA -  default=false)  StorageVersion‐
196       API=true|false  (ALPHA  -  default=false) StorageVersionHash=true|false
197       (BETA  -  default=true)  TopologyAwareHints=true|false  (BETA   -   de‐
198       fault=true)  TopologyManager=true|false (BETA - default=true) Topology‐
199       ManagerPolicyAlphaOptions=true|false (ALPHA - default=false)  Topology‐
200       ManagerPolicyBetaOptions=true|false (BETA - default=false) TopologyMan‐
201       agerPolicyOptions=true|false (ALPHA -  default=false)  Unauthenticated‐
202       HTTP2DOSMitigation=true|false   (BETA   -   default=false)   UserNames‐
203       pacesStatelessPodsSupport=true|false (ALPHA - default=false) Validatin‐
204       gAdmissionPolicy=true|false  (ALPHA - default=false) VolumeCapacityPri‐
205       ority=true|false (ALPHA - default=false) WinDSR=true|false (ALPHA - de‐
206       fault=false)  WinOverlay=true|false  (BETA - default=true) WindowsHost‐
207       Network=true|false (ALPHA - default=true)
208
209
210       -h, --help=false      help for kube-scheduler
211
212
213       --http2-max-streams-per-connection=0      The  limit  that  the  server
214       gives to clients for the maximum number of streams in an HTTP/2 connec‐
215       tion. Zero means to use golang's default.
216
217
218       --kube-api-burst=100      DEPRECATED: burst to use while  talking  with
219       kubernetes  apiserver.  This  parameter  is ignored if a config file is
220       specified in --config.
221
222
223       --kube-api-content-type="application/vnd.kubernetes.protobuf"      DEP‐
224       RECATED:  content type of requests sent to apiserver. This parameter is
225       ignored if a config file is specified in --config.
226
227
228       --kube-api-qps=50      DEPRECATED: QPS to use while talking with kuber‐
229       netes  apiserver.  This parameter is ignored if a config file is speci‐
230       fied in --config.
231
232
233       --kubeconfig=""      DEPRECATED: path to kubeconfig  file  with  autho‐
234       rization  and master location information. This parameter is ignored if
235       a config file is specified in --config.
236
237
238       --leader-elect=true      Start a leader election client and gain  lead‐
239       ership  before executing the main loop. Enable this when running repli‐
240       cated components for high availability.
241
242
243       --leader-elect-lease-duration=15s       The  duration  that  non-leader
244       candidates  will  wait  after  observing a leadership renewal until at‐
245       tempting to acquire leadership of a led but unrenewed leader slot. This
246       is effectively the maximum duration that a leader can be stopped before
247       it is replaced by another candidate. This is only applicable if  leader
248       election is enabled.
249
250
251       --leader-elect-renew-deadline=10s      The interval between attempts by
252       the acting master to renew a leadership slot before it  stops  leading.
253       This  must  be less than the lease duration. This is only applicable if
254       leader election is enabled.
255
256
257       --leader-elect-resource-lock="leases"      The type of resource  object
258       that  is used for locking during leader election. Supported options are
259       'leases', 'endpointsleases' and 'configmapsleases'.
260
261
262       --leader-elect-resource-name="kube-scheduler"      The name of resource
263       object that is used for locking during leader election.
264
265
266       --leader-elect-resource-namespace="kube-system"       The  namespace of
267       resource object that is used for locking during leader election.
268
269
270       --leader-elect-retry-period=2s      The  duration  the  clients  should
271       wait  between  attempting acquisition and renewal of a leadership. This
272       is only applicable if leader election is enabled.
273
274
275       --lock-object-name="kube-scheduler"      DEPRECATED: define the name of
276       the  lock  object.  Will  be removed in favor of leader-elect-resource-
277       name. This parameter is ignored if a config file is specified in --con‐
278       fig.
279
280
281       --lock-object-namespace="kube-system"      DEPRECATED: define the name‐
282       space of the lock object. Will be removed in favor of  leader-elect-re‐
283       source-namespace.  This parameter is ignored if a config file is speci‐
284       fied in --config.
285
286
287       --log-flush-frequency=5s      Maximum number  of  seconds  between  log
288       flushes
289
290
291       --logging-format="text"       Sets  the  log format. Permitted formats:
292       "text".
293
294
295       --master=""      The address of the Kubernetes  API  server  (overrides
296       any value in kubeconfig)
297
298
299       --permit-address-sharing=false       If true, SO_REUSEADDR will be used
300       when binding the port. This allows binding to wildcard IPs like 0.0.0.0
301       and  specific  IPs in parallel, and it avoids waiting for the kernel to
302       release sockets in TIME_WAIT state. [default=false]
303
304
305       --permit-port-sharing=false      If true,  SO_REUSEPORT  will  be  used
306       when  binding  the port, which allows more than one instance to bind on
307       the same address and port. [default=false]
308
309
310       --pod-max-in-unschedulable-pods-duration=5m0s      DEPRECATED: the max‐
311       imum  time  a  pod can stay in unschedulablePods. If a pod stays in un‐
312       schedulablePods for longer than this value, the pod will be moved  from
313       unschedulablePods  to  backoffQ or activeQ. This flag is deprecated and
314       will be removed in 1.26
315
316
317       --profiling=true      DEPRECATED: enable profiling  via  web  interface
318       host:port/debug/pprof/.  This  parameter is ignored if a config file is
319       specified in --config.
320
321
322       --requestheader-allowed-names=[]      List of client certificate common
323       names  to allow to provide usernames in headers specified by --request‐
324       header-username-headers. If empty, any client certificate validated  by
325       the authorities in --requestheader-client-ca-file is allowed.
326
327
328       --requestheader-client-ca-file=""       Root  certificate bundle to use
329       to verify client certificates  on  incoming  requests  before  trusting
330       usernames  in  headers  specified  by --requestheader-username-headers.
331       WARNING: generally do not depend on authorization  being  already  done
332       for incoming requests.
333
334
335       --requestheader-extra-headers-prefix=[x-remote-extra-]      List of re‐
336       quest header prefixes to inspect. X-Remote-Extra- is suggested.
337
338
339       --requestheader-group-headers=[x-remote-group]       List  of   request
340       headers to inspect for groups. X-Remote-Group is suggested.
341
342
343       --requestheader-username-headers=[x-remote-user]       List  of request
344       headers to inspect for usernames. X-Remote-User is common.
345
346
347       --secure-port=10259      The port on which to serve HTTPS with  authen‐
348       tication and authorization. If 0, don't serve HTTPS at all.
349
350
351       --show-hidden-metrics-for-version=""        The  previous  version  for
352       which you want to show hidden metrics. Only the previous minor  version
353       is meaningful, other values will not be allowed. The format is ., e.g.:
354       '1.16'. The purpose of this format is make sure you have  the  opportu‐
355       nity  to  notice  if  the next release hides additional metrics, rather
356       than being surprised when they are permanently removed in  the  release
357       after that.
358
359
360       --tls-cert-file=""       File  containing  the default x509 Certificate
361       for HTTPS. (CA cert, if any, concatenated after server cert). If  HTTPS
362       serving  is enabled, and --tls-cert-file and --tls-private-key-file are
363       not provided, a self-signed certificate and key are generated  for  the
364       public address and saved to the directory specified by --cert-dir.
365
366
367       --tls-cipher-suites=[]       Comma-separated  list of cipher suites for
368       the server. If omitted, the default Go  cipher  suites  will  be  used.
369       Preferred   values:   TLS_AES_128_GCM_SHA256,   TLS_AES_256_GCM_SHA384,
370       TLS_CHACHA20_POLY1305_SHA256,     TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA,
371       TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,
372       TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA,
373       TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,
374       TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,
375       TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256,
376       TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,
377       TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,
378       TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,
379       TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,
380       TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,
381       TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256,
382       TLS_RSA_WITH_AES_128_CBC_SHA,          TLS_RSA_WITH_AES_128_GCM_SHA256,
383       TLS_RSA_WITH_AES_256_CBC_SHA,  TLS_RSA_WITH_AES_256_GCM_SHA384.   Inse‐
384       cure          values:          TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,
385       TLS_ECDHE_ECDSA_WITH_RC4_128_SHA,  TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA,
386       TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,  TLS_ECDHE_RSA_WITH_RC4_128_SHA,
387       TLS_RSA_WITH_3DES_EDE_CBC_SHA,         TLS_RSA_WITH_AES_128_CBC_SHA256,
388       TLS_RSA_WITH_RC4_128_SHA.
389
390
391       --tls-min-version=""      Minimum TLS version supported. Possible  val‐
392       ues: VersionTLS10, VersionTLS11, VersionTLS12, VersionTLS13
393
394
395       --tls-private-key-file=""      File containing the default x509 private
396       key matching --tls-cert-file.
397
398
399       --tls-sni-cert-key=[]      A pair of x509 certificate and  private  key
400       file  paths,  optionally  suffixed with a list of domain patterns which
401       are fully qualified domain names, possibly with prefixed wildcard  seg‐
402       ments. The domain patterns also allow IP addresses, but IPs should only
403       be used if the apiserver has visibility to the IP address requested  by
404       a client. If no domain patterns are provided, the names of the certifi‐
405       cate are extracted. Non-wildcard matches trump over  wildcard  matches,
406       explicit  domain  patterns  trump  over  extracted  names. For multiple
407       key/certificate pairs, use the --tls-sni-cert-key multiple times. Exam‐
408       ples: "example.crt,example.key" or "foo.crt,foo.key:*.foo.com,foo.com".
409
410
411       -v, --v=0      number for the log level verbosity
412
413
414       --version=false      Print version information and quit
415
416
417       --vmodule=       comma-separated  list  of pattern=N settings for file-
418       filtered logging (only works for text log format)
419
420
421       --write-config-to=""      If set, write  the  configuration  values  to
422       this file and exit.
423
424
425

HISTORY

427       January  2015,  Originally compiled by Eric Paris (eparis at redhat dot
428       com) based on the kubernetes source material, but hopefully  they  have
429       been automatically generated since!
430
431
432
433Manuals                              User            KUBERNETES(1)(kubernetes)
Impressum