1KUBERNETES(1)(kubernetes) KUBERNETES(1)(kubernetes)
2
3
4
5Eric Paris Jan 2015
6
7
9 kube-controller-manager -
10
11
12
14 kube-controller-manager [OPTIONS]
15
16
17
19 The Kubernetes controller manager is a daemon that embeds the core con‐
20 trol loops shipped with Kubernetes. In applications of robotics and au‐
21 tomation, a control loop is a non-terminating loop that regulates the
22 state of the system. In Kubernetes, a controller is a control loop that
23 watches the shared state of the cluster through the apiserver and makes
24 changes attempting to move the current state towards the desired state.
25 Examples of controllers that ship with Kubernetes today are the repli‐
26 cation controller, endpoints controller, namespace controller, and ser‐
27 viceaccounts controller.
28
29
30
32 --allocate-node-cidrs=false Should CIDRs for Pods be allocated and
33 set on the cloud provider.
34
35
36 --allow-metric-labels=[] The map from metric-label to value allow-
37 list of this label. The key's format is ,. The value's format is
38 ,...e.g. metric1,label1='v1,v2,v3', metric1,label2='v1,v2,v3' met‐
39 ric2,label1='v1,v2,v3'.
40
41
42 --allow-untagged-cloud=false Allow the cluster to run without the
43 cluster-id on cloud instances. This is a legacy mode of operation and a
44 cluster-id will be required in the future.
45
46
47 --attach-detach-reconcile-sync-period=1m0s The reconciler sync
48 wait time between volume attach detach. This duration must be larger
49 than one second, and increasing this value from the default may allow
50 for volumes to be mismatched with pods.
51
52
53 --authentication-kubeconfig="" kubeconfig file pointing at the
54 'core' kubernetes server with enough rights to create tokenreviews.au‐
55 thentication.k8s.io. This is optional. If empty, all token requests are
56 considered to be anonymous and no client CA is looked up in the clus‐
57 ter.
58
59
60 --authentication-skip-lookup=false If false, the authentication-
61 kubeconfig will be used to lookup missing authentication configuration
62 from the cluster.
63
64
65 --authentication-token-webhook-cache-ttl=10s The duration to cache
66 responses from the webhook token authenticator.
67
68
69 --authentication-tolerate-lookup-failure=false If true, failures
70 to look up missing authentication configuration from the cluster are
71 not considered fatal. Note that this can result in authentication that
72 treats all requests as anonymous.
73
74
75 --authorization-always-allow-paths=[/healthz,/readyz,/livez] A
76 list of HTTP paths to skip during authorization, i.e. these are autho‐
77 rized without contacting the 'core' kubernetes server.
78
79
80 --authorization-kubeconfig="" kubeconfig file pointing at the
81 'core' kubernetes server with enough rights to create subjectaccessre‐
82 views.authorization.k8s.io. This is optional. If empty, all requests
83 not skipped by authorization are forbidden.
84
85
86 --authorization-webhook-cache-authorized-ttl=10s The duration to
87 cache 'authorized' responses from the webhook authorizer.
88
89
90 --authorization-webhook-cache-unauthorized-ttl=10s The duration to
91 cache 'unauthorized' responses from the webhook authorizer.
92
93
94 --azure-container-registry-config="" Path to the file containing
95 Azure container registry configuration information.
96
97
98 --bind-address=0.0.0.0 The IP address on which to listen for the
99 --secure-port port. The associated interface(s) must be reachable by
100 the rest of the cluster, and by CLI/web clients. If blank or an unspec‐
101 ified address (0.0.0.0 or ::), all interfaces will be used.
102
103
104 --cert-dir="" The directory where the TLS certs are located. If
105 --tls-cert-file and --tls-private-key-file are provided, this flag will
106 be ignored.
107
108
109 --cidr-allocator-type="RangeAllocator" Type of CIDR allocator to
110 use
111
112
113 --client-ca-file="" If set, any request presenting a client cer‐
114 tificate signed by one of the authorities in the client-ca-file is au‐
115 thenticated with an identity corresponding to the CommonName of the
116 client certificate.
117
118
119 --cloud-config="" The path to the cloud provider configuration
120 file. Empty string for no configuration file.
121
122
123 --cloud-provider="" The provider for cloud services. Empty string
124 for no provider.
125
126
127 --cloud-provider-gce-lb-src-
128 cidrs=130.211.0.0/22,209.85.152.0/22,209.85.204.0/22,35.191.0.0/16
129 CIDRs opened in GCE firewall for L4 LB traffic proxy & health
130 checks
131
132
133 --cluster-cidr="" CIDR Range for Pods in cluster. Requires --allo‐
134 cate-node-cidrs to be true
135
136
137 --cluster-name="kubernetes" The instance prefix for the cluster.
138
139
140 --cluster-signing-cert-file="" Filename containing a PEM-encoded
141 X509 CA certificate used to issue cluster-scoped certificates. If
142 specified, no more specific --cluster-signing-* flag may be specified.
143
144
145 --cluster-signing-duration=8760h0m0s The max length of duration
146 signed certificates will be given. Individual CSRs may request shorter
147 certs by setting spec.expirationSeconds.
148
149
150 --cluster-signing-key-file="" Filename containing a PEM-encoded
151 RSA or ECDSA private key used to sign cluster-scoped certificates. If
152 specified, no more specific --cluster-signing-* flag may be specified.
153
154
155 --cluster-signing-kube-apiserver-client-cert-file="" Filename con‐
156 taining a PEM-encoded X509 CA certificate used to issue certificates
157 for the kubernetes.io/kube-apiserver-client signer. If specified,
158 --cluster-signing-{cert,key}-file must not be set.
159
160
161 --cluster-signing-kube-apiserver-client-key-file="" Filename con‐
162 taining a PEM-encoded RSA or ECDSA private key used to sign certifi‐
163 cates for the kubernetes.io/kube-apiserver-client signer. If speci‐
164 fied, --cluster-signing-{cert,key}-file must not be set.
165
166
167 --cluster-signing-kubelet-client-cert-file="" Filename containing
168 a PEM-encoded X509 CA certificate used to issue certificates for the
169 kubernetes.io/kube-apiserver-client-kubelet signer. If specified,
170 --cluster-signing-{cert,key}-file must not be set.
171
172
173 --cluster-signing-kubelet-client-key-file="" Filename containing a
174 PEM-encoded RSA or ECDSA private key used to sign certificates for the
175 kubernetes.io/kube-apiserver-client-kubelet signer. If specified,
176 --cluster-signing-{cert,key}-file must not be set.
177
178
179 --cluster-signing-kubelet-serving-cert-file="" Filename containing
180 a PEM-encoded X509 CA certificate used to issue certificates for the
181 kubernetes.io/kubelet-serving signer. If specified, --cluster-sign‐
182 ing-{cert,key}-file must not be set.
183
184
185 --cluster-signing-kubelet-serving-key-file="" Filename containing
186 a PEM-encoded RSA or ECDSA private key used to sign certificates for
187 the kubernetes.io/kubelet-serving signer. If specified, --cluster-
188 signing-{cert,key}-file must not be set.
189
190
191 --cluster-signing-legacy-unknown-cert-file="" Filename containing
192 a PEM-encoded X509 CA certificate used to issue certificates for the
193 kubernetes.io/legacy-unknown signer. If specified, --cluster-sign‐
194 ing-{cert,key}-file must not be set.
195
196
197 --cluster-signing-legacy-unknown-key-file="" Filename containing a
198 PEM-encoded RSA or ECDSA private key used to sign certificates for the
199 kubernetes.io/legacy-unknown signer. If specified, --cluster-sign‐
200 ing-{cert,key}-file must not be set.
201
202
203 --concurrent-deployment-syncs=5 The number of deployment objects
204 that are allowed to sync concurrently. Larger number = more responsive
205 deployments, but more CPU (and network) load
206
207
208 --concurrent-endpoint-syncs=5 The number of endpoint syncing oper‐
209 ations that will be done concurrently. Larger number = faster endpoint
210 updating, but more CPU (and network) load
211
212
213 --concurrent-ephemeralvolume-syncs=5 The number of ephemeral vol‐
214 ume syncing operations that will be done concurrently. Larger number =
215 faster ephemeral volume updating, but more CPU (and network) load
216
217
218 --concurrent-gc-syncs=20 The number of garbage collector workers
219 that are allowed to sync concurrently.
220
221
222 --concurrent-horizontal-pod-autoscaler-syncs=5 The number of hori‐
223 zontal pod autoscaler objects that are allowed to sync concurrently.
224 Larger number = more responsive horizontal pod autoscaler objects pro‐
225 cessing, but more CPU (and network) load.
226
227
228 --concurrent-namespace-syncs=10 The number of namespace objects
229 that are allowed to sync concurrently. Larger number = more responsive
230 namespace termination, but more CPU (and network) load
231
232
233 --concurrent-replicaset-syncs=5 The number of replica sets that
234 are allowed to sync concurrently. Larger number = more responsive
235 replica management, but more CPU (and network) load
236
237
238 --concurrent-resource-quota-syncs=5 The number of resource quotas
239 that are allowed to sync concurrently. Larger number = more responsive
240 quota management, but more CPU (and network) load
241
242
243 --concurrent-service-endpoint-syncs=5 The number of service end‐
244 point syncing operations that will be done concurrently. Larger number
245 = faster endpoint slice updating, but more CPU (and network) load. De‐
246 faults to 5.
247
248
249 --concurrent-service-syncs=1 The number of services that are al‐
250 lowed to sync concurrently. Larger number = more responsive service
251 management, but more CPU (and network) load
252
253
254 --concurrent-serviceaccount-token-syncs=5 The number of service
255 account token objects that are allowed to sync concurrently. Larger
256 number = more responsive token generation, but more CPU (and network)
257 load
258
259
260 --concurrent-statefulset-syncs=5 The number of statefulset objects
261 that are allowed to sync concurrently. Larger number = more responsive
262 statefulsets, but more CPU (and network) load
263
264
265 --concurrent-ttl-after-finished-syncs=5 The number of TTL-after-
266 finished controller workers that are allowed to sync concurrently.
267
268
269 --concurrent_rc_syncs=5 The number of replication controllers that
270 are allowed to sync concurrently. Larger number = more responsive
271 replica management, but more CPU (and network) load
272
273
274 --configure-cloud-routes=true Should CIDRs allocated by allocate-
275 node-cidrs be configured on the cloud provider.
276
277
278 --contention-profiling=false Enable block profiling, if profiling
279 is enabled
280
281
282 --controller-start-interval=0s Interval between starting con‐
283 troller managers.
284
285
286 --controllers=[] A list of controllers to enable. '' enables all
287 on-by-default controllers, 'foo' enables the controller named 'foo',
288 '-foo' disables the controller named 'foo'. All controllers: attachde‐
289 tach, bootstrapsigner, cloud-node-lifecycle, clusterrole-aggregation,
290 cronjob, csrapproving, csrcleaner, csrsigning, daemonset, deployment,
291 disruption, endpoint, endpointslice, endpointslicemirroring, ephemeral-
292 volume, garbagecollector, horizontalpodautoscaling, job, namespace,
293 nodeipam, nodelifecycle, persistentvolume-binder, persistentvolume-ex‐
294 pander, podgc, pv-protection, pvc-protection, replicaset, replication‐
295 controller, resourcequota, root-ca-cert-publisher, route, service, ser‐
296 viceaccount, serviceaccount-token, statefulset, tokencleaner, ttl, ttl-
297 after-finished Disabled-by-default controllers: bootstrapsigner, token‐
298 cleaner
299
300
301 --disable-attach-detach-reconcile-sync=false Disable volume attach
302 detach reconciler sync. Disabling this may cause volumes to be mis‐
303 matched with pods. Use wisely.
304
305
306 --disabled-metrics=[] This flag provides an escape hatch for mis‐
307 behaving metrics. You must provide the fully qualified metric name in
308 order to disable it. Disclaimer: disabling metrics is higher in prece‐
309 dence than showing hidden metrics.
310
311
312 --enable-dynamic-provisioning=true Enable dynamic provisioning for
313 environments that support it.
314
315
316 --enable-garbage-collector=true Enables the generic garbage col‐
317 lector. MUST be synced with the corresponding flag of the kube-apis‐
318 erver.
319
320
321 --enable-hostpath-provisioner=false Enable HostPath PV provision‐
322 ing when running without a cloud provider. This allows testing and de‐
323 velopment of provisioning features. HostPath provisioning is not sup‐
324 ported in any way, won't work in a multi-node cluster, and should not
325 be used for anything other than testing or development.
326
327
328 --enable-leader-migration=false Whether to enable controller
329 leader migration.
330
331
332 --endpoint-updates-batch-period=0s The length of endpoint updates
333 batching period. Processing of pod changes will be delayed by this du‐
334 ration to join them with potential upcoming updates and reduce the
335 overall number of endpoints updates. Larger number = higher endpoint
336 programming latency, but lower number of endpoints revision generated
337
338
339 --endpointslice-updates-batch-period=0s The length of endpoint
340 slice updates batching period. Processing of pod changes will be de‐
341 layed by this duration to join them with potential upcoming updates and
342 reduce the overall number of endpoints updates. Larger number = higher
343 endpoint programming latency, but lower number of endpoints revision
344 generated
345
346
347 --external-cloud-volume-plugin="" The plugin to use when cloud
348 provider is set to external. Can be empty, should only be set when
349 cloud-provider is external. Currently used to allow node and volume
350 controllers to work for in tree cloud providers.
351
352
353 --feature-gates= A set of key=value pairs that describe feature
354 gates for alpha/experimental features. Options are: APIListChunk‐
355 ing=true|false (BETA - default=true) APIPriorityAndFairness=true|false
356 (BETA - default=true) APIResponseCompression=true|false (BETA - de‐
357 fault=true) APISelfSubjectReview=true|false (BETA - default=true) APIS‐
358 erverIdentity=true|false (BETA - default=true) APIServerTrac‐
359 ing=true|false (BETA - default=true) AdmissionWebhookMatchCondi‐
360 tions=true|false (ALPHA - default=false) AggregatedDiscoveryEnd‐
361 point=true|false (BETA - default=true) AllAlpha=true|false (ALPHA - de‐
362 fault=false) AllBeta=true|false (BETA - default=false) AnyVolumeData‐
363 Source=true|false (BETA - default=true) AppArmor=true|false (BETA - de‐
364 fault=true) CPUManagerPolicyAlphaOptions=true|false (ALPHA - de‐
365 fault=false) CPUManagerPolicyBetaOptions=true|false (BETA - de‐
366 fault=true) CPUManagerPolicyOptions=true|false (BETA - default=true)
367 CSIMigrationPortworx=true|false (BETA - default=false) CSIMigra‐
368 tionRBD=true|false (ALPHA - default=false) CSINodeExpandSe‐
369 cret=true|false (BETA - default=true) CSIVolumeHealth=true|false (ALPHA
370 - default=false) CloudControllerManagerWebhook=true|false (ALPHA - de‐
371 fault=false) CloudDualStackNodeIPs=true|false (ALPHA - default=false)
372 ClusterTrustBundle=true|false (ALPHA - default=false) Compo‐
373 nentSLIs=true|false (BETA - default=true) ContainerCheck‐
374 point=true|false (ALPHA - default=false) ContextualLogging=true|false
375 (ALPHA - default=false) CrossNamespaceVolumeDataSource=true|false (AL‐
376 PHA - default=false) CustomCPUCFSQuotaPeriod=true|false (ALPHA - de‐
377 fault=false) CustomResourceValidationExpressions=true|false (BETA - de‐
378 fault=true) DisableCloudProviders=true|false (ALPHA - default=false)
379 DisableKubeletCloudCredentialProviders=true|false (ALPHA - de‐
380 fault=false) DynamicResourceAllocation=true|false (ALPHA - de‐
381 fault=false) ElasticIndexedJob=true|false (BETA - default=true) Event‐
382 edPLEG=true|false (BETA - default=false) ExpandedDNSConfig=true|false
383 (BETA - default=true) ExperimentalHostUserNamespaceDefault‐
384 ing=true|false (BETA - default=false) GracefulNodeShutdown=true|false
385 (BETA - default=true) GracefulNodeShutdownBasedOnPodPriority=true|false
386 (BETA - default=true) HPAContainerMetrics=true|false (BETA - de‐
387 fault=true) HPAScaleToZero=true|false (ALPHA - default=false) Honor‐
388 PVReclaimPolicy=true|false (ALPHA - default=false) IPTablesOwnership‐
389 Cleanup=true|false (BETA - default=true) InPlacePodVerticalScal‐
390 ing=true|false (ALPHA - default=false) InTreePluginAWSUnregis‐
391 ter=true|false (ALPHA - default=false) InTreePluginAzureDiskUnregis‐
392 ter=true|false (ALPHA - default=false) InTreePluginAzureFileUnregis‐
393 ter=true|false (ALPHA - default=false) InTreePluginGCEUnregis‐
394 ter=true|false (ALPHA - default=false) InTreePluginOpenStackUnregis‐
395 ter=true|false (ALPHA - default=false) InTreePluginPortworxUnregis‐
396 ter=true|false (ALPHA - default=false) InTreePluginRBDUnregis‐
397 ter=true|false (ALPHA - default=false) InTreePluginvSphereUnregis‐
398 ter=true|false (ALPHA - default=false) JobPodFailurePolicy=true|false
399 (BETA - default=true) JobReadyPods=true|false (BETA - default=true)
400 KMSv2=true|false (BETA - default=true) KubeletInUserNames‐
401 pace=true|false (ALPHA - default=false) KubeletPodResources=true|false
402 (BETA - default=true) KubeletPodResourcesDynamicResources=true|false
403 (ALPHA - default=false) KubeletPodResourcesGet=true|false (ALPHA - de‐
404 fault=false) KubeletPodResourcesGetAllocatable=true|false (BETA - de‐
405 fault=true) KubeletTracing=true|false (BETA - default=true) LegacySer‐
406 viceAccountTokenTracking=true|false (BETA - default=true) LocalStorage‐
407 CapacityIsolationFSQuotaMonitoring=true|false (ALPHA - default=false)
408 LogarithmicScaleDown=true|false (BETA - default=true) LoggingAlphaOp‐
409 tions=true|false (ALPHA - default=false) LoggingBetaOptions=true|false
410 (BETA - default=true) MatchLabelKeysInPodTopologySpread=true|false
411 (BETA - default=true) MaxUnavailableStatefulSet=true|false (ALPHA - de‐
412 fault=false) MemoryManager=true|false (BETA - default=true) Memo‐
413 ryQoS=true|false (ALPHA - default=false) MinDomainsInPodTopolo‐
414 gySpread=true|false (BETA - default=true) MinimizeIPTablesRe‐
415 store=true|false (BETA - default=true) MultiCIDRRangeAlloca‐
416 tor=true|false (ALPHA - default=false) MultiCIDRServiceAlloca‐
417 tor=true|false (ALPHA - default=false) NetworkPolicyStatus=true|false
418 (ALPHA - default=false) NewVolumeManagerReconstruction=true|false (BETA
419 - default=false) NodeInclusionPolicyInPodTopologySpread=true|false
420 (BETA - default=true) NodeLogQuery=true|false (ALPHA - default=false)
421 NodeOutOfServiceVolumeDetach=true|false (BETA - default=true)
422 NodeSwap=true|false (ALPHA - default=false) OpenAPIEnums=true|false
423 (BETA - default=true) PDBUnhealthyPodEvictionPolicy=true|false (BETA -
424 default=true) PodAndContainerStatsFromCRI=true|false (ALPHA - de‐
425 fault=false) PodDeletionCost=true|false (BETA - default=true) PodDis‐
426 ruptionConditions=true|false (BETA - default=true) PodHasNetworkCondi‐
427 tion=true|false (ALPHA - default=false) PodSchedulingReadi‐
428 ness=true|false (BETA - default=true) ProbeTerminationGracePe‐
429 riod=true|false (BETA - default=true) ProcMountType=true|false (ALPHA -
430 default=false) ProxyTerminatingEndpoints=true|false (BETA - de‐
431 fault=true) QOSReserved=true|false (ALPHA - default=false) ReadWriteOn‐
432 cePod=true|false (BETA - default=true) RecoverVolumeExpansionFail‐
433 ure=true|false (ALPHA - default=false) RemainingItemCount=true|false
434 (BETA - default=true) RetroactiveDefaultStorageClass=true|false (BETA -
435 default=true) RotateKubeletServerCertificate=true|false (BETA - de‐
436 fault=true) SELinuxMountReadWriteOncePod=true|false (BETA - de‐
437 fault=false) SecurityContextDeny=true|false (ALPHA - default=false)
438 ServiceNodePortStaticSubrange=true|false (ALPHA - default=false) Size‐
439 MemoryBackedVolumes=true|false (BETA - default=true) StableLoadBal‐
440 ancerNodeSet=true|false (BETA - default=true) StatefulSetAu‐
441 toDeletePVC=true|false (BETA - default=true) StatefulSetStartOrdi‐
442 nal=true|false (BETA - default=true) StorageVersionAPI=true|false (AL‐
443 PHA - default=false) StorageVersionHash=true|false (BETA - de‐
444 fault=true) TopologyAwareHints=true|false (BETA - default=true) Topolo‐
445 gyManagerPolicyAlphaOptions=true|false (ALPHA - default=false) Topolo‐
446 gyManagerPolicyBetaOptions=true|false (BETA - default=false) Topology‐
447 ManagerPolicyOptions=true|false (ALPHA - default=false) Unauthenticat‐
448 edHTTP2DOSMitigation=true|false (BETA - default=false) UserNames‐
449 pacesStatelessPodsSupport=true|false (ALPHA - default=false) Validatin‐
450 gAdmissionPolicy=true|false (ALPHA - default=false) VolumeCapacityPri‐
451 ority=true|false (ALPHA - default=false) WatchList=true|false (ALPHA -
452 default=false) WinDSR=true|false (ALPHA - default=false) WinOver‐
453 lay=true|false (BETA - default=true) WindowsHostNetwork=true|false (AL‐
454 PHA - default=true)
455
456
457 --flex-volume-plugin-dir="/usr/libexec/kubernetes/kubelet-plugins/vol‐
458 ume/exec/" Full path of the directory in which the flex volume
459 plugin should search for additional third party volume plugins.
460
461
462 -h, --help=false help for kube-controller-manager
463
464
465 --horizontal-pod-autoscaler-cpu-initialization-period=5m0s The pe‐
466 riod after pod start when CPU samples might be skipped.
467
468
469 --horizontal-pod-autoscaler-downscale-delay=5m0s The period since
470 last downscale, before another downscale can be performed in horizontal
471 pod autoscaler.
472
473
474 --horizontal-pod-autoscaler-downscale-stabilization=5m0s The pe‐
475 riod for which autoscaler will look backwards and not scale down below
476 any recommendation it made during that period.
477
478
479 --horizontal-pod-autoscaler-initial-readiness-delay=30s The period
480 after pod start during which readiness changes will be treated as ini‐
481 tial readiness.
482
483
484 --horizontal-pod-autoscaler-sync-period=15s The period for syncing
485 the number of pods in horizontal pod autoscaler.
486
487
488 --horizontal-pod-autoscaler-tolerance=0.1 The minimum change (from
489 1.0) in the desired-to-actual metrics ratio for the horizontal pod au‐
490 toscaler to consider scaling.
491
492
493 --horizontal-pod-autoscaler-upscale-delay=3m0s The period since
494 last upscale, before another upscale can be performed in horizontal pod
495 autoscaler.
496
497
498 --http2-max-streams-per-connection=0 The limit that the server
499 gives to clients for the maximum number of streams in an HTTP/2 connec‐
500 tion. Zero means to use golang's default.
501
502
503 --kube-api-burst=30 Burst to use while talking with kubernetes
504 apiserver.
505
506
507 --kube-api-content-type="application/vnd.kubernetes.protobuf" Con‐
508 tent type of requests sent to apiserver.
509
510
511 --kube-api-qps=20 QPS to use while talking with kubernetes apis‐
512 erver.
513
514
515 --kubeconfig="" Path to kubeconfig file with authorization and
516 master location information (the master location can be overridden by
517 the master flag).
518
519
520 --large-cluster-size-threshold=50 Number of nodes from which Node‐
521 Controller treats the cluster as large for the eviction logic purposes.
522 --secondary-node-eviction-rate is implicitly overridden to 0 for clus‐
523 ters this size or smaller.
524
525
526 --leader-elect=true Start a leader election client and gain lead‐
527 ership before executing the main loop. Enable this when running repli‐
528 cated components for high availability.
529
530
531 --leader-elect-lease-duration=15s The duration that non-leader
532 candidates will wait after observing a leadership renewal until at‐
533 tempting to acquire leadership of a led but unrenewed leader slot. This
534 is effectively the maximum duration that a leader can be stopped before
535 it is replaced by another candidate. This is only applicable if leader
536 election is enabled.
537
538
539 --leader-elect-renew-deadline=10s The interval between attempts by
540 the acting master to renew a leadership slot before it stops leading.
541 This must be less than the lease duration. This is only applicable if
542 leader election is enabled.
543
544
545 --leader-elect-resource-lock="leases" The type of resource object
546 that is used for locking during leader election. Supported options are
547 'leases', 'endpointsleases' and 'configmapsleases'.
548
549
550 --leader-elect-resource-name="kube-controller-manager" The name of
551 resource object that is used for locking during leader election.
552
553
554 --leader-elect-resource-namespace="kube-system" The namespace of
555 resource object that is used for locking during leader election.
556
557
558 --leader-elect-retry-period=2s The duration the clients should
559 wait between attempting acquisition and renewal of a leadership. This
560 is only applicable if leader election is enabled.
561
562
563 --leader-migration-config="" Path to the config file for con‐
564 troller leader migration, or empty to use the value that reflects de‐
565 fault configuration of the controller manager. The config file should
566 be of type LeaderMigrationConfiguration, group controllermanager.con‐
567 fig.k8s.io, version v1alpha1.
568
569
570 --log-flush-frequency=5s Maximum number of seconds between log
571 flushes
572
573
574 --logging-format="text" Sets the log format. Permitted formats:
575 "text".
576
577
578 --master="" The address of the Kubernetes API server (overrides
579 any value in kubeconfig).
580
581
582 --max-endpoints-per-slice=100 The maximum number of endpoints that
583 will be added to an EndpointSlice. More endpoints per slice will result
584 in less endpoint slices, but larger resources. Defaults to 100.
585
586
587 --min-resync-period=12h0m0s The resync period in reflectors will
588 be random between MinResyncPeriod and 2*MinResyncPeriod.
589
590
591 --mirroring-concurrent-service-endpoint-syncs=5 The number of ser‐
592 vice endpoint syncing operations that will be done concurrently by the
593 EndpointSliceMirroring controller. Larger number = faster endpoint
594 slice updating, but more CPU (and network) load. Defaults to 5.
595
596
597 --mirroring-endpointslice-updates-batch-period=0s The length of
598 EndpointSlice updates batching period for EndpointSliceMirroring con‐
599 troller. Processing of EndpointSlice changes will be delayed by this
600 duration to join them with potential upcoming updates and reduce the
601 overall number of EndpointSlice updates. Larger number = higher end‐
602 point programming latency, but lower number of endpoints revision gen‐
603 erated
604
605
606 --mirroring-max-endpoints-per-subset=1000 The maximum number of
607 endpoints that will be added to an EndpointSlice by the End‐
608 pointSliceMirroring controller. More endpoints per slice will result in
609 less endpoint slices, but larger resources. Defaults to 100.
610
611
612 --namespace-sync-period=5m0s The period for syncing namespace
613 life-cycle updates
614
615
616 --node-cidr-mask-size=0 Mask size for node cidr in cluster. De‐
617 fault is 24 for IPv4 and 64 for IPv6.
618
619
620 --node-cidr-mask-size-ipv4=0 Mask size for IPv4 node cidr in dual-
621 stack cluster. Default is 24.
622
623
624 --node-cidr-mask-size-ipv6=0 Mask size for IPv6 node cidr in dual-
625 stack cluster. Default is 64.
626
627
628 --node-eviction-rate=0.1 Number of nodes per second on which pods
629 are deleted in case of node failure when a zone is healthy (see --un‐
630 healthy-zone-threshold for definition of healthy/unhealthy). Zone
631 refers to entire cluster in non-multizone clusters.
632
633
634 --node-monitor-grace-period=40s Amount of time which we allow run‐
635 ning Node to be unresponsive before marking it unhealthy. Must be N
636 times more than kubelet's nodeStatusUpdateFrequency, where N means num‐
637 ber of retries allowed for kubelet to post node status.
638
639
640 --node-monitor-period=5s The period for syncing NodeStatus in
641 NodeController.
642
643
644 --node-startup-grace-period=1m0s Amount of time which we allow
645 starting Node to be unresponsive before marking it unhealthy.
646
647
648 --node-sync-period=0s This flag is deprecated and will be removed
649 in future releases. See node-monitor-period for Node health checking or
650 route-reconciliation-period for cloud provider's route configuration
651 settings.
652
653
654 --permit-address-sharing=false If true, SO_REUSEADDR will be used
655 when binding the port. This allows binding to wildcard IPs like 0.0.0.0
656 and specific IPs in parallel, and it avoids waiting for the kernel to
657 release sockets in TIME_WAIT state. [default=false]
658
659
660 --permit-port-sharing=false If true, SO_REUSEPORT will be used
661 when binding the port, which allows more than one instance to bind on
662 the same address and port. [default=false]
663
664
665 --profiling=true Enable profiling via web interface host:port/de‐
666 bug/pprof/
667
668
669 --pv-recycler-increment-timeout-nfs=30 the increment of time added
670 per Gi to ActiveDeadlineSeconds for an NFS scrubber pod
671
672
673 --pv-recycler-minimum-timeout-hostpath=60 The minimum ActiveDead‐
674 lineSeconds to use for a HostPath Recycler pod. This is for develop‐
675 ment and testing only and will not work in a multi-node cluster.
676
677
678 --pv-recycler-minimum-timeout-nfs=300 The minimum ActiveDeadli‐
679 neSeconds to use for an NFS Recycler pod
680
681
682 --pv-recycler-pod-template-filepath-hostpath="" The file path to a
683 pod definition used as a template for HostPath persistent volume recy‐
684 cling. This is for development and testing only and will not work in a
685 multi-node cluster.
686
687
688 --pv-recycler-pod-template-filepath-nfs="" The file path to a pod
689 definition used as a template for NFS persistent volume recycling
690
691
692 --pv-recycler-timeout-increment-hostpath=30 the increment of time
693 added per Gi to ActiveDeadlineSeconds for a HostPath scrubber pod.
694 This is for development and testing only and will not work in a multi-
695 node cluster.
696
697
698 --pvclaimbinder-sync-period=15s The period for syncing persistent
699 volumes and persistent volume claims
700
701
702 --requestheader-allowed-names=[] List of client certificate common
703 names to allow to provide usernames in headers specified by --request‐
704 header-username-headers. If empty, any client certificate validated by
705 the authorities in --requestheader-client-ca-file is allowed.
706
707
708 --requestheader-client-ca-file="" Root certificate bundle to use
709 to verify client certificates on incoming requests before trusting
710 usernames in headers specified by --requestheader-username-headers.
711 WARNING: generally do not depend on authorization being already done
712 for incoming requests.
713
714
715 --requestheader-extra-headers-prefix=[x-remote-extra-] List of re‐
716 quest header prefixes to inspect. X-Remote-Extra- is suggested.
717
718
719 --requestheader-group-headers=[x-remote-group] List of request
720 headers to inspect for groups. X-Remote-Group is suggested.
721
722
723 --requestheader-username-headers=[x-remote-user] List of request
724 headers to inspect for usernames. X-Remote-User is common.
725
726
727 --resource-quota-sync-period=5m0s The period for syncing quota us‐
728 age status in the system
729
730
731 --root-ca-file="" If set, this root certificate authority will be
732 included in service account's token secret. This must be a valid PEM-
733 encoded CA bundle.
734
735
736 --route-reconciliation-period=10s The period for reconciling
737 routes created for Nodes by cloud provider.
738
739
740 --secondary-node-eviction-rate=0.01 Number of nodes per second on
741 which pods are deleted in case of node failure when a zone is unhealthy
742 (see --unhealthy-zone-threshold for definition of healthy/unhealthy).
743 Zone refers to entire cluster in non-multizone clusters. This value is
744 implicitly overridden to 0 if the cluster size is smaller than --large-
745 cluster-size-threshold.
746
747
748 --secure-port=10257 The port on which to serve HTTPS with authen‐
749 tication and authorization. If 0, don't serve HTTPS at all.
750
751
752 --service-account-private-key-file="" Filename containing a PEM-
753 encoded private RSA or ECDSA key used to sign service account tokens.
754
755
756 --service-cluster-ip-range="" CIDR Range for Services in cluster.
757 Requires --allocate-node-cidrs to be true
758
759
760 --show-hidden-metrics-for-version="" The previous version for
761 which you want to show hidden metrics. Only the previous minor version
762 is meaningful, other values will not be allowed. The format is ., e.g.:
763 '1.16'. The purpose of this format is make sure you have the opportu‐
764 nity to notice if the next release hides additional metrics, rather
765 than being surprised when they are permanently removed in the release
766 after that.
767
768
769 --terminated-pod-gc-threshold=12500 Number of terminated pods that
770 can exist before the terminated pod garbage collector starts deleting
771 terminated pods. If <= 0, the terminated pod garbage collector is dis‐
772 abled.
773
774
775 --tls-cert-file="" File containing the default x509 Certificate
776 for HTTPS. (CA cert, if any, concatenated after server cert). If HTTPS
777 serving is enabled, and --tls-cert-file and --tls-private-key-file are
778 not provided, a self-signed certificate and key are generated for the
779 public address and saved to the directory specified by --cert-dir.
780
781
782 --tls-cipher-suites=[] Comma-separated list of cipher suites for
783 the server. If omitted, the default Go cipher suites will be used.
784 Preferred values: TLS_AES_128_GCM_SHA256, TLS_AES_256_GCM_SHA384,
785 TLS_CHACHA20_POLY1305_SHA256, TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA,
786 TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,
787 TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA,
788 TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,
789 TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,
790 TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256,
791 TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,
792 TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,
793 TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,
794 TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,
795 TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,
796 TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256,
797 TLS_RSA_WITH_AES_128_CBC_SHA, TLS_RSA_WITH_AES_128_GCM_SHA256,
798 TLS_RSA_WITH_AES_256_CBC_SHA, TLS_RSA_WITH_AES_256_GCM_SHA384. Inse‐
799 cure values: TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,
800 TLS_ECDHE_ECDSA_WITH_RC4_128_SHA, TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA,
801 TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256, TLS_ECDHE_RSA_WITH_RC4_128_SHA,
802 TLS_RSA_WITH_3DES_EDE_CBC_SHA, TLS_RSA_WITH_AES_128_CBC_SHA256,
803 TLS_RSA_WITH_RC4_128_SHA.
804
805
806 --tls-min-version="" Minimum TLS version supported. Possible val‐
807 ues: VersionTLS10, VersionTLS11, VersionTLS12, VersionTLS13
808
809
810 --tls-private-key-file="" File containing the default x509 private
811 key matching --tls-cert-file.
812
813
814 --tls-sni-cert-key=[] A pair of x509 certificate and private key
815 file paths, optionally suffixed with a list of domain patterns which
816 are fully qualified domain names, possibly with prefixed wildcard seg‐
817 ments. The domain patterns also allow IP addresses, but IPs should only
818 be used if the apiserver has visibility to the IP address requested by
819 a client. If no domain patterns are provided, the names of the certifi‐
820 cate are extracted. Non-wildcard matches trump over wildcard matches,
821 explicit domain patterns trump over extracted names. For multiple
822 key/certificate pairs, use the --tls-sni-cert-key multiple times. Exam‐
823 ples: "example.crt,example.key" or "foo.crt,foo.key:*.foo.com,foo.com".
824
825
826 --unhealthy-zone-threshold=0.55 Fraction of Nodes in a zone which
827 needs to be not Ready (minimum 3) for zone to be treated as unhealthy.
828
829
830 --use-service-account-credentials=false If true, use individual
831 service account credentials for each controller.
832
833
834 -v, --v=0 number for the log level verbosity
835
836
837 --version=false Print version information and quit
838
839
840 --vmodule= comma-separated list of pattern=N settings for file-
841 filtered logging (only works for text log format)
842
843
844 --volume-host-allow-local-loopback=true If false, deny local loop‐
845 back IPs in addition to any CIDR ranges in --volume-host-cidr-denylist
846
847
848 --volume-host-cidr-denylist=[] A comma-separated list of CIDR
849 ranges to avoid from volume plugins.
850
851
852
854 January 2015, Originally compiled by Eric Paris (eparis at redhat dot
855 com) based on the kubernetes source material, but hopefully they have
856 been automatically generated since!
857
858
859
860Manuals User KUBERNETES(1)(kubernetes)