The **kubernetes** API server validates and configures data for 3 types of objects: pods, services, and replicationcontrollers. Beyond just servicing REST operations, the API Server does two other things as well: 1. Schedules pods to worker nodes. Right now the scheduler is very simple. 2. Synchronize pod information (where they are, what ports they are exposing) with the service configuration.
Ordered list of plug-ins to do admission control of resources into cluster. Comma-delimited list of: AlwaysDeny, AlwaysAdmit, ServiceAccount, NamespaceExists, NamespaceLifecycle, NamespaceAutoProvision, LimitRanger, SecurityContextDeny, ResourceQuota
The prefix for API requests on the server. Default '/api'.
**--api-rate**=10
API rate limit as QPS for the read only port
**--authorization-mode**="AlwaysAllow"
Selects how to do authorization on the secure port. One of: AlwaysAllow,AlwaysDeny,ABAC
**--authorization-policy-file**=""
File with authorization policy in csv format, used with --authorization-mode=ABAC, on the secure port.
**--basic-auth-file**=""
If set, the file that will be used to admit requests to the secure port of the API server via http basic authentication.
**--bind-address**=0.0.0.0
The IP address on which to serve the --read-only-port and --secure-port ports. This address must be reachable by the rest of the cluster. If blank, all interfaces will be used.
**--cert-dir**="/var/run/kubernetes"
The directory where the TLS certs are located (by default /var/run/kubernetes). If --tls-cert-file and --tls-private-key-file are provided, this flag will be ignored.
**--client-ca-file**=""
If set, any request presenting a client certificate signed by one of the authorities in the client-ca-file is authenticated with an identity corresponding to the CommonName of the client certificate.
**--cloud-config**=""
The path to the cloud provider configuration file. Empty string for no configuration file.
**--cloud-provider**=""
The provider for cloud services. Empty string for no provider.
**--cluster-name**="kubernetes"
The instance prefix for the cluster
**--cors-allowed-origins**=[]
List of allowed origins for CORS, comma separated. An allowed origin can be a regular expression to support subdomain matching. If this list is empty CORS will not be enabled.
**--etcd-config**=""
The config file for the etcd client. Mutually exclusive with -etcd-servers.
**--etcd-prefix**="/registry"
The prefix for all resource paths in etcd.
**--etcd-servers**=[]
List of etcd servers to watch (http://ip:port), comma separated. Mutually exclusive with -etcd-config
**--event-ttl**=1h0m0s
Amount of time to retain events. Default 1 hour.
**--external-hostname**=""
The hostname to use when generating externalized URLs for this master (e.g. Swagger API Docs.)
The port on which to serve unsecured, unauthenticated access. Default 8080. It is assumed that firewall rules are set up such that this port is not reachable from outside of the cluster and that port 443 on the cluster's public address is proxied to this port. This is performed by nginx in the default setup.
The port on which to serve read-only resources. If 0, don't serve read-only at all. It is assumed that firewall rules are set up such that this port is not reachable from outside of the cluster.
**--runtime-config**=
A set of key=value pairs that describe runtime configuration that may be passed to the apiserver. api/<version> key can be used to turn on/off specific api versions. api/all and api/legacy are special keys to control all and legacy api versions respectively.
**--secure-port**=6443
The port on which to serve HTTPS with authentication and authorization. If 0, don't serve HTTPS at all.
**--service-account-key-file**=""
File containing PEM-encoded x509 RSA private or public key, used to verify ServiceAccount tokens. If unspecified, --tls-private-key-file is used.
**--service-account-lookup**=false
If true, validate ServiceAccount tokens exist in etcd as part of authentication.
**--stderrthreshold**=2
logs at or above this threshold go to stderr
**--storage-version**=""
The version to store resources with. Defaults to server preferred
**--tls-cert-file**=""
File containing x509 Certificate for HTTPS. (CA cert, if any, concatenated after server cert). If HTTPS serving is enabled, and --tls-cert-file and --tls-private-key-file are not provided, a self-signed certificate and key are generated for the public address and saved to /var/run/kubernetes.