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       --admission-control=[]      Admission is divided into  two  phases.  In
28       the  first  phase,  only  mutating admission plugins run. In the second
29       phase, only validating admission plugins run. The names  in  the  below
30       list may represent a validating plugin, a mutating plugin, or both. The
31       order of plugins in which they are passed to this flag does not matter.
32       Comma-delimited  list  of:  AlwaysAdmit,  AlwaysDeny, AlwaysPullImages,
33       CertificateApproval, CertificateSigning, CertificateSubjectRestriction,
34       ClusterTrustBundleAttest, DefaultIngressClass, DefaultStorageClass, De‐
35       faultTolerationSeconds, DenyServiceExternalIPs, EventRateLimit, Extend‐
36       edResourceToleration,   ImagePolicyWebhook,   LimitPodHardAntiAffinity‐
37       Topology,  LimitRanger,  MutatingAdmissionWebhook,  NamespaceAutoProvi‐
38       sion, NamespaceExists, NamespaceLifecycle, NodeRestriction, OwnerRefer‐
39       encesPermissionEnforcement, PersistentVolumeClaimResize, PersistentVol‐
40       umeLabel,  PodNodeSelector, PodSecurity, PodTolerationRestriction, Pri‐
41       ority,  ResourceQuota,  RuntimeClass,  SecurityContextDeny,  ServiceAc‐
42       count,  StorageObjectInUseProtection, TaintNodesByCondition, Validatin‐
43       gAdmissionPolicy, ValidatingAdmissionWebhook.
44
45
46       --admission-control-config-file=""       File  with  admission  control
47       configuration.
48
49
50       --advertise-address=       The  IP  address  on  which to advertise the
51       apiserver to members of the cluster. This address must be reachable  by
52       the  rest of the cluster. If blank, the --bind-address will be used. If
53       --bind-address is unspecified, the host's  default  interface  will  be
54       used.
55
56
57       --aggregator-reject-forwarding-redirect=true        Aggregator   reject
58       forwarding redirect response back to client.
59
60
61       --allow-metric-labels=[]      The map from metric-label to value allow-
62       list  of  this  label.  The  key's  format  is ,. The value's format is
63       ,...e.g.  metric1,label1='v1,v2,v3',   metric1,label2='v1,v2,v3'   met‐
64       ric2,label1='v1,v2,v3'.
65
66
67       --allow-privileged=false       If  true,  allow  privileged containers.
68       [default=false]
69
70
71       --anonymous-auth=true      Enables anonymous  requests  to  the  secure
72       port  of  the API server. Requests that are not rejected by another au‐
73       thentication method are treated as anonymous  requests.  Anonymous  re‐
74       quests  have  a  username of system:anonymous, and a group name of sys‐
75       tem:unauthenticated.
76
77
78       --api-audiences=[]      Identifiers of the API. The service account to‐
79       ken  authenticator  will  validate that tokens used against the API are
80       bound to at least one of these audiences. If the  --service-account-is‐
81       suer  flag is configured and this flag is not, this field defaults to a
82       single element list containing the issuer URL.
83
84
85       --apiserver-count=1      The number of apiservers running in the  clus‐
86       ter,  must  be  a  positive number. (In use when --endpoint-reconciler-
87       type=master-count is enabled.)
88
89
90       --audit-log-batch-buffer-size=10000      The  size  of  the  buffer  to
91       store events before batching and writing. Only used in batch mode.
92
93
94       --audit-log-batch-max-size=1       The  maximum  size  of a batch. Only
95       used in batch mode.
96
97
98       --audit-log-batch-max-wait=0s      The amount of time  to  wait  before
99       force  writing the batch that hadn't reached the max size. Only used in
100       batch mode.
101
102
103       --audit-log-batch-throttle-burst=0      Maximum number of requests sent
104       at the same moment if ThrottleQPS was not utilized before. Only used in
105       batch mode.
106
107
108       --audit-log-batch-throttle-enable=false       Whether  batching  throt‐
109       tling is enabled. Only used in batch mode.
110
111
112       --audit-log-batch-throttle-qps=0      Maximum average number of batches
113       per second. Only used in batch mode.
114
115
116       --audit-log-compress=false      If set, the rotated log files  will  be
117       compressed using gzip.
118
119
120       --audit-log-format="json"       Format  of saved audits. "legacy" indi‐
121       cates 1-line text format for each event.  "json"  indicates  structured
122       json format. Known formats are legacy,json.
123
124
125       --audit-log-maxage=0       The maximum number of days to retain old au‐
126       dit log files based on the timestamp encoded in their filename.
127
128
129       --audit-log-maxbackup=0      The maximum number of old audit log  files
130       to retain. Setting a value of 0 will mean there's no restriction on the
131       number of files.
132
133
134       --audit-log-maxsize=0      The maximum size in megabytes of  the  audit
135       log file before it gets rotated.
136
137
138       --audit-log-mode="blocking"       Strategy  for  sending  audit events.
139       Blocking indicates sending events should block server responses.  Batch
140       causes  the  backend  to  buffer and write events asynchronously. Known
141       modes are batch,blocking,blocking-strict.
142
143
144       --audit-log-path=""      If set, all requests coming to  the  apiserver
145       will be logged to this file.  '-' means standard out.
146
147
148       --audit-log-truncate-enabled=false       Whether  event and batch trun‐
149       cating is enabled.
150
151
152       --audit-log-truncate-max-batch-size=10485760      Maximum size  of  the
153       batch  sent  to  the  underlying backend. Actual serialized size can be
154       several hundreds of bytes greater. If a batch exceeds this limit, it is
155       split into several batches of smaller size.
156
157
158       --audit-log-truncate-max-event-size=102400      Maximum size of the au‐
159       dit event sent to the underlying backend. If the size of  an  event  is
160       greater  than  this number, first request and response are removed, and
161       if this doesn't reduce the size enough, event is discarded.
162
163
164       --audit-log-version="audit.k8s.io/v1"      API group and  version  used
165       for serializing audit events written to log.
166
167
168       --audit-policy-file=""       Path  to  the  file that defines the audit
169       policy configuration.
170
171
172       --audit-webhook-batch-buffer-size=10000      The size of the buffer  to
173       store events before batching and writing. Only used in batch mode.
174
175
176       --audit-webhook-batch-initial-backoff=10s       The  amount  of time to
177       wait before retrying the first failed request.
178
179
180       --audit-webhook-batch-max-size=400      The maximum size  of  a  batch.
181       Only used in batch mode.
182
183
184       --audit-webhook-batch-max-wait=30s       The amount of time to wait be‐
185       fore force writing the batch that hadn't reached  the  max  size.  Only
186       used in batch mode.
187
188
189       --audit-webhook-batch-throttle-burst=15      Maximum number of requests
190       sent at the same moment if ThrottleQPS was not  utilized  before.  Only
191       used in batch mode.
192
193
194       --audit-webhook-batch-throttle-enable=true      Whether batching throt‐
195       tling is enabled. Only used in batch mode.
196
197
198       --audit-webhook-batch-throttle-qps=10      Maximum  average  number  of
199       batches per second. Only used in batch mode.
200
201
202       --audit-webhook-config-file=""      Path to a kubeconfig formatted file
203       that defines the audit webhook configuration.
204
205
206       --audit-webhook-initial-backoff=10s      The amount of time to wait be‐
207       fore retrying the first failed request.
208
209
210       --audit-webhook-mode="batch"       Strategy  for  sending audit events.
211       Blocking indicates sending events should block server responses.  Batch
212       causes  the  backend  to  buffer and write events asynchronously. Known
213       modes are batch,blocking,blocking-strict.
214
215
216       --audit-webhook-truncate-enabled=false       Whether  event  and  batch
217       truncating is enabled.
218
219
220       --audit-webhook-truncate-max-batch-size=10485760       Maximum  size of
221       the batch sent to the underlying backend. Actual serialized size can be
222       several hundreds of bytes greater. If a batch exceeds this limit, it is
223       split into several batches of smaller size.
224
225
226       --audit-webhook-truncate-max-event-size=102400      Maximum size of the
227       audit  event sent to the underlying backend. If the size of an event is
228       greater than this number, first request and response are  removed,  and
229       if this doesn't reduce the size enough, event is discarded.
230
231
232       --audit-webhook-version="audit.k8s.io/v1"       API  group  and version
233       used for serializing audit events written to webhook.
234
235
236       --authentication-token-webhook-cache-ttl=2m0s       The   duration   to
237       cache responses from the webhook token authenticator.
238
239
240       --authentication-token-webhook-config-file=""       File  with  webhook
241       configuration for token authentication in kubeconfig  format.  The  API
242       server  will  query  the remote service to determine authentication for
243       bearer tokens.
244
245
246       --authentication-token-webhook-version="v1beta1"      The  API  version
247       of the authentication.k8s.io TokenReview to send to and expect from the
248       webhook.
249
250
251       --authorization-mode=[AlwaysAllow]      Ordered list of plug-ins to  do
252       authorization  on secure port. Comma-delimited list of: AlwaysAllow,Al‐
253       waysDeny,ABAC,Webhook,RBAC,Node.
254
255
256       --authorization-policy-file=""      File with authorization  policy  in
257       json  line  by line format, used with --authorization-mode=ABAC, on the
258       secure port.
259
260
261       --authorization-webhook-cache-authorized-ttl=5m0s      The duration  to
262       cache 'authorized' responses from the webhook authorizer.
263
264
265       --authorization-webhook-cache-unauthorized-ttl=30s      The duration to
266       cache 'unauthorized' responses from the webhook authorizer.
267
268
269       --authorization-webhook-config-file=""      File with webhook  configu‐
270       ration  in  kubeconfig  format, used with --authorization-mode=Webhook.
271       The API server will query the remote service to determine access on the
272       API server's secure port.
273
274
275       --authorization-webhook-version="v1beta1"       The  API version of the
276       authorization.k8s.io SubjectAccessReview to send to and expect from the
277       webhook.
278
279
280       --azure-container-registry-config=""       Path  to the file containing
281       Azure container registry configuration information.
282
283
284       --bind-address=0.0.0.0      The IP address on which to listen  for  the
285       --secure-port  port.  The  associated interface(s) must be reachable by
286       the rest of the cluster, and by CLI/web clients. If blank or an unspec‐
287       ified address (0.0.0.0 or ::), all interfaces will be used.
288
289
290       --cert-dir="/var/run/kubernetes"      The directory where the TLS certs
291       are located. If --tls-cert-file  and  --tls-private-key-file  are  pro‐
292       vided, this flag will be ignored.
293
294
295       --client-ca-file=""       If  set, any request presenting a client cer‐
296       tificate signed by one of the authorities in the client-ca-file is  au‐
297       thenticated  with  an  identity  corresponding to the CommonName of the
298       client certificate.
299
300
301       --cloud-config=""      The path to  the  cloud  provider  configuration
302       file. Empty string for no configuration file.
303
304
305       --cloud-provider=""       The provider for cloud services. Empty string
306       for no provider.
307
308
309       --cloud-provider-gce-l7lb-src-cidrs=130.211.0.0/22,35.191.0.0/16
310            CIDRs  opened  in  GCE  firewall  for L7 LB traffic proxy & health
311       checks
312
313
314       --cloud-provider-gce-lb-src-
315       cidrs=130.211.0.0/22,209.85.152.0/22,209.85.204.0/22,35.191.0.0/16
316            CIDRs opened in GCE firewall for L4  LB  traffic  proxy  &  health
317       checks
318
319
320       --contention-profiling=false       Enable block profiling, if profiling
321       is enabled
322
323
324       --cors-allowed-origins=[]      List of allowed origins for CORS,  comma
325       separated.  An  allowed  origin  can be a regular expression to support
326       subdomain matching. If this list is empty CORS  will  not  be  enabled.
327       Please  ensure each expression matches the entire hostname by anchoring
328       to the start with '^' or including the '//' prefix, and by anchoring to
329       the  end  with '$' or including the ':' port separator suffix. Examples
330       of  valid  expressions  are  '//example.com(:|$)'  and  '^https://exam
331       ple.com(:|$)'
332
333
334       --debug-socket-path=""       Use  an unprotected (no authn/authz) unix-
335       domain socket for profiling with the given path
336
337
338       --default-not-ready-toleration-seconds=300      Indicates  the  tolera‐
339       tionSeconds  of  the toleration for notReady:NoExecute that is added by
340       default to every pod that does not already have such a toleration.
341
342
343       --default-unreachable-toleration-seconds=300      Indicates the tolera‐
344       tionSeconds  of  the toleration for unreachable:NoExecute that is added
345       by default to every pod that does not already have such a toleration.
346
347
348       --default-watch-cache-size=100      Default watch cache size. If  zero,
349       watch  cache  will be disabled for resources that do not have a default
350       watch size set.
351
352
353       --delete-collection-workers=1       Number  of  workers   spawned   for
354       DeleteCollection call. These are used to speed up namespace cleanup.
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, Pod‐
360       Security,  Priority,   DefaultTolerationSeconds,   DefaultStorageClass,
361       StorageObjectInUseProtection,   PersistentVolumeClaimResize,   Runtime‐
362       Class, CertificateApproval,  CertificateSigning,  ClusterTrustBundleAt‐
363       test,  CertificateSubjectRestriction,  DefaultIngressClass, MutatingAd‐
364       missionWebhook, ValidatingAdmissionPolicy,  ValidatingAdmissionWebhook,
365       ResourceQuota). Comma-delimited list of admission plugins: AlwaysAdmit,
366       AlwaysDeny, AlwaysPullImages, CertificateApproval,  CertificateSigning,
367       CertificateSubjectRestriction,   ClusterTrustBundleAttest,   DefaultIn‐
368       gressClass, DefaultStorageClass, DefaultTolerationSeconds, DenyService‐
369       ExternalIPs,  EventRateLimit,  ExtendedResourceToleration, ImagePolicy‐
370       Webhook, LimitPodHardAntiAffinityTopology, LimitRanger,  MutatingAdmis‐
371       sionWebhook,  NamespaceAutoProvision, NamespaceExists, NamespaceLifecy‐
372       cle,  NodeRestriction,  OwnerReferencesPermissionEnforcement,   Persis‐
373       tentVolumeClaimResize, PersistentVolumeLabel, PodNodeSelector, PodSecu‐
374       rity, PodTolerationRestriction, Priority, ResourceQuota,  RuntimeClass,
375       SecurityContextDeny,    ServiceAccount,   StorageObjectInUseProtection,
376       TaintNodesByCondition, ValidatingAdmissionPolicy,  ValidatingAdmission‐
377       Webhook. The order of plugins in this flag does not matter.
378
379
380       --disabled-metrics=[]       This flag provides an escape hatch for mis‐
381       behaving metrics. You must provide the fully qualified metric  name  in
382       order  to disable it. Disclaimer: disabling metrics is higher in prece‐
383       dence than showing hidden metrics.
384
385
386       --egress-selector-config-file=""      File with apiserver egress selec‐
387       tor configuration.
388
389
390       --enable-admission-plugins=[]      admission plugins that should be en‐
391       abled in addition to default enabled  ones  (NamespaceLifecycle,  Limi‐
392       tRanger,  ServiceAccount, TaintNodesByCondition, PodSecurity, Priority,
393       DefaultTolerationSeconds,  DefaultStorageClass,  StorageObjectInUsePro‐
394       tection,   PersistentVolumeClaimResize,   RuntimeClass,  CertificateAp‐
395       proval, CertificateSigning,  ClusterTrustBundleAttest,  CertificateSub‐
396       jectRestriction,  DefaultIngressClass,  MutatingAdmissionWebhook, Vali‐
397       datingAdmissionPolicy,   ValidatingAdmissionWebhook,    ResourceQuota).
398       Comma-delimited list of admission plugins: AlwaysAdmit, AlwaysDeny, Al‐
399       waysPullImages, CertificateApproval,  CertificateSigning,  Certificate‐
400       SubjectRestriction,  ClusterTrustBundleAttest, DefaultIngressClass, De‐
401       faultStorageClass,  DefaultTolerationSeconds,   DenyServiceExternalIPs,
402       EventRateLimit,  ExtendedResourceToleration, ImagePolicyWebhook, Limit‐
403       PodHardAntiAffinityTopology,   LimitRanger,   MutatingAdmissionWebhook,
404       NamespaceAutoProvision,  NamespaceExists,  NamespaceLifecycle,  NodeRe‐
405       striction, OwnerReferencesPermissionEnforcement, PersistentVolumeClaim‐
406       Resize, PersistentVolumeLabel, PodNodeSelector, PodSecurity, PodTolera‐
407       tionRestriction, Priority,  ResourceQuota,  RuntimeClass,  SecurityCon‐
408       textDeny,  ServiceAccount,  StorageObjectInUseProtection, TaintNodesBy‐
409       Condition, ValidatingAdmissionPolicy,  ValidatingAdmissionWebhook.  The
410       order of plugins in this flag does not matter.
411
412
413       --enable-aggregator-routing=false       Turns on aggregator routing re‐
414       quests to endpoints IP rather than cluster IP.
415
416
417       --enable-bootstrap-token-auth=false      Enable  to  allow  secrets  of
418       type  'bootstrap.kubernetes.io/token' in the 'kube-system' namespace to
419       be used for TLS bootstrapping authentication.
420
421
422       --enable-garbage-collector=true      Enables the generic  garbage  col‐
423       lector.  MUST  be  synced  with the corresponding flag of the kube-con‐
424       troller-manager.
425
426
427       --enable-logs-handler=true      If true, install a  /logs  handler  for
428       the apiserver logs.
429
430
431       --enable-priority-and-fairness=true       If  true  and  the  APIPrior‐
432       ityAndFairness feature gate is enabled, replace the max-in-flight  han‐
433       dler  with an enhanced one that queues and dispatches with priority and
434       fairness
435
436
437       --encryption-provider-config=""      The file containing  configuration
438       for encryption providers to be used for storing secrets in etcd
439
440
441       --encryption-provider-config-automatic-reload=false       Determines if
442       the file set by --encryption-provider-config  should  be  automatically
443       reloaded if the disk contents change. Setting this to true disables the
444       ability to uniquely identify distinct KMS plugins via  the  API  server
445       healthz endpoints.
446
447
448       --endpoint-reconciler-type="lease"        Use  an  endpoint  reconciler
449       (master-count, lease, none) master-count is deprecated, and will be re‐
450       moved in a future version.
451
452
453       --etcd-cafile=""       SSL  Certificate  Authority  file used to secure
454       etcd communication.
455
456
457       --etcd-certfile=""      SSL certification file used to secure etcd com‐
458       munication.
459
460
461       --etcd-compaction-interval=5m0s       The  interval  of  compaction re‐
462       quests. If 0, the compaction request from apiserver is disabled.
463
464
465       --etcd-count-metric-poll-period=1m0s      Frequency of polling etcd for
466       number of resources per type. 0 disables the metric collection.
467
468
469       --etcd-db-metric-poll-interval=30s       The  interval  of  requests to
470       poll etcd and update metric. 0 disables the metric collection
471
472
473       --etcd-healthcheck-timeout=2s      The timeout  to  use  when  checking
474       etcd health.
475
476
477       --etcd-keyfile=""      SSL key file used to secure etcd communication.
478
479
480       --etcd-prefix="/registry"       The  prefix  to prepend to all resource
481       paths in etcd.
482
483
484       --etcd-readycheck-timeout=2s      The timeout to use when checking etcd
485       readiness
486
487
488       --etcd-servers=[]        List   of   etcd   servers   to  connect  with
489       (scheme://ip:port), comma separated.
490
491
492       --etcd-servers-overrides=[]      Per-resource etcd  servers  overrides,
493       comma    separated.   The   individual   override   format:   group/re‐
494       source#servers, where servers are URLs, semicolon separated. Note  that
495       this applies only to resources compiled into this server binary.
496
497
498       --event-ttl=1h0m0s      Amount of time to retain events.
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) APISelfSubjectReview=true|false (BETA - default=true) APIS‐
511       erverIdentity=true|false   (BETA   -    default=true)    APIServerTrac‐
512       ing=true|false   (BETA   -   default=true)  AdmissionWebhookMatchCondi‐
513       tions=true|false  (ALPHA   -   default=false)   AggregatedDiscoveryEnd‐
514       point=true|false (BETA - default=true) AllAlpha=true|false (ALPHA - de‐
515       fault=false) AllBeta=true|false (BETA -  default=false)  AnyVolumeData‐
516       Source=true|false (BETA - default=true) AppArmor=true|false (BETA - de‐
517       fault=true)  CPUManagerPolicyAlphaOptions=true|false   (ALPHA   -   de‐
518       fault=false)   CPUManagerPolicyBetaOptions=true|false   (BETA   -   de‐
519       fault=true) CPUManagerPolicyOptions=true|false  (BETA  -  default=true)
520       CSIMigrationPortworx=true|false   (BETA   -   default=false)  CSIMigra‐
521       tionRBD=true|false    (ALPHA    -    default=false)    CSINodeExpandSe‐
522       cret=true|false (BETA - default=true) CSIVolumeHealth=true|false (ALPHA
523       - default=false) CloudControllerManagerWebhook=true|false (ALPHA -  de‐
524       fault=false)  CloudDualStackNodeIPs=true|false  (ALPHA - default=false)
525       ClusterTrustBundle=true|false   (ALPHA    -    default=false)    Compo‐
526       nentSLIs=true|false     (BETA     -    default=true)    ContainerCheck‐
527       point=true|false (ALPHA -  default=false)  ContextualLogging=true|false
528       (ALPHA  - default=false) CrossNamespaceVolumeDataSource=true|false (AL‐
529       PHA - default=false) CustomCPUCFSQuotaPeriod=true|false  (ALPHA  -  de‐
530       fault=false) CustomResourceValidationExpressions=true|false (BETA - de‐
531       fault=true) DisableCloudProviders=true|false  (ALPHA  -  default=false)
532       DisableKubeletCloudCredentialProviders=true|false    (ALPHA    -    de‐
533       fault=false)   DynamicResourceAllocation=true|false   (ALPHA   -    de‐
534       fault=false)  ElasticIndexedJob=true|false (BETA - default=true) Event‐
535       edPLEG=true|false (BETA -  default=false)  ExpandedDNSConfig=true|false
536       (BETA     -     default=true)     ExperimentalHostUserNamespaceDefault‐
537       ing=true|false (BETA -  default=false)  GracefulNodeShutdown=true|false
538       (BETA - default=true) GracefulNodeShutdownBasedOnPodPriority=true|false
539       (BETA  -  default=true)  HPAContainerMetrics=true|false  (BETA  -   de‐
540       fault=true)  HPAScaleToZero=true|false  (ALPHA  - default=false) Honor‐
541       PVReclaimPolicy=true|false (ALPHA -  default=false)  IPTablesOwnership‐
542       Cleanup=true|false   (BETA   -   default=true)  InPlacePodVerticalScal‐
543       ing=true|false   (ALPHA   -   default=false)    InTreePluginAWSUnregis‐
544       ter=true|false  (ALPHA  -  default=false) InTreePluginAzureDiskUnregis‐
545       ter=true|false (ALPHA  -  default=false)  InTreePluginAzureFileUnregis‐
546       ter=true|false    (ALPHA   -   default=false)   InTreePluginGCEUnregis‐
547       ter=true|false (ALPHA  -  default=false)  InTreePluginOpenStackUnregis‐
548       ter=true|false  (ALPHA  -  default=false)  InTreePluginPortworxUnregis‐
549       ter=true|false   (ALPHA   -   default=false)    InTreePluginRBDUnregis‐
550       ter=true|false   (ALPHA  -  default=false)  InTreePluginvSphereUnregis‐
551       ter=true|false (ALPHA -  default=false)  JobPodFailurePolicy=true|false
552       (BETA  -  default=true)  JobReadyPods=true|false  (BETA - default=true)
553       KMSv2=true|false    (BETA    -    default=true)     KubeletInUserNames‐
554       pace=true|false  (ALPHA - default=false) KubeletPodResources=true|false
555       (BETA  -  default=true)  KubeletPodResourcesDynamicResources=true|false
556       (ALPHA  - default=false) KubeletPodResourcesGet=true|false (ALPHA - de‐
557       fault=false) KubeletPodResourcesGetAllocatable=true|false (BETA  -  de‐
558       fault=true)  KubeletTracing=true|false (BETA - default=true) LegacySer‐
559       viceAccountTokenTracking=true|false (BETA - default=true) LocalStorage‐
560       CapacityIsolationFSQuotaMonitoring=true|false  (ALPHA  - default=false)
561       LogarithmicScaleDown=true|false (BETA -  default=true)  LoggingAlphaOp‐
562       tions=true|false  (ALPHA - default=false) LoggingBetaOptions=true|false
563       (BETA  -   default=true)   MatchLabelKeysInPodTopologySpread=true|false
564       (BETA - default=true) MaxUnavailableStatefulSet=true|false (ALPHA - de‐
565       fault=false)  MemoryManager=true|false  (BETA  -  default=true)   Memo‐
566       ryQoS=true|false   (ALPHA   -   default=false)   MinDomainsInPodTopolo‐
567       gySpread=true|false   (BETA   -    default=true)    MinimizeIPTablesRe‐
568       store=true|false    (BETA    -    default=true)   MultiCIDRRangeAlloca‐
569       tor=true|false   (ALPHA   -   default=false)    MultiCIDRServiceAlloca‐
570       tor=true|false  (ALPHA  - default=false) NetworkPolicyStatus=true|false
571       (ALPHA - default=false) NewVolumeManagerReconstruction=true|false (BETA
572       -    default=false)   NodeInclusionPolicyInPodTopologySpread=true|false
573       (BETA - default=true) NodeLogQuery=true|false (ALPHA  -  default=false)
574       NodeOutOfServiceVolumeDetach=true|false     (BETA    -    default=true)
575       NodeSwap=true|false  (ALPHA  -  default=false)  OpenAPIEnums=true|false
576       (BETA  - default=true) PDBUnhealthyPodEvictionPolicy=true|false (BETA -
577       default=true)  PodAndContainerStatsFromCRI=true|false  (ALPHA   -   de‐
578       fault=false)  PodDeletionCost=true|false  (BETA - default=true) PodDis‐
579       ruptionConditions=true|false (BETA - default=true)  PodHasNetworkCondi‐
580       tion=true|false    (ALPHA    -    default=false)    PodSchedulingReadi‐
581       ness=true|false   (BETA   -   default=true)    ProbeTerminationGracePe‐
582       riod=true|false (BETA - default=true) ProcMountType=true|false (ALPHA -
583       default=false)   ProxyTerminatingEndpoints=true|false   (BETA   -   de‐
584       fault=true) QOSReserved=true|false (ALPHA - default=false) ReadWriteOn‐
585       cePod=true|false  (BETA  -  default=true)   RecoverVolumeExpansionFail‐
586       ure=true|false  (ALPHA  -  default=false) RemainingItemCount=true|false
587       (BETA - default=true) RetroactiveDefaultStorageClass=true|false (BETA -
588       default=true)  RotateKubeletServerCertificate=true|false  (BETA  -  de‐
589       fault=true)   SELinuxMountReadWriteOncePod=true|false   (BETA   -   de‐
590       fault=false)  SecurityContextDeny=true|false  (ALPHA  -  default=false)
591       ServiceNodePortStaticSubrange=true|false (ALPHA - default=false)  Size‐
592       MemoryBackedVolumes=true|false  (BETA  -  default=true)  StableLoadBal‐
593       ancerNodeSet=true|false   (BETA    -    default=true)    StatefulSetAu‐
594       toDeletePVC=true|false   (BETA  -  default=true)  StatefulSetStartOrdi‐
595       nal=true|false (BETA - default=true) StorageVersionAPI=true|false  (AL‐
596       PHA   -   default=false)   StorageVersionHash=true|false  (BETA  -  de‐
597       fault=true) TopologyAwareHints=true|false (BETA - default=true) Topolo‐
598       gyManagerPolicyAlphaOptions=true|false  (ALPHA - default=false) Topolo‐
599       gyManagerPolicyBetaOptions=true|false (BETA - default=false)  Topology‐
600       ManagerPolicyOptions=true|false  (ALPHA - default=false) Unauthenticat‐
601       edHTTP2DOSMitigation=true|false  (BETA  -   default=false)   UserNames‐
602       pacesStatelessPodsSupport=true|false (ALPHA - default=false) Validatin‐
603       gAdmissionPolicy=true|false (ALPHA - default=false)  VolumeCapacityPri‐
604       ority=true|false  (ALPHA - default=false) WatchList=true|false (ALPHA -
605       default=false)  WinDSR=true|false  (ALPHA  -  default=false)   WinOver‐
606       lay=true|false (BETA - default=true) WindowsHostNetwork=true|false (AL‐
607       PHA - default=true)
608
609
610       --goaway-chance=0      To prevent HTTP/2 clients from getting stuck  on
611       a  single apiserver, randomly close a connection (GOAWAY). The client's
612       other in-flight requests won't be affected, and the client will  recon‐
613       nect,  likely  landing on a different apiserver after going through the
614       load balancer again. This argument sets the fraction of  requests  that
615       will  be sent a GOAWAY. Clusters with single apiservers, or which don't
616       use a load balancer, should NOT enable this. Min is 0 (off), Max is .02
617       (1/50 requests); .001 (1/1000) is a recommended starting point.
618
619
620       -h, --help=false      help for kube-apiserver
621
622
623       --http2-max-streams-per-connection=0       The  limit  that  the server
624       gives to clients for the maximum number of streams in an HTTP/2 connec‐
625       tion. Zero means to use golang's default.
626
627
628       --kubelet-certificate-authority=""       Path  to  a  cert file for the
629       certificate authority.
630
631
632       --kubelet-client-certificate=""      Path to a  client  cert  file  for
633       TLS.
634
635
636       --kubelet-client-key=""      Path to a client key file for TLS.
637
638
639       --kubelet-port=10250      DEPRECATED: kubelet port.
640
641
642       --kubelet-preferred-address-types=[Hostname,InternalDNS,InternalIP,Ex‐
643       ternalDNS,ExternalIP]      List of the  preferred  NodeAddressTypes  to
644       use for kubelet connections.
645
646
647       --kubelet-read-only-port=10255      DEPRECATED: kubelet read only port.
648
649
650       --kubelet-timeout=5s      Timeout for kubelet operations.
651
652
653       --kubernetes-service-node-port=0       If non-zero, the Kubernetes mas‐
654       ter service (which apiserver creates/maintains) will be of  type  Node‐
655       Port, using this as the value of the port. If zero, the Kubernetes mas‐
656       ter service will be of type ClusterIP.
657
658
659       --lease-reuse-duration-seconds=60      The time in  seconds  that  each
660       lease  is  reused.  A  lower  value could avoid large number of objects
661       reusing the same lease. Notice that a too small value may cause perfor‐
662       mance problems at storage layer.
663
664
665       --livez-grace-period=0s       This option represents the maximum amount
666       of time it should take for apiserver to complete its  startup  sequence
667       and  become  live.  From  apiserver's start time to when this amount of
668       time has elapsed, /livez will assume that unfinished  post-start  hooks
669       will complete successfully and therefore return true.
670
671
672       --log-flush-frequency=5s       Maximum  number  of  seconds between log
673       flushes
674
675
676       --logging-format="text"      Sets the log  format.  Permitted  formats:
677       "text".
678
679
680       --max-connection-bytes-per-sec=0       If  non-zero, throttle each user
681       connection to this number of bytes/sec. Currently only applies to long-
682       running requests.
683
684
685       --max-mutating-requests-inflight=200       This  and --max-requests-in‐
686       flight are summed to determine the  server's  total  concurrency  limit
687       (which  must  be  positive)  if --enable-priority-and-fairness is true.
688       Otherwise, this flag limits the maximum number of mutating requests  in
689       flight, or a zero value disables the limit completely.
690
691
692       --max-requests-inflight=400       This  and --max-mutating-requests-in‐
693       flight are summed to determine the  server's  total  concurrency  limit
694       (which  must  be  positive)  if --enable-priority-and-fairness is true.
695       Otherwise, this flag limits the maximum number of non-mutating requests
696       in flight, or a zero value disables the limit completely.
697
698
699       --min-request-timeout=1800       An optional field indicating the mini‐
700       mum number of seconds a handler must keep a request open before  timing
701       it  out.  Currently  only  honored  by the watch request handler, which
702       picks a randomized value above this number as the  connection  timeout,
703       to spread out load.
704
705
706       --oidc-ca-file=""       If set, the OpenID server's certificate will be
707       verified by one of the authorities in the oidc-ca-file,  otherwise  the
708       host's root CA set will be used.
709
710
711       --oidc-client-id=""       The  client ID for the OpenID Connect client,
712       must be set if oidc-issuer-url is set.
713
714
715       --oidc-groups-claim=""      If provided, the name of  a  custom  OpenID
716       Connect  claim  for specifying user groups. The claim value is expected
717       to be a string or array of strings. This flag is  experimental,  please
718       see the authentication documentation for further details.
719
720
721       --oidc-groups-prefix=""       If  provided, all groups will be prefixed
722       with this value to prevent conflicts with other authentication  strate‐
723       gies.
724
725
726       --oidc-issuer-url=""       The  URL  of  the  OpenID issuer, only HTTPS
727       scheme will be accepted. If set, it will be used  to  verify  the  OIDC
728       JSON Web Token (JWT).
729
730
731       --oidc-required-claim=       A key=value pair that describes a required
732       claim in the ID Token. If set, the claim is verified to be  present  in
733       the  ID Token with a matching value. Repeat this flag to specify multi‐
734       ple claims.
735
736
737       --oidc-signing-algs=[RS256]      Comma-separated list of  allowed  JOSE
738       asymmetric  signing algorithms. JWTs with a supported 'alg' header val‐
739       ues are: RS256, RS384, RS512, ES256, ES384, ES512, PS256, PS384, PS512.
740       Values are defined by RFC 7518 https://tools.ietf.org/html/rfc7518#sec‐
741       tion-3.1.
742
743
744       --oidc-username-claim="sub"      The OpenID claim to use  as  the  user
745       name. Note that claims other than the default ('sub') is not guaranteed
746       to be unique and immutable. This flag is experimental, please  see  the
747       authentication documentation for further details.
748
749
750       --oidc-username-prefix=""       If provided, all usernames will be pre‐
751       fixed with this value. If not  provided,  username  claims  other  than
752       'email'  are  prefixed  by the issuer URL to avoid clashes. To skip any
753       prefixing, provide the value '-'.
754
755
756       --permit-address-sharing=false      If true, SO_REUSEADDR will be  used
757       when binding the port. This allows binding to wildcard IPs like 0.0.0.0
758       and specific IPs in parallel, and it avoids waiting for the  kernel  to
759       release sockets in TIME_WAIT state. [default=false]
760
761
762       --permit-port-sharing=false       If  true,  SO_REUSEPORT  will be used
763       when binding the port, which allows more than one instance to  bind  on
764       the same address and port. [default=false]
765
766
767       --profiling=true       Enable profiling via web interface host:port/de‐
768       bug/pprof/
769
770
771       --proxy-client-cert-file=""      Client certificate used to  prove  the
772       identity of the aggregator or kube-apiserver when it must call out dur‐
773       ing a request. This includes proxying requests to a user api-server and
774       calling out to webhook admission plugins. It is expected that this cert
775       includes a signature from the CA in the  --requestheader-client-ca-file
776       flag.  That CA is published in the 'extension-apiserver-authentication'
777       configmap in the kube-system namespace. Components receiving calls from
778       kube-aggregator  should use that CA to perform their half of the mutual
779       TLS verification.
780
781
782       --proxy-client-key-file=""      Private key for the client  certificate
783       used  to prove the identity of the aggregator or kube-apiserver when it
784       must call out during a request. This includes proxying  requests  to  a
785       user api-server and calling out to webhook admission plugins.
786
787
788       --request-timeout=1m0s      An optional field indicating the duration a
789       handler must keep a request open before timing it out. This is the  de‐
790       fault  request timeout for requests but may be overridden by flags such
791       as --min-request-timeout for specific types of requests.
792
793
794       --requestheader-allowed-names=[]      List of client certificate common
795       names  to allow to provide usernames in headers specified by --request‐
796       header-username-headers. If empty, any client certificate validated  by
797       the authorities in --requestheader-client-ca-file is allowed.
798
799
800       --requestheader-client-ca-file=""       Root  certificate bundle to use
801       to verify client certificates  on  incoming  requests  before  trusting
802       usernames  in  headers  specified  by --requestheader-username-headers.
803       WARNING: generally do not depend on authorization  being  already  done
804       for incoming requests.
805
806
807       --requestheader-extra-headers-prefix=[]       List  of  request  header
808       prefixes to inspect. X-Remote-Extra- is suggested.
809
810
811       --requestheader-group-headers=[]      List of request  headers  to  in‐
812       spect for groups. X-Remote-Group is suggested.
813
814
815       --requestheader-username-headers=[]      List of request headers to in‐
816       spect for usernames. X-Remote-User is common.
817
818
819       --runtime-config=      A set of key=value pairs that enable or  disable
820       built-in  APIs.  Supported  options are: v1=true|false for the core API
821       group  /=true|false  for  a  specific  API  group  and  version   (e.g.
822       apps/v1=true)    api/all=true|false    controls    all   API   versions
823       api/ga=true|false  controls  all  API  versions  of  the  form  v[0-9]+
824       api/beta=true|false   controls   all   API   versions   of   the   form
825       v[0-9]+beta[0-9]+ api/alpha=true|false controls all API versions of the
826       form  v[0-9]+alpha[0-9]+  api/legacy is deprecated, and will be removed
827       in a future version
828
829
830       --secure-port=6443      The port on which to serve HTTPS with authenti‐
831       cation and authorization. It cannot be switched off with 0.
832
833
834       --service-account-extend-token-expiration=true       Turns on projected
835       service account expiration extension  during  token  generation,  which
836       helps  safe transition from legacy token to bound service account token
837       feature. If this flag is enabled, admission injected  tokens  would  be
838       extended  up to 1 year to prevent unexpected failure during transition,
839       ignoring value of service-account-max-token-expiration.
840
841
842       --service-account-issuer=[]      Identifier of the service account  to‐
843       ken  issuer.  The  issuer will assert this identifier in "iss" claim of
844       issued tokens. This value is a string or URI. If this option is  not  a
845       valid  URI  per  the  OpenID  Discovery 1.0 spec, the ServiceAccountIs‐
846       suerDiscovery feature will remain disabled, even if the feature gate is
847       set  to  true. It is highly recommended that this value comply with the
848       OpenID      spec:       https://openid.net/specs/openid-connect-discov
849       ery-1_0.html.  In practice, this means that service-account-issuer must
850       be an https URL. It is also highly recommended that this URL be capable
851       of   serving   OpenID   discovery   documents  at  {service-account-is‐
852       suer}/.well-known/openid-configuration. When  this  flag  is  specified
853       multiple  times,  the first is used to generate tokens and all are used
854       to determine which issuers are accepted.
855
856
857       --service-account-jwks-uri=""      Overrides the URI for the  JSON  Web
858       Key  Set  in the discovery doc served at /.well-known/openid-configura‐
859       tion. This flag is useful if the discovery docand key set are served to
860       relying  parties  from  a  URL other than the API server's external (as
861       auto-detected or overridden with external-hostname).
862
863
864       --service-account-key-file=[]      File containing PEM-encoded x509 RSA
865       or  ECDSA private or public keys, used to verify ServiceAccount tokens.
866       The specified file can contain multiple keys, and the flag can be spec‐
867       ified  multiple  times with different files. If unspecified, --tls-pri‐
868       vate-key-file is used. Must be specified  when  --service-account-sign‐
869       ing-key-file is provided
870
871
872       --service-account-lookup=true      If true, validate ServiceAccount to‐
873       kens exist in etcd as part of authentication.
874
875
876       --service-account-max-token-expiration=0s      The maximum validity du‐
877       ration  of  a  token created by the service account token issuer. If an
878       otherwise valid TokenRequest with a validity duration larger than  this
879       value  is requested, a token will be issued with a validity duration of
880       this value.
881
882
883       --service-account-signing-key-file=""      Path to the file  that  con‐
884       tains  the current private key of the service account token issuer. The
885       issuer will sign issued ID tokens with this private key.
886
887
888       --service-cluster-ip-range=""      A CIDR notation IP range from  which
889       to assign service cluster IPs. This must not overlap with any IP ranges
890       assigned to nodes or pods. Max of two dual-stack CIDRs is allowed.
891
892
893       --service-node-port-range=30000-32767      A port range to reserve  for
894       services  with  NodePort  visibility.   This  must not overlap with the
895       ephemeral port range on nodes.  Example:  '30000-32767'.  Inclusive  at
896       both ends of the range.
897
898
899       --show-hidden-metrics-for-version=""        The  previous  version  for
900       which you want to show hidden metrics. Only the previous minor  version
901       is meaningful, other values will not be allowed. The format is ., e.g.:
902       '1.16'. The purpose of this format is make sure you have  the  opportu‐
903       nity  to  notice  if  the next release hides additional metrics, rather
904       than being surprised when they are permanently removed in  the  release
905       after that.
906
907
908       --shutdown-delay-duration=0s      Time to delay the termination. During
909       that time the server keeps serving  requests  normally.  The  endpoints
910       /healthz  and  /livez  will return success, but /readyz immediately re‐
911       turns  failure.  Graceful  termination  starts  after  this  delay  has
912       elapsed.  This can be used to allow load balancer to stop sending traf‐
913       fic to this server.
914
915
916       --shutdown-send-retry-after=false      If true  the  HTTP  Server  will
917       continue listening until all non long running request(s) in flight have
918       been drained, during this window all incoming requests will be rejected
919       with a status code 429 and a 'Retry-After' response header, in addition
920       'Connection: close' response header is set in order to  tear  down  the
921       TCP connection when idle.
922
923
924       --shutdown-watch-termination-grace-period=0s       This option, if set,
925       represents the maximum amount of grace period the apiserver  will  wait
926       for  active  watch request(s) to drain during the graceful server shut‐
927       down window.
928
929
930       --storage-backend=""      The storage backend for persistence. Options:
931       'etcd3' (default).
932
933
934       --storage-media-type="application/vnd.kubernetes.protobuf"      The me‐
935       dia type to use to store objects in storage. Some resources or  storage
936       backends  may  only  support a specific media type and will ignore this
937       setting. Supported media  types:  [application/json,  application/yaml,
938       application/vnd.kubernetes.protobuf]
939
940
941       --strict-transport-security-directives=[]       List  of directives for
942       HSTS, comma separated. If this list is empty, then HSTS directives will
943       not be added. Example: 'max-age=31536000,includeSubDomains,preload'
944
945
946       --tls-cert-file=""       File  containing  the default x509 Certificate
947       for HTTPS. (CA cert, if any, concatenated after server cert). If  HTTPS
948       serving  is enabled, and --tls-cert-file and --tls-private-key-file are
949       not provided, a self-signed certificate and key are generated  for  the
950       public address and saved to the directory specified by --cert-dir.
951
952
953       --tls-cipher-suites=[]       Comma-separated  list of cipher suites for
954       the server. If omitted, the default Go  cipher  suites  will  be  used.
955       Preferred   values:   TLS_AES_128_GCM_SHA256,   TLS_AES_256_GCM_SHA384,
956       TLS_CHACHA20_POLY1305_SHA256,     TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA,
957       TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,
958       TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA,
959       TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,
960       TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,
961       TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256,
962       TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,
963       TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,
964       TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,
965       TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,
966       TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,
967       TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256,
968       TLS_RSA_WITH_AES_128_CBC_SHA,          TLS_RSA_WITH_AES_128_GCM_SHA256,
969       TLS_RSA_WITH_AES_256_CBC_SHA,  TLS_RSA_WITH_AES_256_GCM_SHA384.   Inse‐
970       cure          values:          TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,
971       TLS_ECDHE_ECDSA_WITH_RC4_128_SHA,  TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA,
972       TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,  TLS_ECDHE_RSA_WITH_RC4_128_SHA,
973       TLS_RSA_WITH_3DES_EDE_CBC_SHA,         TLS_RSA_WITH_AES_128_CBC_SHA256,
974       TLS_RSA_WITH_RC4_128_SHA.
975
976
977       --tls-min-version=""      Minimum TLS version supported. Possible  val‐
978       ues: VersionTLS10, VersionTLS11, VersionTLS12, VersionTLS13
979
980
981       --tls-private-key-file=""      File containing the default x509 private
982       key matching --tls-cert-file.
983
984
985       --tls-sni-cert-key=[]      A pair of x509 certificate and  private  key
986       file  paths,  optionally  suffixed with a list of domain patterns which
987       are fully qualified domain names, possibly with prefixed wildcard  seg‐
988       ments. The domain patterns also allow IP addresses, but IPs should only
989       be used if the apiserver has visibility to the IP address requested  by
990       a client. If no domain patterns are provided, the names of the certifi‐
991       cate are extracted. Non-wildcard matches trump over  wildcard  matches,
992       explicit  domain  patterns  trump  over  extracted  names. For multiple
993       key/certificate pairs, use the --tls-sni-cert-key multiple times. Exam‐
994       ples: "example.crt,example.key" or "foo.crt,foo.key:*.foo.com,foo.com".
995
996
997       --token-auth-file=""       If set, the file that will be used to secure
998       the secure port of the API server via token authentication.
999
1000
1001       --tracing-config-file=""      File with  apiserver  tracing  configura‐
1002       tion.
1003
1004
1005       -v, --v=0      number for the log level verbosity
1006
1007
1008       --version=false      Print version information and quit
1009
1010
1011       --vmodule=       comma-separated  list  of pattern=N settings for file-
1012       filtered logging (only works for text log format)
1013
1014
1015       --watch-cache=true      Enable watch caching in the apiserver
1016
1017
1018       --watch-cache-sizes=[]      Watch cache  size  settings  for  some  re‐
1019       sources  (pods,  nodes,  etc.), comma separated. The individual setting
1020       format: resource[.group]#size, where resource is lowercase  plural  (no
1021       version),  group  is omitted for resources of apiVersion v1 (the legacy
1022       core API) and included for others, and size is a number. This option is
1023       only  meaningful  for  resources built into the apiserver, not ones de‐
1024       fined by CRDs or aggregated from external servers,  and  is  only  con‐
1025       sulted  if the watch-cache is enabled. The only meaningful size setting
1026       to supply here is zero, which means to disable watch  caching  for  the
1027       associated resource; all non-zero values are equivalent and mean to not
1028       disable watch caching for that resource
1029
1030
1031

HISTORY

1033       January 2015, Originally compiled by Eric Paris (eparis at  redhat  dot
1034       com)  based  on the kubernetes source material, but hopefully they have
1035       been automatically generated since!
1036
1037
1038
1039Manuals                              User            KUBERNETES(1)(kubernetes)
Impressum