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 lock contention profiling, if
279 profiling 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 --enable-taint-manager=true If set to true enables NoExecute
333 Taints and will evict all not-tolerating Pod running on Nodes tainted
334 with this kind of Taints.
335
336
337 --endpoint-updates-batch-period=0s The length of endpoint updates
338 batching period. Processing of pod changes will be delayed by this du‐
339 ration to join them with potential upcoming updates and reduce the
340 overall number of endpoints updates. Larger number = higher endpoint
341 programming latency, but lower number of endpoints revision generated
342
343
344 --endpointslice-updates-batch-period=0s The length of endpoint
345 slice updates batching period. Processing of pod changes will be de‐
346 layed by this duration to join them with potential upcoming updates and
347 reduce the overall number of endpoints updates. Larger number = higher
348 endpoint programming latency, but lower number of endpoints revision
349 generated
350
351
352 --external-cloud-volume-plugin="" The plugin to use when cloud
353 provider is set to external. Can be empty, should only be set when
354 cloud-provider is external. Currently used to allow node and volume
355 controllers to work for in tree cloud providers.
356
357
358 --feature-gates= A set of key=value pairs that describe feature
359 gates for alpha/experimental features. Options are: APIListChunk‐
360 ing=true|false (BETA - default=true) APIPriorityAndFairness=true|false
361 (BETA - default=true) APIResponseCompression=true|false (BETA - de‐
362 fault=true) APISelfSubjectReview=true|false (ALPHA - default=false)
363 APIServerIdentity=true|false (BETA - default=true) APIServerTrac‐
364 ing=true|false (ALPHA - default=false) AggregatedDiscoveryEnd‐
365 point=true|false (ALPHA - default=false) AllAlpha=true|false (ALPHA -
366 default=false) AllBeta=true|false (BETA - default=false) AnyVolumeData‐
367 Source=true|false (BETA - default=true) AppArmor=true|false (BETA - de‐
368 fault=true) CPUManagerPolicyAlphaOptions=true|false (ALPHA - de‐
369 fault=false) CPUManagerPolicyBetaOptions=true|false (BETA - de‐
370 fault=true) CPUManagerPolicyOptions=true|false (BETA - default=true)
371 CSIMigrationPortworx=true|false (BETA - default=false) CSIMigra‐
372 tionRBD=true|false (ALPHA - default=false) CSINodeExpandSe‐
373 cret=true|false (ALPHA - default=false) CSIVolumeHealth=true|false (AL‐
374 PHA - default=false) ComponentSLIs=true|false (ALPHA - default=false)
375 ContainerCheckpoint=true|false (ALPHA - default=false) ContextualLog‐
376 ging=true|false (ALPHA - default=false) CronJobTimeZone=true|false
377 (BETA - default=true) CrossNamespaceVolumeDataSource=true|false (ALPHA
378 - default=false) CustomCPUCFSQuotaPeriod=true|false (ALPHA - de‐
379 fault=false) CustomResourceValidationExpressions=true|false (BETA - de‐
380 fault=true) DisableCloudProviders=true|false (ALPHA - default=false)
381 DisableKubeletCloudCredentialProviders=true|false (ALPHA - de‐
382 fault=false) DownwardAPIHugePages=true|false (BETA - default=true) Dy‐
383 namicResourceAllocation=true|false (ALPHA - default=false) EventedP‐
384 LEG=true|false (ALPHA - default=false) ExpandedDNSConfig=true|false
385 (BETA - default=true) ExperimentalHostUserNamespaceDefault‐
386 ing=true|false (BETA - default=false) GRPCContainerProbe=true|false
387 (BETA - default=true) GracefulNodeShutdown=true|false (BETA - de‐
388 fault=true) GracefulNodeShutdownBasedOnPodPriority=true|false (BETA -
389 default=true) HPAContainerMetrics=true|false (ALPHA - default=false)
390 HPAScaleToZero=true|false (ALPHA - default=false) HonorPVReclaimPol‐
391 icy=true|false (ALPHA - default=false) IPTablesOwnership‐
392 Cleanup=true|false (ALPHA - default=false) InTreePluginAWSUnregis‐
393 ter=true|false (ALPHA - default=false) InTreePluginAzureDiskUnregis‐
394 ter=true|false (ALPHA - default=false) InTreePluginAzureFileUnregis‐
395 ter=true|false (ALPHA - default=false) InTreePluginGCEUnregis‐
396 ter=true|false (ALPHA - default=false) InTreePluginOpenStackUnregis‐
397 ter=true|false (ALPHA - default=false) InTreePluginPortworxUnregis‐
398 ter=true|false (ALPHA - default=false) InTreePluginRBDUnregis‐
399 ter=true|false (ALPHA - default=false) InTreePluginvSphereUnregis‐
400 ter=true|false (ALPHA - default=false) JobMutableNodeSchedulingDirec‐
401 tives=true|false (BETA - default=true) JobPodFailurePolicy=true|false
402 (BETA - default=true) JobReadyPods=true|false (BETA - default=true)
403 KMSv2=true|false (ALPHA - default=false) KubeletInUserNames‐
404 pace=true|false (ALPHA - default=false) KubeletPodResources=true|false
405 (BETA - default=true) KubeletPodResourcesGetAllocatable=true|false
406 (BETA - default=true) KubeletTracing=true|false (ALPHA - default=false)
407 LegacyServiceAccountTokenTracking=true|false (ALPHA - default=false)
408 LocalStorageCapacityIsolationFSQuotaMonitoring=true|false (ALPHA - de‐
409 fault=false) LogarithmicScaleDown=true|false (BETA - default=true) Log‐
410 gingAlphaOptions=true|false (ALPHA - default=false) LoggingBetaOp‐
411 tions=true|false (BETA - default=true) MatchLabelKeysInPodTopolo‐
412 gySpread=true|false (ALPHA - default=false) MaxUnavailableState‐
413 fulSet=true|false (ALPHA - default=false) MemoryManager=true|false
414 (BETA - default=true) MemoryQoS=true|false (ALPHA - default=false) Min‐
415 DomainsInPodTopologySpread=true|false (BETA - default=false) Mini‐
416 mizeIPTablesRestore=true|false (ALPHA - default=false) MultiCIDR‐
417 RangeAllocator=true|false (ALPHA - default=false) NetworkPolicySta‐
418 tus=true|false (ALPHA - default=false) NodeInclusionPolicyInPodTopolo‐
419 gySpread=true|false (BETA - default=true) NodeOutOfServiceVolumeDe‐
420 tach=true|false (BETA - default=true) NodeSwap=true|false (ALPHA - de‐
421 fault=false) OpenAPIEnums=true|false (BETA - default=true) Ope‐
422 nAPIV3=true|false (BETA - default=true) PDBUnhealthyPodEvictionPol‐
423 icy=true|false (ALPHA - default=false) PodAndContainerStatsFrom‐
424 CRI=true|false (ALPHA - default=false) PodDeletionCost=true|false (BETA
425 - default=true) PodDisruptionConditions=true|false (BETA - de‐
426 fault=true) PodHasNetworkCondition=true|false (ALPHA - default=false)
427 PodSchedulingReadiness=true|false (ALPHA - default=false) ProbeTermina‐
428 tionGracePeriod=true|false (BETA - default=true) ProcMount‐
429 Type=true|false (ALPHA - default=false) ProxyTerminatingEnd‐
430 points=true|false (BETA - default=true) QOSReserved=true|false (ALPHA -
431 default=false) ReadWriteOncePod=true|false (ALPHA - default=false) Re‐
432 coverVolumeExpansionFailure=true|false (ALPHA - default=false) Remain‐
433 ingItemCount=true|false (BETA - default=true) RetroactiveDefaultStor‐
434 ageClass=true|false (BETA - default=true) RotateKubeletServerCertifi‐
435 cate=true|false (BETA - default=true) SELinuxMountReadWriteOnce‐
436 Pod=true|false (ALPHA - default=false) SeccompDefault=true|false (BETA
437 - default=true) ServerSideFieldValidation=true|false (BETA - de‐
438 fault=true) SizeMemoryBackedVolumes=true|false (BETA - default=true)
439 StatefulSetAutoDeletePVC=true|false (ALPHA - default=false) State‐
440 fulSetStartOrdinal=true|false (ALPHA - default=false) StorageVersion‐
441 API=true|false (ALPHA - default=false) StorageVersionHash=true|false
442 (BETA - default=true) TopologyAwareHints=true|false (BETA - de‐
443 fault=true) TopologyManager=true|false (BETA - default=true) Topology‐
444 ManagerPolicyAlphaOptions=true|false (ALPHA - default=false) Topology‐
445 ManagerPolicyBetaOptions=true|false (BETA - default=false) TopologyMan‐
446 agerPolicyOptions=true|false (ALPHA - default=false) Unauthenticated‐
447 HTTP2DOSMitigation=true|false (BETA - default=false) UserNames‐
448 pacesStatelessPodsSupport=true|false (ALPHA - default=false) Validatin‐
449 gAdmissionPolicy=true|false (ALPHA - default=false) VolumeCapacityPri‐
450 ority=true|false (ALPHA - default=false) WinDSR=true|false (ALPHA - de‐
451 fault=false) WinOverlay=true|false (BETA - default=true) WindowsHost‐
452 Network=true|false (ALPHA - default=true)
453
454
455 --flex-volume-plugin-dir="/usr/libexec/kubernetes/kubelet-plugins/vol‐
456 ume/exec/" Full path of the directory in which the flex volume
457 plugin should search for additional third party volume plugins.
458
459
460 -h, --help=false help for kube-controller-manager
461
462
463 --horizontal-pod-autoscaler-cpu-initialization-period=5m0s The pe‐
464 riod after pod start when CPU samples might be skipped.
465
466
467 --horizontal-pod-autoscaler-downscale-delay=5m0s The period since
468 last downscale, before another downscale can be performed in horizontal
469 pod autoscaler.
470
471
472 --horizontal-pod-autoscaler-downscale-stabilization=5m0s The pe‐
473 riod for which autoscaler will look backwards and not scale down below
474 any recommendation it made during that period.
475
476
477 --horizontal-pod-autoscaler-initial-readiness-delay=30s The period
478 after pod start during which readiness changes will be treated as ini‐
479 tial readiness.
480
481
482 --horizontal-pod-autoscaler-sync-period=15s The period for syncing
483 the number of pods in horizontal pod autoscaler.
484
485
486 --horizontal-pod-autoscaler-tolerance=0.1 The minimum change (from
487 1.0) in the desired-to-actual metrics ratio for the horizontal pod au‐
488 toscaler to consider scaling.
489
490
491 --horizontal-pod-autoscaler-upscale-delay=3m0s The period since
492 last upscale, before another upscale can be performed in horizontal pod
493 autoscaler.
494
495
496 --http2-max-streams-per-connection=0 The limit that the server
497 gives to clients for the maximum number of streams in an HTTP/2 connec‐
498 tion. Zero means to use golang's default.
499
500
501 --kube-api-burst=30 Burst to use while talking with kubernetes
502 apiserver.
503
504
505 --kube-api-content-type="application/vnd.kubernetes.protobuf" Con‐
506 tent type of requests sent to apiserver.
507
508
509 --kube-api-qps=20 QPS to use while talking with kubernetes apis‐
510 erver.
511
512
513 --kubeconfig="" Path to kubeconfig file with authorization and
514 master location information.
515
516
517 --large-cluster-size-threshold=50 Number of nodes from which Node‐
518 Controller treats the cluster as large for the eviction logic purposes.
519 --secondary-node-eviction-rate is implicitly overridden to 0 for clus‐
520 ters this size or smaller.
521
522
523 --leader-elect=true Start a leader election client and gain lead‐
524 ership before executing the main loop. Enable this when running repli‐
525 cated components for high availability.
526
527
528 --leader-elect-lease-duration=15s The duration that non-leader
529 candidates will wait after observing a leadership renewal until at‐
530 tempting to acquire leadership of a led but unrenewed leader slot. This
531 is effectively the maximum duration that a leader can be stopped before
532 it is replaced by another candidate. This is only applicable if leader
533 election is enabled.
534
535
536 --leader-elect-renew-deadline=10s The interval between attempts by
537 the acting master to renew a leadership slot before it stops leading.
538 This must be less than the lease duration. This is only applicable if
539 leader election is enabled.
540
541
542 --leader-elect-resource-lock="leases" The type of resource object
543 that is used for locking during leader election. Supported options are
544 'leases', 'endpointsleases' and 'configmapsleases'.
545
546
547 --leader-elect-resource-name="kube-controller-manager" The name of
548 resource object that is used for locking during leader election.
549
550
551 --leader-elect-resource-namespace="kube-system" The namespace of
552 resource object that is used for locking during leader election.
553
554
555 --leader-elect-retry-period=2s The duration the clients should
556 wait between attempting acquisition and renewal of a leadership. This
557 is only applicable if leader election is enabled.
558
559
560 --leader-migration-config="" Path to the config file for con‐
561 troller leader migration, or empty to use the value that reflects de‐
562 fault configuration of the controller manager. The config file should
563 be of type LeaderMigrationConfiguration, group controllermanager.con‐
564 fig.k8s.io, version v1alpha1.
565
566
567 --log-flush-frequency=5s Maximum number of seconds between log
568 flushes
569
570
571 --logging-format="text" Sets the log format. Permitted formats:
572 "text".
573
574
575 --master="" The address of the Kubernetes API server (overrides
576 any value in kubeconfig).
577
578
579 --max-endpoints-per-slice=100 The maximum number of endpoints that
580 will be added to an EndpointSlice. More endpoints per slice will result
581 in less endpoint slices, but larger resources. Defaults to 100.
582
583
584 --min-resync-period=12h0m0s The resync period in reflectors will
585 be random between MinResyncPeriod and 2*MinResyncPeriod.
586
587
588 --mirroring-concurrent-service-endpoint-syncs=5 The number of ser‐
589 vice endpoint syncing operations that will be done concurrently by the
590 EndpointSliceMirroring controller. Larger number = faster endpoint
591 slice updating, but more CPU (and network) load. Defaults to 5.
592
593
594 --mirroring-endpointslice-updates-batch-period=0s The length of
595 EndpointSlice updates batching period for EndpointSliceMirroring con‐
596 troller. Processing of EndpointSlice changes will be delayed by this
597 duration to join them with potential upcoming updates and reduce the
598 overall number of EndpointSlice updates. Larger number = higher end‐
599 point programming latency, but lower number of endpoints revision gen‐
600 erated
601
602
603 --mirroring-max-endpoints-per-subset=1000 The maximum number of
604 endpoints that will be added to an EndpointSlice by the End‐
605 pointSliceMirroring controller. More endpoints per slice will result in
606 less endpoint slices, but larger resources. Defaults to 100.
607
608
609 --namespace-sync-period=5m0s The period for syncing namespace
610 life-cycle updates
611
612
613 --node-cidr-mask-size=0 Mask size for node cidr in cluster. De‐
614 fault is 24 for IPv4 and 64 for IPv6.
615
616
617 --node-cidr-mask-size-ipv4=0 Mask size for IPv4 node cidr in dual-
618 stack cluster. Default is 24.
619
620
621 --node-cidr-mask-size-ipv6=0 Mask size for IPv6 node cidr in dual-
622 stack cluster. Default is 64.
623
624
625 --node-eviction-rate=0.1 Number of nodes per second on which pods
626 are deleted in case of node failure when a zone is healthy (see --un‐
627 healthy-zone-threshold for definition of healthy/unhealthy). Zone
628 refers to entire cluster in non-multizone clusters.
629
630
631 --node-monitor-grace-period=40s Amount of time which we allow run‐
632 ning Node to be unresponsive before marking it unhealthy. Must be N
633 times more than kubelet's nodeStatusUpdateFrequency, where N means num‐
634 ber of retries allowed for kubelet to post node status.
635
636
637 --node-monitor-period=5s The period for syncing NodeStatus in
638 NodeController.
639
640
641 --node-startup-grace-period=1m0s Amount of time which we allow
642 starting Node to be unresponsive before marking it unhealthy.
643
644
645 --node-sync-period=0s This flag is deprecated and will be removed
646 in future releases. See node-monitor-period for Node health checking or
647 route-reconciliation-period for cloud provider's route configuration
648 settings.
649
650
651 --permit-address-sharing=false If true, SO_REUSEADDR will be used
652 when binding the port. This allows binding to wildcard IPs like 0.0.0.0
653 and specific IPs in parallel, and it avoids waiting for the kernel to
654 release sockets in TIME_WAIT state. [default=false]
655
656
657 --permit-port-sharing=false If true, SO_REUSEPORT will be used
658 when binding the port, which allows more than one instance to bind on
659 the same address and port. [default=false]
660
661
662 --pod-eviction-timeout=5m0s The grace period for deleting pods on
663 failed nodes.
664
665
666 --profiling=true Enable profiling via web interface host:port/de‐
667 bug/pprof/
668
669
670 --pv-recycler-increment-timeout-nfs=30 the increment of time added
671 per Gi to ActiveDeadlineSeconds for an NFS scrubber pod
672
673
674 --pv-recycler-minimum-timeout-hostpath=60 The minimum ActiveDead‐
675 lineSeconds to use for a HostPath Recycler pod. This is for develop‐
676 ment and testing only and will not work in a multi-node cluster.
677
678
679 --pv-recycler-minimum-timeout-nfs=300 The minimum ActiveDeadli‐
680 neSeconds to use for an NFS Recycler pod
681
682
683 --pv-recycler-pod-template-filepath-hostpath="" The file path to a
684 pod definition used as a template for HostPath persistent volume recy‐
685 cling. This is for development and testing only and will not work in a
686 multi-node cluster.
687
688
689 --pv-recycler-pod-template-filepath-nfs="" The file path to a pod
690 definition used as a template for NFS persistent volume recycling
691
692
693 --pv-recycler-timeout-increment-hostpath=30 the increment of time
694 added per Gi to ActiveDeadlineSeconds for a HostPath scrubber pod.
695 This is for development and testing only and will not work in a multi-
696 node cluster.
697
698
699 --pvclaimbinder-sync-period=15s The period for syncing persistent
700 volumes and persistent volume claims
701
702
703 --requestheader-allowed-names=[] List of client certificate common
704 names to allow to provide usernames in headers specified by --request‐
705 header-username-headers. If empty, any client certificate validated by
706 the authorities in --requestheader-client-ca-file is allowed.
707
708
709 --requestheader-client-ca-file="" Root certificate bundle to use
710 to verify client certificates on incoming requests before trusting
711 usernames in headers specified by --requestheader-username-headers.
712 WARNING: generally do not depend on authorization being already done
713 for incoming requests.
714
715
716 --requestheader-extra-headers-prefix=[x-remote-extra-] List of re‐
717 quest header prefixes to inspect. X-Remote-Extra- is suggested.
718
719
720 --requestheader-group-headers=[x-remote-group] List of request
721 headers to inspect for groups. X-Remote-Group is suggested.
722
723
724 --requestheader-username-headers=[x-remote-user] List of request
725 headers to inspect for usernames. X-Remote-User is common.
726
727
728 --resource-quota-sync-period=5m0s The period for syncing quota us‐
729 age status in the system
730
731
732 --root-ca-file="" If set, this root certificate authority will be
733 included in service account's token secret. This must be a valid PEM-
734 encoded CA bundle.
735
736
737 --route-reconciliation-period=10s The period for reconciling
738 routes created for Nodes by cloud provider.
739
740
741 --secondary-node-eviction-rate=0.01 Number of nodes per second on
742 which pods are deleted in case of node failure when a zone is unhealthy
743 (see --unhealthy-zone-threshold for definition of healthy/unhealthy).
744 Zone refers to entire cluster in non-multizone clusters. This value is
745 implicitly overridden to 0 if the cluster size is smaller than --large-
746 cluster-size-threshold.
747
748
749 --secure-port=10257 The port on which to serve HTTPS with authen‐
750 tication and authorization. If 0, don't serve HTTPS at all.
751
752
753 --service-account-private-key-file="" Filename containing a PEM-
754 encoded private RSA or ECDSA key used to sign service account tokens.
755
756
757 --service-cluster-ip-range="" CIDR Range for Services in cluster.
758 Requires --allocate-node-cidrs to be true
759
760
761 --show-hidden-metrics-for-version="" The previous version for
762 which you want to show hidden metrics. Only the previous minor version
763 is meaningful, other values will not be allowed. The format is ., e.g.:
764 '1.16'. The purpose of this format is make sure you have the opportu‐
765 nity to notice if the next release hides additional metrics, rather
766 than being surprised when they are permanently removed in the release
767 after that.
768
769
770 --terminated-pod-gc-threshold=12500 Number of terminated pods that
771 can exist before the terminated pod garbage collector starts deleting
772 terminated pods. If <= 0, the terminated pod garbage collector is dis‐
773 abled.
774
775
776 --tls-cert-file="" File containing the default x509 Certificate
777 for HTTPS. (CA cert, if any, concatenated after server cert). If HTTPS
778 serving is enabled, and --tls-cert-file and --tls-private-key-file are
779 not provided, a self-signed certificate and key are generated for the
780 public address and saved to the directory specified by --cert-dir.
781
782
783 --tls-cipher-suites=[] Comma-separated list of cipher suites for
784 the server. If omitted, the default Go cipher suites will be used.
785 Preferred values: TLS_AES_128_GCM_SHA256, TLS_AES_256_GCM_SHA384,
786 TLS_CHACHA20_POLY1305_SHA256, TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA,
787 TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,
788 TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA,
789 TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,
790 TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,
791 TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256,
792 TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,
793 TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,
794 TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,
795 TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,
796 TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,
797 TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256,
798 TLS_RSA_WITH_AES_128_CBC_SHA, TLS_RSA_WITH_AES_128_GCM_SHA256,
799 TLS_RSA_WITH_AES_256_CBC_SHA, TLS_RSA_WITH_AES_256_GCM_SHA384. Inse‐
800 cure values: TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,
801 TLS_ECDHE_ECDSA_WITH_RC4_128_SHA, TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA,
802 TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256, TLS_ECDHE_RSA_WITH_RC4_128_SHA,
803 TLS_RSA_WITH_3DES_EDE_CBC_SHA, TLS_RSA_WITH_AES_128_CBC_SHA256,
804 TLS_RSA_WITH_RC4_128_SHA.
805
806
807 --tls-min-version="" Minimum TLS version supported. Possible val‐
808 ues: VersionTLS10, VersionTLS11, VersionTLS12, VersionTLS13
809
810
811 --tls-private-key-file="" File containing the default x509 private
812 key matching --tls-cert-file.
813
814
815 --tls-sni-cert-key=[] A pair of x509 certificate and private key
816 file paths, optionally suffixed with a list of domain patterns which
817 are fully qualified domain names, possibly with prefixed wildcard seg‐
818 ments. The domain patterns also allow IP addresses, but IPs should only
819 be used if the apiserver has visibility to the IP address requested by
820 a client. If no domain patterns are provided, the names of the certifi‐
821 cate are extracted. Non-wildcard matches trump over wildcard matches,
822 explicit domain patterns trump over extracted names. For multiple
823 key/certificate pairs, use the --tls-sni-cert-key multiple times. Exam‐
824 ples: "example.crt,example.key" or "foo.crt,foo.key:*.foo.com,foo.com".
825
826
827 --unhealthy-zone-threshold=0.55 Fraction of Nodes in a zone which
828 needs to be not Ready (minimum 3) for zone to be treated as unhealthy.
829
830
831 --use-service-account-credentials=false If true, use individual
832 service account credentials for each controller.
833
834
835 -v, --v=0 number for the log level verbosity
836
837
838 --version=false Print version information and quit
839
840
841 --vmodule= comma-separated list of pattern=N settings for file-
842 filtered logging (only works for text log format)
843
844
845 --volume-host-allow-local-loopback=true If false, deny local loop‐
846 back IPs in addition to any CIDR ranges in --volume-host-cidr-denylist
847
848
849 --volume-host-cidr-denylist=[] A comma-separated list of CIDR
850 ranges to avoid from volume plugins.
851
852
853
855 January 2015, Originally compiled by Eric Paris (eparis at redhat dot
856 com) based on the kubernetes source material, but hopefully they have
857 been automatically generated since!
858
859
860
861Manuals User KUBERNETES(1)(kubernetes)