1KUBERNETES(1)(kubernetes) KUBERNETES(1)(kubernetes)
2
3
4
6 kube-scheduler - Schedules containers on hosts.
7
8
9
11 kube-scheduler [OPTIONS]
12
13
14
16 The Kubernetes scheduler is a policy-rich, topology-aware, work‐
17 load-specific function that significantly impacts availability, perfor‐
18 mance, and capacity. The scheduler needs to take into account individ‐
19 ual and collective resource requirements, quality of service require‐
20 ments, hardware/software/policy constraints, affinity and anti-affinity
21 specifications, data locality, inter-workload interference, deadlines,
22 and so on. Workload-specific requirements will be exposed through the
23 API as necessary.
24
25
26 kube-scheduler [flags]
27
28
29
31 --address string DEPRECATED
32 the IP address on which to listen for the --port port (set to
33 0.0.0.0 for all IPv4 interfaces and :: for all IPv6 interfaces). See
34 --bind-address instead. (default "0.0.0.0")
35
36
37 --algorithm-provider string DEPRECATED
38 the scheduling algorithm provider to use, one of: Cluster‐
39 AutoscalerProvider | DefaultProvider
40
41
42 --alsologtostderr log to standard error as well as files
43 --authentication-kubeconfig string kubeconfig file pointing at the 'core' kubernetes server with enough rights to create tokenaccessreviews.authentication.k8s.io. This is optional. If empty, all token requests are considered to be anonymous and no client CA is looked up in the cluster.
44 --authentication-skip-lookup If false, the authentication-kubeconfig will be used to lookup missing authentication configuration from the cluster.
45 --authentication-token-webhook-cache-ttl duration The duration to cache responses from the webhook token authenticator. (default 10s)
46 --authentication-tolerate-lookup-failure If true, failures to look up missing authentication configuration from the cluster are not considered fatal. Note that this can result in authentication that treats all requests as anonymous. (default true)
47 --authorization-always-allow-paths strings A list of HTTP paths to skip during authorization, i.e. these are authorized without contacting the 'core' kubernetes server. (default [/healthz])
48 --authorization-kubeconfig string kubeconfig file pointing at the 'core' kubernetes server with enough rights to create subjectaccessreviews.authorization.k8s.io. This is optional. If empty, all requests not skipped by authorization are forbidden.
49 --authorization-webhook-cache-authorized-ttl duration The duration to cache 'authorized' responses from the webhook authorizer. (default 10s)
50 --authorization-webhook-cache-unauthorized-ttl duration The duration to cache 'unauthorized' responses from the webhook authorizer. (default 10s)
51 --azure-container-registry-config string Path to the file containing Azure container registry configuration information.
52
53
54
55 **--bind-address ip The IP
56 address on which to listen for the --secure-port port. The associated
57 interface(s) must be reachable by the rest of the cluster, and by
58 CLI/web clients. If blank, all interfaces will be used (0.0.0.0 for all
59 IPv4 interfaces and ** : for all IPv6 interfaces). (default
60 0.0.0.0)
61
62
63 --cert-dir string The directory where the TLS certs are located. If --tls-cert-file and --tls-private-key-file are provided, this flag will be ignored.
64 --client-ca-file string If set, any request presenting a client certificate signed by one of the authorities in the client-ca-file is authenticated with an identity corresponding to the CommonName of the client certificate.
65 --config string The path to the configuration file. Flags override values in this file.
66
67
68
69 --contention-profiling DEPRECATED
70 enable lock contention profiling, if profiling is enabled
71
72
73 --feature-gates mapStringBool A set of
74 key=value pairs that describe feature gates for alpha/experimental fea‐
75 tures. Options are
76
77
78 APIListChunking=true|false (BETA - default=true)
79 APIResponseCompression=true|false (ALPHA - default=false)
80 AllAlpha=true|false (ALPHA - default=false)
81 AppArmor=true|false (BETA - default=true)
82 AttachVolumeLimit=true|false (BETA - default=true)
83 BalanceAttachedNodeVolumes=true|false (ALPHA - default=false)
84 BlockVolume=true|false (BETA - default=true)
85 BoundServiceAccountTokenVolume=true|false (ALPHA - default=false)
86 CPUManager=true|false (BETA - default=true)
87 CRIContainerLogRotation=true|false (BETA - default=true)
88 CSIBlockVolume=true|false (BETA - default=true)
89 CSIDriverRegistry=true|false (BETA - default=true)
90 CSIInlineVolume=true|false (ALPHA - default=false)
91 CSIMigration=true|false (ALPHA - default=false)
92 CSIMigrationAWS=true|false (ALPHA - default=false)
93 CSIMigrationAzureDisk=true|false (ALPHA - default=false)
94 CSIMigrationAzureFile=true|false (ALPHA - default=false)
95 CSIMigrationGCE=true|false (ALPHA - default=false)
96 CSIMigrationOpenStack=true|false (ALPHA - default=false)
97 CSINodeInfo=true|false (BETA - default=true)
98 CustomCPUCFSQuotaPeriod=true|false (ALPHA - default=false)
99 CustomResourceDefaulting=true|false (ALPHA - default=false)
100 CustomResourcePublishOpenAPI=true|false (BETA - default=true)
101 CustomResourceSubresources=true|false (BETA - default=true)
102 CustomResourceValidation=true|false (BETA - default=true)
103 CustomResourceWebhookConversion=true|false (BETA - default=true)
104 DebugContainers=true|false (ALPHA - default=false)
105 DevicePlugins=true|false (BETA - default=true)
106 DryRun=true|false (BETA - default=true)
107 DynamicAuditing=true|false (ALPHA - default=false)
108 DynamicKubeletConfig=true|false (BETA - default=true)
109 ExpandCSIVolumes=true|false (ALPHA - default=false)
110 ExpandInUsePersistentVolumes=true|false (BETA - default=true)
111 ExpandPersistentVolumes=true|false (BETA - default=true)
112 ExperimentalCriticalPodAnnotation=true|false (ALPHA - default=false)
113 ExperimentalHostUserNamespaceDefaulting=true|false (BETA - default=false)
114 HyperVContainer=true|false (ALPHA - default=false)
115 KubeletPodResources=true|false (BETA - default=true)
116 LocalStorageCapacityIsolation=true|false (BETA - default=true)
117 LocalStorageCapacityIsolationFSQuotaMonitoring=true|false (ALPHA - default=false)
118 MountContainers=true|false (ALPHA - default=false)
119 NodeLease=true|false (BETA - default=true)
120 NonPreemptingPriority=true|false (ALPHA - default=false)
121 PodShareProcessNamespace=true|false (BETA - default=true)
122 ProcMountType=true|false (ALPHA - default=false)
123 QOSReserved=true|false (ALPHA - default=false)
124 RemainingItemCount=true|false (ALPHA - default=false)
125 RequestManagement=true|false (ALPHA - default=false)
126 ResourceLimitsPriorityFunction=true|false (ALPHA - default=false)
127 ResourceQuotaScopeSelectors=true|false (BETA - default=true)
128 RotateKubeletClientCertificate=true|false (BETA - default=true)
129 RotateKubeletServerCertificate=true|false (BETA - default=true)
130 RunAsGroup=true|false (BETA - default=true)
131 RuntimeClass=true|false (BETA - default=true)
132 SCTPSupport=true|false (ALPHA - default=false)
133 ScheduleDaemonSetPods=true|false (BETA - default=true)
134 ServerSideApply=true|false (ALPHA - default=false)
135 ServiceLoadBalancerFinalizer=true|false (ALPHA - default=false)
136 ServiceNodeExclusion=true|false (ALPHA - default=false)
137 StorageVersionHash=true|false (BETA - default=true)
138 StreamingProxyRedirects=true|false (BETA - default=true)
139 SupportNodePidsLimit=true|false (BETA - default=true)
140 SupportPodPidsLimit=true|false (BETA - default=true)
141 Sysctls=true|false (BETA - default=true)
142 TTLAfterFinished=true|false (ALPHA - default=false)
143 TaintBasedEvictions=true|false (BETA - default=true)
144 TaintNodesByCondition=true|false (BETA - default=true)
145 TokenRequest=true|false (BETA - default=true)
146 TokenRequestProjection=true|false (BETA - default=true)
147 ValidateProxyRedirects=true|false (BETA - default=true)
148 VolumePVCDataSource=true|false (ALPHA - default=false)
149 VolumeSnapshotDataSource=true|false (ALPHA - default=false)
150 VolumeSubpathEnvExpansion=true|false (BETA - default=true)
151 WatchBookmark=true|false (ALPHA - default=false)
152 WinDSR=true|false (ALPHA - default=false)
153 WinOverlay=true|false (ALPHA - default=false)
154 WindowsGMSA=true|false (ALPHA - default=false)
155
156
157
158 -h, --help help for
159 kube-scheduler
160 --http2-max-streams-per-connection int The
161 limit that the server gives to clients for the maximum number of
162 streams in an HTTP/2 connection. Zero means to use golang's default.
163 --kube-api-burst int32 DEPRECATED
164 burst to use while talking with kubernetes apiserver (default
165 100)
166
167
168 --kube-api-content-type string DEPRECATED
169 content type of requests sent to apiserver. (default "applica‐
170 tion/vnd.kubernetes.protobuf")
171
172
173 --kube-api-qps float32 DEPRECATED
174 QPS to use while talking with kubernetes apiserver (default 50)
175
176
177 --kubeconfig string DEPRECATED
178 path to kubeconfig file with authorization and master location
179 information.
180
181
182 --leader-elect Start a leader election client and gain leadership before executing the main loop. Enable this when running replicated components for high availability. (default true)
183 --leader-elect-lease-duration duration The duration that non-leader candidates will wait after observing a leadership renewal until attempting to acquire leadership of a led but unrenewed leader slot. This is effectively the maximum duration that a leader can be stopped before it is replaced by another candidate. This is only applicable if leader election is enabled. (default 15s)
184 --leader-elect-renew-deadline duration The interval between attempts by the acting master to renew a leadership slot before it stops leading. This must be less than or equal to the lease duration. This is only applicable if leader election is enabled. (default 10s)
185 --leader-elect-resource-lock endpoints The type of resource object that is used for locking during leader election. Supported options are endpoints (default) and `configmaps`. (default "endpoints")
186 --leader-elect-retry-period duration The duration the clients should wait between attempting acquisition and renewal of a leadership. This is only applicable if leader election is enabled. (default 2s)
187
188
189
190 --lock-object-name string DEPRECATED
191 define the name of the lock object. (default "kube-scheduler")
192
193
194 --lock-object-namespace string DEPRECATED
195 define the namespace of the lock object. (default "kube-system")
196
197
198 --log-backtrace-at traceLocation when logging
199 hits line file N, emit a stack trace (default :0)
200
201
202 --log-dir string If non-empty, write log files in this directory
203 --log-file string If non-empty, use this log file
204 --log-file-max-size uint Defines the maximum size a log file can grow to. Unit is megabytes. If the value is 0, the maximum file size is unlimited. (default 1800)
205 --log-flush-frequency duration Maximum number of seconds between log flushes (default 5s)
206 --logtostderr log to standard error instead of files (default true)
207 --master string The address of the Kubernetes API server (overrides any value in kubeconfig)
208
209
210
211 --policy-config-file string DEPRECATED
212 file with scheduler policy configuration. This file is used if
213 policy ConfigMap is not provided or --use-legacy-policy-config=true
214
215
216 --policy-configmap string DEPRECATED
217 name of the ConfigMap object that contains scheduler's policy
218 configuration. It must exist in the system namespace before scheduler
219 initialization if --use-legacy-policy-config=false. The config must be
220 provided as the value of an element in 'Data' map with the key='pol‐
221 icy.cfg'
222
223
224 --policy-configmap-namespace string DEPRECATED
225 the namespace where policy ConfigMap is located. The kube-system
226 namespace will be used if this is not provided or is empty. (default
227 "kube-system")
228
229
230 --port int DEPRECATED
231 the port on which to serve HTTP insecurely without authentication
232 and authorization. If 0, don't serve HTTPS at all. See --secure-port
233 instead. (default 10251)
234
235
236 --profiling DEPRECATED
237 enable profiling via web interface host:port/debug/pprof/
238
239
240 --requestheader-allowed-names strings List of client certificate common names to allow to provide usernames in headers specified by --requestheader-username-headers. If empty, any client certificate validated by the authorities in --requestheader-client-ca-file is allowed.
241
242
243
244 --requestheader-client-ca-file string Root certifi‐
245 cate bundle to use to verify client certificates on incoming requests
246 before trusting usernames in headers specified by --requestheader-user‐
247 name-headers. WARNING generally do not depend on authorization
248 being already done for incoming requests.
249
250
251 --requestheader-extra-headers-prefix strings List of request header prefixes to inspect. X-Remote-Extra- is suggested. (default [x-remote-extra-])
252 --requestheader-group-headers strings List of request headers to inspect for groups. X-Remote-Group is suggested. (default [x-remote-group])
253 --requestheader-username-headers strings List of request headers to inspect for usernames. X-Remote-User is common. (default [x-remote-user])
254
255
256
257 --scheduler-name string DEPRECATED
258 name of the scheduler, used to select which pods will be pro‐
259 cessed by this scheduler, based on pod's "spec.schedulerName". (default
260 "default-scheduler")
261
262
263 --secure-port int The port on which to serve HTTPS with authentication and authorization.If 0, don't serve HTTPS at all. (default 10259)
264 --skip-headers If true, avoid header prefixes in the log messages
265 --skip-log-headers If true, avoid headers when opening log files
266 --stderrthreshold severity logs at or above this threshold go to stderr (default 2)
267 --tls-cert-file string File containing the default x509 Certificate for HTTPS. (CA cert, if any, concatenated after server cert). If HTTPS serving is enabled, and --tls-cert-file and --tls-private-key-file are not provided, a self-signed certificate and key are generated for the public address and saved to the directory specified by --cert-dir.
268
269
270
271 --tls-cipher-suites strings Comma-sepa‐
272 rated list of cipher suites for the server. If omitted, the default Go
273 cipher suites will be use. Possible values
274 TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_ECDSA_WITH_RC4_128_SHA,TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_RSA_WITH_RC4_128_SHA,TLS_RSA_WITH_3DES_EDE_CBC_SHA,TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_GCM_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_RC4_128_SHA
275
276
277 --tls-min-version string Minimum TLS
278 version supported. Possible values VersionTLS10, VersionTLS11,
279 VersionTLS12, VersionTLS13
280
281
282 --tls-private-key-file string File containing the default x509 private key matching --tls-cert-file.
283
284
285
286 --tls-sni-cert-key namedCertKey A pair of
287 x509 certificate and private key file paths, optionally suffixed with a
288 list of domain patterns which are fully qualified domain names, possi‐
289 bly with prefixed wildcard segments. If no domain patterns are pro‐
290 vided, the names of the certificate are extracted. Non-wildcard matches
291 trump over wildcard matches, explicit domain patterns trump over
292 extracted names. For multiple key/certificate pairs, use the
293 --tls-sni-cert-key multiple times. Examples "example.crt,exam‐
294 ple.key" or "foo.crt,foo.key:*.foo.com,foo.com". (default [])
295
296
297 --use-legacy-policy-config DEPRECATED
298 when set to true, scheduler will ignore policy ConfigMap and uses
299 policy config file
300
301
302 -v, --v Level number
303 for the log level verbosity
304 --version version[=true] Print
305 version information and quit
306 --vmodule moduleSpec
307 comma-separated list of pattern=N settings for file-filtered logging
308 --write-config-to string If set,
309 write the configuration values to this file and exit.
310
311
312
314 /usr/bin/kube-scheduler --logtostderr=true --v=0 --mas‐
315 ter=127.0.0.1:8080
316
317
318
319Manuals User KUBERNETES(1)(kubernetes)