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

NAME

9       kube-apiserver -
10
11
12

SYNOPSIS

14       kube-apiserver [OPTIONS]
15
16
17

DESCRIPTION

19       The Kubernetes API server validates and configures data for the api ob‐
20       jects which include pods, services, replicationcontrollers, and others.
21       The  API  Server  services REST operations and provides the frontend to
22       the cluster's shared state through which all other components interact.
23
24
25

OPTIONS

27       --add_dir_header=false      If true, adds the  file  directory  to  the
28       header of the log messages
29
30
31       --address=127.0.0.1       The IP address on which to serve the insecure
32       port (set to 0.0.0.0 or :: for listening in all interfaces and IP fami‐
33       lies).
34
35
36       --admission-control=[]       Admission  is  divided into two phases. In
37       the first phase, only mutating admission plugins  run.  In  the  second
38       phase,  only  validating  admission plugins run. The names in the below
39       list may represent a validating plugin, a mutating plugin, or both. The
40       order of plugins in which they are passed to this flag does not matter.
41       Comma-delimited list  of:  AlwaysAdmit,  AlwaysDeny,  AlwaysPullImages,
42       CertificateApproval, CertificateSigning, CertificateSubjectRestriction,
43       DefaultIngressClass,   DefaultStorageClass,   DefaultTolerationSeconds,
44       DenyServiceExternalIPs, EventRateLimit, ExtendedResourceToleration, Im‐
45       agePolicyWebhook,  LimitPodHardAntiAffinityTopology,  LimitRanger,  Mu‐
46       tatingAdmissionWebhook, NamespaceAutoProvision, NamespaceExists, Names‐
47       paceLifecycle,  NodeRestriction,  OwnerReferencesPermissionEnforcement,
48       PersistentVolumeClaimResize,   PersistentVolumeLabel,  PodNodeSelector,
49       PodSecurityPolicy, PodTolerationRestriction,  Priority,  ResourceQuota,
50       RuntimeClass,  SecurityContextDeny, ServiceAccount, StorageObjectInUse‐
51       Protection, TaintNodesByCondition, ValidatingAdmissionWebhook.
52
53
54       --admission-control-config-file=""       File  with  admission  control
55       configuration.
56
57
58       --advertise-address=       The  IP  address  on  which to advertise the
59       apiserver to members of the cluster. This address must be reachable  by
60       the  rest of the cluster. If blank, the --bind-address will be used. If
61       --bind-address is unspecified, the host's  default  interface  will  be
62       used.
63
64
65       --allow-metric-labels=[]       The  map  from metric-label to value al‐
66       low-list of this label. The key's format is ,. The  value's  format  is
67       ,...e.g.   metric1,label1='v1,v2,v3',   metric1,label2='v1,v2,v3'  met‐
68       ric2,label1='v1,v2,v3'.
69
70
71       --allow-privileged=false      If  true,  allow  privileged  containers.
72       [default=false]
73
74
75       --alsologtostderr=false      log to standard error as well as files
76
77
78       --anonymous-auth=true       Enables  anonymous  requests  to the secure
79       port of the API server. Requests that are not rejected by  another  au‐
80       thentication  method  are  treated as anonymous requests. Anonymous re‐
81       quests have a username of system:anonymous, and a group  name  of  sys‐
82       tem:unauthenticated.
83
84
85       --api-audiences=[]      Identifiers of the API. The service account to‐
86       ken authenticator will validate that tokens used against  the  API  are
87       bound  to at least one of these audiences. If the --service-account-is‐
88       suer flag is configured and this flag is not, this field defaults to  a
89       single element list containing the issuer URL.
90
91
92       --apiserver-count=1       The number of apiservers running in the clus‐
93       ter,  must  be  a  positive  number.  (In  use  when  --endpoint-recon‐
94       ciler-type=master-count is enabled.)
95
96
97       --audit-log-batch-buffer-size=10000       The  size  of  the  buffer to
98       store events before batching and writing. Only used in batch mode.
99
100
101       --audit-log-batch-max-size=1      The maximum size  of  a  batch.  Only
102       used in batch mode.
103
104
105       --audit-log-batch-max-wait=0s       The  amount  of time to wait before
106       force writing the batch that hadn't reached the max size. Only used  in
107       batch mode.
108
109
110       --audit-log-batch-throttle-burst=0      Maximum number of requests sent
111       at the same moment if ThrottleQPS was not utilized before. Only used in
112       batch mode.
113
114
115       --audit-log-batch-throttle-enable=false       Whether  batching  throt‐
116       tling is enabled. Only used in batch mode.
117
118
119       --audit-log-batch-throttle-qps=0      Maximum average number of batches
120       per second. Only used in batch mode.
121
122
123       --audit-log-compress=false       If  set, the rotated log files will be
124       compressed using gzip.
125
126
127       --audit-log-format="json"      Format of saved audits.  "legacy"  indi‐
128       cates  1-line  text  format for each event. "json" indicates structured
129       json format. Known formats are legacy,json.
130
131
132       --audit-log-maxage=0      The maximum number of days to retain old  au‐
133       dit log files based on the timestamp encoded in their filename.
134
135
136       --audit-log-maxbackup=0       The maximum number of old audit log files
137       to retain.
138
139
140       --audit-log-maxsize=0      The maximum size in megabytes of  the  audit
141       log file before it gets rotated.
142
143
144       --audit-log-mode="blocking"       Strategy  for  sending  audit events.
145       Blocking indicates sending events should block server responses.  Batch
146       causes  the  backend  to  buffer and write events asynchronously. Known
147       modes are batch,blocking,blocking-strict.
148
149
150       --audit-log-path=""      If set, all requests coming to  the  apiserver
151       will be logged to this file.  '-' means standard out.
152
153
154       --audit-log-truncate-enabled=false       Whether  event and batch trun‐
155       cating is enabled.
156
157
158       --audit-log-truncate-max-batch-size=10485760      Maximum size  of  the
159       batch  sent  to  the  underlying backend. Actual serialized size can be
160       several hundreds of bytes greater. If a batch exceeds this limit, it is
161       split into several batches of smaller size.
162
163
164       --audit-log-truncate-max-event-size=102400      Maximum size of the au‐
165       dit event sent to the underlying backend. If the size of  an  event  is
166       greater  than  this number, first request and response are removed, and
167       if this doesn't reduce the size enough, event is discarded.
168
169
170       --audit-log-version="audit.k8s.io/v1"      API group and  version  used
171       for serializing audit events written to log.
172
173
174       --audit-policy-file=""       Path  to  the  file that defines the audit
175       policy configuration.
176
177
178       --audit-webhook-batch-buffer-size=10000      The size of the buffer  to
179       store events before batching and writing. Only used in batch mode.
180
181
182       --audit-webhook-batch-initial-backoff=10s       The  amount  of time to
183       wait before retrying the first failed request.
184
185
186       --audit-webhook-batch-max-size=400      The maximum size  of  a  batch.
187       Only used in batch mode.
188
189
190       --audit-webhook-batch-max-wait=30s       The amount of time to wait be‐
191       fore force writing the batch that hadn't reached  the  max  size.  Only
192       used in batch mode.
193
194
195       --audit-webhook-batch-throttle-burst=15      Maximum number of requests
196       sent at the same moment if ThrottleQPS was not  utilized  before.  Only
197       used in batch mode.
198
199
200       --audit-webhook-batch-throttle-enable=true      Whether batching throt‐
201       tling is enabled. Only used in batch mode.
202
203
204       --audit-webhook-batch-throttle-qps=10      Maximum  average  number  of
205       batches per second. Only used in batch mode.
206
207
208       --audit-webhook-config-file=""      Path to a kubeconfig formatted file
209       that defines the audit webhook configuration.
210
211
212       --audit-webhook-initial-backoff=10s      The amount of time to wait be‐
213       fore retrying the first failed request.
214
215
216       --audit-webhook-mode="batch"       Strategy  for  sending audit events.
217       Blocking indicates sending events should block server responses.  Batch
218       causes  the  backend  to  buffer and write events asynchronously. Known
219       modes are batch,blocking,blocking-strict.
220
221
222       --audit-webhook-truncate-enabled=false       Whether  event  and  batch
223       truncating is enabled.
224
225
226       --audit-webhook-truncate-max-batch-size=10485760       Maximum  size of
227       the batch sent to the underlying backend. Actual serialized size can be
228       several hundreds of bytes greater. If a batch exceeds this limit, it is
229       split into several batches of smaller size.
230
231
232       --audit-webhook-truncate-max-event-size=102400      Maximum size of the
233       audit  event sent to the underlying backend. If the size of an event is
234       greater than this number, first request and response are  removed,  and
235       if this doesn't reduce the size enough, event is discarded.
236
237
238       --audit-webhook-version="audit.k8s.io/v1"       API  group  and version
239       used for serializing audit events written to webhook.
240
241
242       --authentication-token-webhook-cache-ttl=2m0s       The   duration   to
243       cache responses from the webhook token authenticator.
244
245
246       --authentication-token-webhook-config-file=""       File  with  webhook
247       configuration for token authentication in kubeconfig  format.  The  API
248       server  will  query  the remote service to determine authentication for
249       bearer tokens.
250
251
252       --authentication-token-webhook-version="v1beta1"      The  API  version
253       of the authentication.k8s.io TokenReview to send to and expect from the
254       webhook.
255
256
257       --authorization-mode=[AlwaysAllow]      Ordered list of plug-ins to  do
258       authorization  on secure port. Comma-delimited list of: AlwaysAllow,Al‐
259       waysDeny,ABAC,Webhook,RBAC,Node.
260
261
262       --authorization-policy-file=""      File with authorization  policy  in
263       json  line  by line format, used with --authorization-mode=ABAC, on the
264       secure port.
265
266
267       --authorization-webhook-cache-authorized-ttl=5m0s      The duration  to
268       cache 'authorized' responses from the webhook authorizer.
269
270
271       --authorization-webhook-cache-unauthorized-ttl=30s      The duration to
272       cache 'unauthorized' responses from the webhook authorizer.
273
274
275       --authorization-webhook-config-file=""      File with webhook  configu‐
276       ration  in  kubeconfig  format, used with --authorization-mode=Webhook.
277       The API server will query the remote service to determine access on the
278       API server's secure port.
279
280
281       --authorization-webhook-version="v1beta1"       The  API version of the
282       authorization.k8s.io SubjectAccessReview to send to and expect from the
283       webhook.
284
285
286       --azure-container-registry-config=""       Path  to the file containing
287       Azure container registry configuration information.
288
289
290       --bind-address=0.0.0.0      The IP address on which to listen  for  the
291       --secure-port  port.  The  associated interface(s) must be reachable by
292       the rest of the cluster, and by CLI/web clients. If blank or an unspec‐
293       ified address (0.0.0.0 or ::), all interfaces will be used.
294
295
296       --cert-dir="/var/run/kubernetes"      The directory where the TLS certs
297       are located. If --tls-cert-file  and  --tls-private-key-file  are  pro‐
298       vided, this flag will be ignored.
299
300
301       --client-ca-file=""       If  set, any request presenting a client cer‐
302       tificate signed by one of the authorities in the client-ca-file is  au‐
303       thenticated  with  an  identity  corresponding to the CommonName of the
304       client certificate.
305
306
307       --cloud-config=""      The path to  the  cloud  provider  configuration
308       file. Empty string for no configuration file.
309
310
311       --cloud-provider=""       The provider for cloud services. Empty string
312       for no provider.
313
314
315       --cloud-provider-gce-l7lb-src-cidrs=130.211.0.0/22,35.191.0.0/16
316            CIDRs  opened  in  GCE  firewall  for  L7 LB traffic proxy  health
317       checks
318
319
320       --cloud-provider-gce-lb-src-cidrs=130.211.0.0/22,209.85.152.0/22,209.85.204.0/22,35.191.0.0/16
321            CIDRs  opened  in  GCE  firewall  for  L4 LB traffic proxy  health
322       checks
323
324
325       --contention-profiling=false      Enable lock contention profiling,  if
326       profiling is enabled
327
328
329       --cors-allowed-origins=[]       List of allowed origins for CORS, comma
330       separated.  An allowed origin can be a regular  expression  to  support
331       subdomain matching. If this list is empty CORS will not be enabled.
332
333
334       --default-not-ready-toleration-seconds=300       Indicates  the tolera‐
335       tionSeconds of the toleration for notReady:NoExecute that is  added  by
336       default to every pod that does not already have such a toleration.
337
338
339       --default-unreachable-toleration-seconds=300      Indicates the tolera‐
340       tionSeconds of the toleration for unreachable:NoExecute that  is  added
341       by default to every pod that does not already have such a toleration.
342
343
344       --default-watch-cache-size=100       Default watch cache size. If zero,
345       watch cache will be disabled for resources that do not have  a  default
346       watch size set.
347
348
349       --delete-collection-workers=1        Number   of  workers  spawned  for
350       DeleteCollection call. These are used to speed up namespace cleanup.
351
352
353       --deserialization-cache-size=0      Number of deserialized json objects
354       to cache in memory.
355
356
357       --disable-admission-plugins=[]       admission  plugins  that should be
358       disabled although they are in the default enabled plugins list  (Names‐
359       paceLifecycle, LimitRanger, ServiceAccount, TaintNodesByCondition, Pri‐
360       ority, DefaultTolerationSeconds,  DefaultStorageClass,  StorageObjectI‐
361       nUseProtection,   PersistentVolumeClaimResize,  RuntimeClass,  Certifi‐
362       cateApproval,  CertificateSigning,  CertificateSubjectRestriction,  De‐
363       faultIngressClass,   MutatingAdmissionWebhook,  ValidatingAdmissionWeb‐
364       hook, ResourceQuota). Comma-delimited list of  admission  plugins:  Al‐
365       waysAdmit,  AlwaysDeny, AlwaysPullImages, CertificateApproval, Certifi‐
366       cateSigning,  CertificateSubjectRestriction,  DefaultIngressClass,  De‐
367       faultStorageClass,   DefaultTolerationSeconds,  DenyServiceExternalIPs,
368       EventRateLimit, ExtendedResourceToleration, ImagePolicyWebhook,  Limit‐
369       PodHardAntiAffinityTopology,   LimitRanger,   MutatingAdmissionWebhook,
370       NamespaceAutoProvision,  NamespaceExists,  NamespaceLifecycle,  NodeRe‐
371       striction, OwnerReferencesPermissionEnforcement, PersistentVolumeClaim‐
372       Resize, PersistentVolumeLabel, PodNodeSelector, PodSecurityPolicy, Pod‐
373       TolerationRestriction, Priority, ResourceQuota, RuntimeClass, Security‐
374       ContextDeny, ServiceAccount, StorageObjectInUseProtection,  TaintNodes‐
375       ByCondition,  ValidatingAdmissionWebhook.  The order of plugins in this
376       flag does not matter.
377
378
379       --disabled-metrics=[]      This flag provides an escape hatch for  mis‐
380       behaving  metrics.  You must provide the fully qualified metric name in
381       order to disable it. Disclaimer: disabling metrics is higher in  prece‐
382       dence than showing hidden metrics.
383
384
385       --egress-selector-config-file=""      File with apiserver egress selec‐
386       tor configuration.
387
388
389       --enable-admission-plugins=[]      admission plugins that should be en‐
390       abled  in  addition  to default enabled ones (NamespaceLifecycle, Limi‐
391       tRanger, ServiceAccount, TaintNodesByCondition, Priority, DefaultToler‐
392       ationSeconds,  DefaultStorageClass,  StorageObjectInUseProtection, Per‐
393       sistentVolumeClaimResize, RuntimeClass,  CertificateApproval,  Certifi‐
394       cateSigning,  CertificateSubjectRestriction,  DefaultIngressClass,  Mu‐
395       tatingAdmissionWebhook,   ValidatingAdmissionWebhook,   ResourceQuota).
396       Comma-delimited list of admission plugins: AlwaysAdmit, AlwaysDeny, Al‐
397       waysPullImages, CertificateApproval,  CertificateSigning,  Certificate‐
398       SubjectRestriction,  DefaultIngressClass, DefaultStorageClass, Default‐
399       TolerationSeconds,  DenyServiceExternalIPs,  EventRateLimit,   Extende‐
400       dResourceToleration, ImagePolicyWebhook, LimitPodHardAntiAffinityTopol‐
401       ogy,  LimitRanger,  MutatingAdmissionWebhook,   NamespaceAutoProvision,
402       NamespaceExists,  NamespaceLifecycle, NodeRestriction, OwnerReferences‐
403       PermissionEnforcement, PersistentVolumeClaimResize, PersistentVolumeLa‐
404       bel, PodNodeSelector, PodSecurityPolicy, PodTolerationRestriction, Pri‐
405       ority,  ResourceQuota,  RuntimeClass,  SecurityContextDeny,  ServiceAc‐
406       count,  StorageObjectInUseProtection, TaintNodesByCondition, Validatin‐
407       gAdmissionWebhook. The order of plugins in this flag does not matter.
408
409
410       --enable-aggregator-routing=false      Turns on aggregator routing  re‐
411       quests to endpoints IP rather than cluster IP.
412
413
414       --enable-bootstrap-token-auth=false       Enable  to  allow  secrets of
415       type 'bootstrap.kubernetes.io/token' in the 'kube-system' namespace  to
416       be used for TLS bootstrapping authentication.
417
418
419       --enable-garbage-collector=true       Enables  the generic garbage col‐
420       lector. MUST be synced with the corresponding  flag  of  the  kube-con‐
421       troller-manager.
422
423
424       --enable-logs-handler=true       If  true,  install a /logs handler for
425       the apiserver logs.
426
427
428       --enable-priority-and-fairness=true       If  true  and  the  APIPrior‐
429       ityAndFairness  feature gate is enabled, replace the max-in-flight han‐
430       dler with an enhanced one that queues and dispatches with priority  and
431       fairness
432
433
434       --enable-swagger-ui=false       Enables  swagger ui on the apiserver at
435       /swagger-ui
436
437
438       --encryption-provider-config=""      The file containing  configuration
439       for encryption providers to be used for storing secrets in etcd
440
441
442       --endpoint-reconciler-type="lease"        Use  an  endpoint  reconciler
443       (master-count, lease, none)
444
445
446       --etcd-cafile=""      SSL Certificate Authority  file  used  to  secure
447       etcd communication.
448
449
450       --etcd-certfile=""      SSL certification file used to secure etcd com‐
451       munication.
452
453
454       --etcd-compaction-interval=5m0s      The  interval  of  compaction  re‐
455       quests. If 0, the compaction request from apiserver is disabled.
456
457
458       --etcd-count-metric-poll-period=1m0s      Frequency of polling etcd for
459       number of resources per type. 0 disables the metric collection.
460
461
462       --etcd-db-metric-poll-interval=30s      The  interval  of  requests  to
463       poll etcd and update metric. 0 disables the metric collection
464
465
466       --etcd-healthcheck-timeout=2s       The  timeout  to  use when checking
467       etcd health.
468
469
470       --etcd-keyfile=""      SSL key file used to secure etcd communication.
471
472
473       --etcd-prefix="/registry"      The prefix to prepend  to  all  resource
474       paths in etcd.
475
476
477       --etcd-servers=[]        List   of   etcd   servers   to  connect  with
478       (scheme://ip:port), comma separated.
479
480
481       --etcd-servers-overrides=[]      Per-resource etcd  servers  overrides,
482       comma    separated.   The   individual   override   format:   group/re‐
483       source#servers, where servers are URLs, semicolon separated. Note  that
484       this applies only to resources compiled into this server binary.
485
486
487       --event-ttl=1h0m0s      Amount of time to retain events.
488
489
490       --experimental-encryption-provider-config=""       The  file containing
491       configuration for encryption providers to be used for  storing  secrets
492       in etcd
493
494
495       --experimental-logging-sanitization=false       [Experimental] When en‐
496       abled prevents logging of fields tagged as sensitive (passwords,  keys,
497       tokens).   Runtime  log sanitization may introduce significant computa‐
498       tion overhead and therefore should not be enabled in production.
499
500
501       --external-hostname=""      The hostname to use when generating  exter‐
502       nalized  URLs  for this master (e.g. Swagger API Docs or OpenID Discov‐
503       ery).
504
505
506       --feature-gates=      A set of key=value pairs  that  describe  feature
507       gates  for  alpha/experimental  features.  Options  are:  APIListChunk‐
508       ing=true|false (BETA - default=true)  APIPriorityAndFairness=true|false
509       (BETA  -  default=true)  APIResponseCompression=true|false  (BETA - de‐
510       fault=true) APIServerIdentity=true|false (ALPHA - default=false) AllAl‐
511       pha=true|false  (ALPHA  - default=false) AllBeta=true|false (BETA - de‐
512       fault=false) AnyVolumeDataSource=true|false (ALPHA - default=false) Ap‐
513       pArmor=true|false   (BETA   -   default=true)   BalanceAttachedNodeVol‐
514       umes=true|false (ALPHA  -  default=false)  BoundServiceAccountTokenVol‐
515       ume=true|false  (BETA - default=true) CPUManager=true|false (BETA - de‐
516       fault=true) CSIInlineVolume=true|false (BETA - default=true)  CSIMigra‐
517       tion=true|false  (BETA - default=true) CSIMigrationAWS=true|false (BETA
518       -   default=false)   CSIMigrationAzureDisk=true|false   (BETA   -   de‐
519       fault=false)  CSIMigrationAzureFile=true|false  (BETA  - default=false)
520       CSIMigrationGCE=true|false  (BETA  -  default=false)  CSIMigrationOpen‐
521       Stack=true|false  (BETA  - default=true) CSIMigrationvSphere=true|false
522       (BETA - default=false) CSIMigrationvSphereComplete=true|false  (BETA  -
523       default=false)  CSIServiceAccountToken=true|false (BETA - default=true)
524       CSIStorageCapacity=true|false (BETA -  default=true)  CSIVolumeFSGroup‐
525       Policy=true|false (BETA - default=true) CSIVolumeHealth=true|false (AL‐
526       PHA - default=false) ConfigurableFSGroupPolicy=true|false (BETA  -  de‐
527       fault=true)  ControllerManagerLeaderMigration=true|false  (ALPHA  - de‐
528       fault=false) CronJobControllerV2=true|false (BETA - default=true)  Cus‐
529       tomCPUCFSQuotaPeriod=true|false  (ALPHA  -  default=false) DaemonSetUp‐
530       dateSurge=true|false   (ALPHA   -   default=false)    DefaultPodTopolo‐
531       gySpread=true|false   (BETA  -  default=true)  DevicePlugins=true|false
532       (BETA - default=true) DisableAcceleratorUsageMetrics=true|false (BETA -
533       default=true)  DownwardAPIHugePages=true|false  (BETA  - default=false)
534       DynamicKubeletConfig=true|false (BETA - default=true) EfficientWatchRe‐
535       sumption=true|false    (BETA    -   default=true)   EndpointSliceProxy‐
536       ing=true|false  (BETA  -  default=true)  EndpointSliceTerminatingCondi‐
537       tion=true|false  (ALPHA - default=false) EphemeralContainers=true|false
538       (ALPHA  -  default=false)  ExpandCSIVolumes=true|false  (BETA   -   de‐
539       fault=true)   ExpandInUsePersistentVolumes=true|false   (BETA   -   de‐
540       fault=true) ExpandPersistentVolumes=true|false  (BETA  -  default=true)
541       ExperimentalHostUserNamespaceDefaulting=true|false    (BETA    -    de‐
542       fault=false) GenericEphemeralVolume=true|false  (BETA  -  default=true)
543       GracefulNodeShutdown=true|false  (BETA - default=true) HPAContainerMet‐
544       rics=true|false (ALPHA - default=false) HPAScaleToZero=true|false  (AL‐
545       PHA  -  default=false) HugePageStorageMediumSize=true|false (BETA - de‐
546       fault=true) IPv6DualStack=true|false (BETA - default=true) InTreePlugi‐
547       nAWSUnregister=true|false  (ALPHA  -  default=false) InTreePluginAzure‐
548       DiskUnregister=true|false (ALPHA  -  default=false)  InTreePluginAzure‐
549       FileUnregister=true|false (ALPHA - default=false) InTreePluginGCEUnreg‐
550       ister=true|false (ALPHA - default=false)  InTreePluginOpenStackUnregis‐
551       ter=true|false   (ALPHA  -  default=false)  InTreePluginvSphereUnregis‐
552       ter=true|false (ALPHA - default=false) IndexedJob=true|false  (ALPHA  -
553       default=false)  IngressClassNamespacedParams=true|false  (ALPHA  -  de‐
554       fault=false)   KubeletCredentialProviders=true|false   (ALPHA   -   de‐
555       fault=false)   KubeletPodResources=true|false   (BETA  -  default=true)
556       KubeletPodResourcesGetAllocatable=true|false  (ALPHA  -  default=false)
557       LocalStorageCapacityIsolation=true|false  (BETA  - default=true) Local‐
558       StorageCapacityIsolationFSQuotaMonitoring=true|false   (ALPHA   -   de‐
559       fault=false)  LogarithmicScaleDown=true|false  (ALPHA  - default=false)
560       MemoryManager=true|false (ALPHA  -  default=false)  MixedProtocolLBSer‐
561       vice=true|false    (ALPHA   -   default=false)   NamespaceDefaultLabel‐
562       Name=true|false (BETA -  default=true)  NetworkPolicyEndPort=true|false
563       (ALPHA  -  default=false)  NonPreemptingPriority=true|false (BETA - de‐
564       fault=true)  PodAffinityNamespaceSelector=true|false   (ALPHA   -   de‐
565       fault=false)   PodDeletionCost=true|false   (ALPHA   -   default=false)
566       PodOverhead=true|false    (BETA    -    default=true)    PreferNominat‐
567       edNode=true|false   (ALPHA  -  default=false)  ProbeTerminationGracePe‐
568       riod=true|false (ALPHA - default=false) ProcMountType=true|false (ALPHA
569       - default=false) QOSReserved=true|false (ALPHA - default=false) Remain‐
570       ingItemCount=true|false (BETA - default=true) RemoveSelfLink=true|false
571       (BETA - default=true) RotateKubeletServerCertificate=true|false (BETA -
572       default=true) ServerSideApply=true|false (BETA -  default=true)  Servi‐
573       ceInternalTrafficPolicy=true|false  (ALPHA - default=false) ServiceLBN‐
574       odePortControl=true|false (ALPHA - default=false)  ServiceLoadBalancer‐
575       Class=true|false  (ALPHA  -  default=false)  ServiceTopology=true|false
576       (ALPHA  -  default=false)  SetHostnameAsFQDN=true|false  (BETA  -   de‐
577       fault=true)  SizeMemoryBackedVolumes=true|false (ALPHA - default=false)
578       StorageVersionAPI=true|false (ALPHA  -  default=false)  StorageVersion‐
579       Hash=true|false  (BETA  -  default=true) SuspendJob=true|false (ALPHA -
580       default=false) TTLAfterFinished=true|false (BETA - default=true) Topol‐
581       ogyAwareHints=true|false    (ALPHA    -   default=false)   TopologyMan‐
582       ager=true|false (BETA - default=true) ValidateProxyRedirects=true|false
583       (BETA  -  default=true)  VolumeCapacityPriority=true|false (ALPHA - de‐
584       fault=false)   WarningHeaders=true|false    (BETA    -    default=true)
585       WinDSR=true|false (ALPHA - default=false) WinOverlay=true|false (BETA -
586       default=true)  WindowsEndpointSliceProxying=true|false  (BETA   -   de‐
587       fault=true)
588
589
590       --goaway-chance=0       To prevent HTTP/2 clients from getting stuck on
591       a single apiserver, randomly close a connection (GOAWAY). The  client's
592       other  in-flight requests won't be affected, and the client will recon‐
593       nect, likely landing on a different apiserver after going  through  the
594       load  balancer  again. This argument sets the fraction of requests that
595       will be sent a GOAWAY. Clusters with single apiservers, or which  don't
596       use a load balancer, should NOT enable this. Min is 0 (off), Max is .02
597       (1/50 requests); .001 (1/1000) is a recommended starting point.
598
599
600       -h, --help=false      help for kube-apiserver
601
602
603       --http2-max-streams-per-connection=0      The  limit  that  the  server
604       gives to clients for the maximum number of streams in an HTTP/2 connec‐
605       tion. Zero means to use golang's default.
606
607
608       --identity-lease-duration-seconds=3600      The duration of  kube-apis‐
609       erver  lease  in  seconds,  must be a positive number. (In use when the
610       APIServerIdentity feature gate is enabled.)
611
612
613       --identity-lease-renew-interval-seconds=10        The    interval    of
614       kube-apiserver  renewing  its lease in seconds, must be a positive num‐
615       ber. (In use when the APIServerIdentity feature gate is enabled.)
616
617
618       --insecure-bind-address=127.0.0.1      The IP address on which to serve
619       the insecure port (set to 0.0.0.0 or :: for listening in all interfaces
620       and IP families).
621
622
623       --insecure-port=0      The port on which to serve unsecured,  unauthen‐
624       ticated access.
625
626
627       --kubelet-certificate-authority=""       Path  to  a  cert file for the
628       certificate authority.
629
630
631       --kubelet-client-certificate=""      Path to a  client  cert  file  for
632       TLS.
633
634
635       --kubelet-client-key=""      Path to a client key file for TLS.
636
637
638       --kubelet-https=true      Use https for kubelet connections.
639
640
641       --kubelet-port=10250      DEPRECATED: kubelet port.
642
643
644       --kubelet-preferred-address-types=[Hostname,InternalDNS,InternalIP,Ex‐
645       ternalDNS,ExternalIP]      List of the  preferred  NodeAddressTypes  to
646       use for kubelet connections.
647
648
649       --kubelet-read-only-port=10255      DEPRECATED: kubelet read only port.
650
651
652       --kubelet-timeout=5s      Timeout for kubelet operations.
653
654
655       --kubernetes-service-node-port=0       If non-zero, the Kubernetes mas‐
656       ter service (which apiserver creates/maintains) will be of  type  Node‐
657       Port, using this as the value of the port. If zero, the Kubernetes mas‐
658       ter service will be of type ClusterIP.
659
660
661       --lease-reuse-duration-seconds=60      The time in  seconds  that  each
662       lease  is  reused.  A  lower  value could avoid large number of objects
663       reusing the same lease. Notice that a too small value may cause perfor‐
664       mance problems at storage layer.
665
666
667       --livez-grace-period=0s       This option represents the maximum amount
668       of time it should take for apiserver to complete its  startup  sequence
669       and  become  live.  From  apiserver's start time to when this amount of
670       time has elapsed, /livez will assume that unfinished  post-start  hooks
671       will complete successfully and therefore return true.
672
673
674       --log-flush-frequency=5s       Maximum  number  of  seconds between log
675       flushes
676
677
678       --log_backtrace_at=:0      when logging hits line file:N, emit a  stack
679       trace
680
681
682       --log_dir=""      If non-empty, write log files in this directory
683
684
685       --log_file=""      If non-empty, use this log file
686
687
688       --log_file_max_size=1800       Defines  the maximum size a log file can
689       grow to. Unit is megabytes. If the value is 0, the maximum file size is
690       unlimited.
691
692
693       --logging-format="text"       Sets  the  log format. Permitted formats:
694       "json",  "text".   Non-default  formats  don't   honor   these   flags:
695       --add_dir_header,   --alsologtostderr,  --log_backtrace_at,  --log_dir,
696       --log_file,    --log_file_max_size,    --logtostderr,     --one_output,
697       --skip_headers,   --skip_log_headers,   --stderrthreshold,   --vmodule,
698       --log-flush-frequency.  Non-default choices  are  currently  alpha  and
699       subject to change without warning.
700
701
702       --logtostderr=true      log to standard error instead of files
703
704
705       --master-service-namespace="default"        DEPRECATED:  the  namespace
706       from which the Kubernetes master services should be injected into pods.
707
708
709       --max-connection-bytes-per-sec=0      If non-zero, throttle  each  user
710       connection  to  this  number  of  bytes/sec.  Currently only applies to
711       long-running requests.
712
713
714       --max-mutating-requests-inflight=200      The maximum number of  mutat‐
715       ing  requests  in flight at a given time. When the server exceeds this,
716       it rejects requests. Zero for no limit.
717
718
719       --max-requests-inflight=400      The maximum number of non-mutating re‐
720       quests  in flight at a given time. When the server exceeds this, it re‐
721       jects requests. Zero for no limit.
722
723
724       --min-request-timeout=1800      An optional field indicating the  mini‐
725       mum  number of seconds a handler must keep a request open before timing
726       it out. Currently only honored by  the  watch  request  handler,  which
727       picks  a  randomized value above this number as the connection timeout,
728       to spread out load.
729
730
731       --oidc-ca-file=""      If set, the OpenID server's certificate will  be
732       verified  by  one of the authorities in the oidc-ca-file, otherwise the
733       host's root CA set will be used.
734
735
736       --oidc-client-id=""      The client ID for the OpenID  Connect  client,
737       must be set if oidc-issuer-url is set.
738
739
740       --oidc-groups-claim=""       If  provided,  the name of a custom OpenID
741       Connect claim for specifying user groups. The claim value  is  expected
742       to  be  a string or array of strings. This flag is experimental, please
743       see the authentication documentation for further details.
744
745
746       --oidc-groups-prefix=""      If provided, all groups will  be  prefixed
747       with  this value to prevent conflicts with other authentication strate‐
748       gies.
749
750
751       --oidc-issuer-url=""      The URL of  the  OpenID  issuer,  only  HTTPS
752       scheme  will  be  accepted.  If set, it will be used to verify the OIDC
753       JSON Web Token (JWT).
754
755
756       --oidc-required-claim=      A key=value pair that describes a  required
757       claim  in  the ID Token. If set, the claim is verified to be present in
758       the ID Token with a matching value. Repeat this flag to specify  multi‐
759       ple claims.
760
761
762       --oidc-signing-algs=[RS256]       Comma-separated  list of allowed JOSE
763       asymmetric signing algorithms. JWTs with a 'alg' header  value  not  in
764       this   list   will   be  rejected.  Values  are  defined  by  RFC  7518
765       https://tools.ietf.org/html/rfc7518#section-3.1.
766
767
768       --oidc-username-claim="sub"      The OpenID claim to use  as  the  user
769       name. Note that claims other than the default ('sub') is not guaranteed
770       to be unique and immutable. This flag is experimental, please  see  the
771       authentication documentation for further details.
772
773
774       --oidc-username-prefix=""       If provided, all usernames will be pre‐
775       fixed with this value. If not  provided,  username  claims  other  than
776       'email'  are  prefixed  by the issuer URL to avoid clashes. To skip any
777       prefixing, provide the value '-'.
778
779
780       --one_output=false      If true, only write logs to their native sever‐
781       ity level (vs also writing to each lower severity level)
782
783
784       --permit-address-sharing=false       If true, SO_REUSEADDR will be used
785       when binding the port. This allows binding to wildcard IPs like 0.0.0.0
786       and  specific  IPs in parallel, and it avoids waiting for the kernel to
787       release sockets in TIME_WAIT state. [default=false]
788
789
790       --permit-port-sharing=false      If true,  SO_REUSEPORT  will  be  used
791       when  binding  the port, which allows more than one instance to bind on
792       the same address and port. [default=false]
793
794
795       --port=0      The port on which to serve unsecured, unauthenticated ac‐
796       cess.
797
798
799       --profiling=true       Enable profiling via web interface host:port/de‐
800       bug/pprof/
801
802
803       --proxy-client-cert-file=""      Client certificate used to  prove  the
804       identity of the aggregator or kube-apiserver when it must call out dur‐
805       ing a request. This includes proxying requests to a user api-server and
806       calling out to webhook admission plugins. It is expected that this cert
807       includes a signature from the CA in the  --requestheader-client-ca-file
808       flag.  That CA is published in the 'extension-apiserver-authentication'
809       configmap in the kube-system namespace. Components receiving calls from
810       kube-aggregator  should use that CA to perform their half of the mutual
811       TLS verification.
812
813
814       --proxy-client-key-file=""      Private key for the client  certificate
815       used  to prove the identity of the aggregator or kube-apiserver when it
816       must call out during a request. This includes proxying  requests  to  a
817       user api-server and calling out to webhook admission plugins.
818
819
820       --request-timeout=1m0s      An optional field indicating the duration a
821       handler must keep a request open before timing it out. This is the  de‐
822       fault  request timeout for requests but may be overridden by flags such
823       as --min-request-timeout for specific types of requests.
824
825
826       --requestheader-allowed-names=[]      List of client certificate common
827       names  to allow to provide usernames in headers specified by --request‐
828       header-username-headers. If empty, any client certificate validated  by
829       the authorities in --requestheader-client-ca-file is allowed.
830
831
832       --requestheader-client-ca-file=""       Root  certificate bundle to use
833       to verify client certificates  on  incoming  requests  before  trusting
834       usernames  in  headers  specified  by --requestheader-username-headers.
835       WARNING: generally do not depend on authorization  being  already  done
836       for incoming requests.
837
838
839       --requestheader-extra-headers-prefix=[]       List  of  request  header
840       prefixes to inspect. X-Remote-Extra- is suggested.
841
842
843       --requestheader-group-headers=[]      List of request  headers  to  in‐
844       spect for groups. X-Remote-Group is suggested.
845
846
847       --requestheader-username-headers=[]      List of request headers to in‐
848       spect for usernames. X-Remote-User is common.
849
850
851       --runtime-config=      A set of key=value pairs that enable or  disable
852       built-in  APIs.  Supported  options are: v1=true|false for the core API
853       group  /=true|false  for  a  specific  API  group  and  version   (e.g.
854       apps/v1=true)    api/all=true|false    controls    all   API   versions
855       api/ga=true|false  controls  all  API  versions  of  the  form  v[0-9]+
856       api/beta=true|false   controls   all   API   versions   of   the   form
857       v[0-9]+beta[0-9]+ api/alpha=true|false controls all API versions of the
858       form  v[0-9]+alpha[0-9]+  api/legacy is deprecated, and will be removed
859       in a future version
860
861
862       --secure-port=6443      The port on which to serve HTTPS with authenti‐
863       cation and authorization. It cannot be switched off with 0.
864
865
866       --service-account-api-audiences=[]       Identifiers  of  the  API. The
867       service account token authenticator  will  validate  that  tokens  used
868       against the API are bound to at least one of these audiences.
869
870
871       --service-account-extend-token-expiration=true       Turns on projected
872       service account expiration extension  during  token  generation,  which
873       helps  safe transition from legacy token to bound service account token
874       feature. If this flag is enabled, admission injected  tokens  would  be
875       extended  up to 1 year to prevent unexpected failure during transition,
876       ignoring value of service-account-max-token-expiration.
877
878
879       --service-account-issuer=""      Identifier of the service account  to‐
880       ken  issuer.  The  issuer will assert this identifier in "iss" claim of
881       issued tokens. This value is a string or URI. If this option is  not  a
882       valid  URI  per  the  OpenID  Discovery 1.0 spec, the ServiceAccountIs‐
883       suerDiscovery feature will remain disabled, even if the feature gate is
884       set  to  true. It is highly recommended that this value comply with the
885       OpenID      spec:       https://openid.net/specs/openid-connect-discov
886       ery-1_0.html.  In practice, this means that service-account-issuer must
887       be an https URL. It is also highly recommended that this URL be capable
888       of   serving   OpenID   discovery   documents  at  {service-account-is‐
889       suer}/.well-known/openid-configuration.
890
891
892       --service-account-jwks-uri=""      Overrides the URI for the  JSON  Web
893       Key  Set  in the discovery doc served at /.well-known/openid-configura‐
894       tion. This flag is useful if the discovery docand key set are served to
895       relying  parties  from  a  URL other than the API server's external (as
896       auto-detected or overridden with external-hostname). Only valid if  the
897       ServiceAccountIssuerDiscovery feature gate is enabled.
898
899
900       --service-account-key-file=[]      File containing PEM-encoded x509 RSA
901       or ECDSA private or public keys, used to verify ServiceAccount  tokens.
902       The specified file can contain multiple keys, and the flag can be spec‐
903       ified multiple times with different files. If  unspecified,  --tls-pri‐
904       vate-key-file  is  used. Must be specified when --service-account-sign‐
905       ing-key is provided
906
907
908       --service-account-lookup=true      If true, validate ServiceAccount to‐
909       kens exist in etcd as part of authentication.
910
911
912       --service-account-max-token-expiration=0s      The maximum validity du‐
913       ration of a token created by the service account token  issuer.  If  an
914       otherwise  valid TokenRequest with a validity duration larger than this
915       value is requested, a token will be issued with a validity duration  of
916       this value.
917
918
919       --service-account-signing-key-file=""       Path  to the file that con‐
920       tains the current private key of the service account token issuer.  The
921       issuer will sign issued ID tokens with this private key.
922
923
924       --service-cluster-ip-range=""       A CIDR notation IP range from which
925       to assign service cluster IPs. This must not overlap with any IP ranges
926       assigned to nodes or pods. Max of two dual-stack CIDRs is allowed.
927
928
929       --service-node-port-range=30000-32767       A port range to reserve for
930       services with NodePort visibility. Example: '30000-32767'. Inclusive at
931       both ends of the range.
932
933
934       --show-hidden-metrics-for-version=""        The  previous  version  for
935       which you want to show hidden metrics. Only the previous minor  version
936       is meaningful, other values will not be allowed. The format is ., e.g.:
937       '1.16'. The purpose of this format is make sure you have  the  opportu‐
938       nity  to  notice  if  the next release hides additional metrics, rather
939       than being surprised when they are permanently removed in  the  release
940       after that.
941
942
943       --shutdown-delay-duration=0s      Time to delay the termination. During
944       that time the server keeps serving  requests  normally.  The  endpoints
945       /healthz  and  /livez  will return success, but /readyz immediately re‐
946       turns  failure.  Graceful  termination  starts  after  this  delay  has
947       elapsed.  This can be used to allow load balancer to stop sending traf‐
948       fic to this server.
949
950
951       --skip_headers=false      If true, avoid header  prefixes  in  the  log
952       messages
953
954
955       --skip_log_headers=false       If  true, avoid headers when opening log
956       files
957
958
959       --ssh-keyfile=""      If non-empty, use secure SSH proxy to the  nodes,
960       using this user keyfile
961
962
963       --ssh-user=""      If non-empty, use secure SSH proxy to the nodes, us‐
964       ing this user name
965
966
967       --stderrthreshold=2      logs at or above this threshold go to stderr
968
969
970       --storage-backend=""      The storage backend for persistence. Options:
971       'etcd3' (default).
972
973
974       --storage-media-type="application/vnd.kubernetes.protobuf"      The me‐
975       dia type to use to store objects in storage. Some resources or  storage
976       backends  may  only  support a specific media type and will ignore this
977       setting.
978
979
980       --strict-transport-security-directives=[]      List of  directives  for
981       HSTS, comma separated. If this list is empty, then HSTS directives will
982       not be added. Example: 'max-age=31536000,includeSubDomains,preload'
983
984
985       --target-ram-mb=0      DEPRECATED: Memory limit  for  apiserver  in  MB
986       (used to configure sizes of caches, etc.)
987
988
989       --tls-cert-file=""       File  containing  the default x509 Certificate
990       for HTTPS. (CA cert, if any, concatenated after server cert). If  HTTPS
991       serving  is enabled, and --tls-cert-file and --tls-private-key-file are
992       not provided, a self-signed certificate and key are generated  for  the
993       public address and saved to the directory specified by --cert-dir.
994
995
996       --tls-cipher-suites=[]       Comma-separated  list of cipher suites for
997       the server. If omitted, the default Go  cipher  suites  will  be  used.
998       Preferred   values:   TLS_AES_128_GCM_SHA256,   TLS_AES_256_GCM_SHA384,
999       TLS_CHACHA20_POLY1305_SHA256,     TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA,
1000       TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,
1001       TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA,
1002       TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,
1003       TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,
1004       TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256,
1005       TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA,
1006       TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,
1007       TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,
1008       TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,
1009       TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,
1010       TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,
1011       TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256,
1012       TLS_RSA_WITH_3DES_EDE_CBC_SHA,            TLS_RSA_WITH_AES_128_CBC_SHA,
1013       TLS_RSA_WITH_AES_128_GCM_SHA256,          TLS_RSA_WITH_AES_256_CBC_SHA,
1014       TLS_RSA_WITH_AES_256_GCM_SHA384.             Insecure           values:
1015       TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,
1016       TLS_ECDHE_ECDSA_WITH_RC4_128_SHA,
1017       TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,  TLS_ECDHE_RSA_WITH_RC4_128_SHA,
1018       TLS_RSA_WITH_AES_128_CBC_SHA256, TLS_RSA_WITH_RC4_128_SHA.
1019
1020
1021       --tls-min-version=""       Minimum TLS version supported. Possible val‐
1022       ues: VersionTLS10, VersionTLS11, VersionTLS12, VersionTLS13
1023
1024
1025       --tls-private-key-file=""      File containing the default x509 private
1026       key matching --tls-cert-file.
1027
1028
1029       --tls-sni-cert-key=[]       A  pair of x509 certificate and private key
1030       file paths, optionally suffixed with a list of  domain  patterns  which
1031       are  fully qualified domain names, possibly with prefixed wildcard seg‐
1032       ments. The domain patterns also allow IP addresses, but IPs should only
1033       be  used if the apiserver has visibility to the IP address requested by
1034       a client. If no domain patterns are provided, the names of the certifi‐
1035       cate  are  extracted. Non-wildcard matches trump over wildcard matches,
1036       explicit domain patterns  trump  over  extracted  names.  For  multiple
1037       key/certificate pairs, use the --tls-sni-cert-key multiple times. Exam‐
1038       ples: "example.crt,example.key" or "foo.crt,foo.key:*.foo.com,foo.com".
1039
1040
1041       --token-auth-file=""      If set, the file that will be used to  secure
1042       the secure port of the API server via token authentication.
1043
1044
1045       -v, --v=0      number for the log level verbosity
1046
1047
1048       --version=false      Print version information and quit
1049
1050
1051       --vmodule=        comma-separated   list   of  pattern=N  settings  for
1052       file-filtered logging
1053
1054
1055       --watch-cache=true      Enable watch caching in the apiserver
1056
1057
1058       --watch-cache-sizes=[]      Watch cache  size  settings  for  some  re‐
1059       sources  (pods,  nodes,  etc.), comma separated. The individual setting
1060       format: resource[.group]#size, where resource is lowercase  plural  (no
1061       version),  group  is omitted for resources of apiVersion v1 (the legacy
1062       core API) and included for others, and size is a number. It  takes  ef‐
1063       fect  when  watch-cache  is  enabled.  Some  resources (replicationcon‐
1064       trollers, endpoints, nodes,  pods,  services,  apiservices.apiregistra‐
1065       tion.k8s.io)  have system defaults set by heuristics, others default to
1066       default-watch-cache-size
1067
1068
1069

HISTORY

1071       January 2015, Originally compiled by Eric Paris (eparis at  redhat  dot
1072       com)  based  on the kubernetes source material, but hopefully they have
1073       been automatically generated since!
1074
1075
1076
1077Manuals                              User            KUBERNETES(1)(kubernetes)
Impressum