Interpretation kube-apiserver configuration parameters (kubernets version 1.12.0)
Here is kube-apiserver version 1.12.0 of all configurations, which I think is highlighted in bold Note Flag.
Flag | Comments |
--admission-control-config-file | admission control profile |
--advertise-address | Published IP address apiserver to the cluster members, members of the cluster address must be able to be accessed. If empty, the --bind-address, if --bind-address is not specified, Then use the host's default interface stiff. |
--allow-privileged | If true, allows the container to privileged mode. Default: false |
--anonymous-auth | Allow anonymous requests to the API server secure port. Other authentication methods are not rejected The request will be considered anonymous requests. Anonymous request system username: anonymous, system group name: unauthenticated. Default: true |
--apiserver-count | Apiserver number of running in the cluster must be a positive number. Default: 1 When using when enabled = master-count --endpoint-reconciler-type |
--audit-log-batch-buffer-size | The size of the previous batch and written in the memory event buffer, and only use a batch mode. Default value: 10000 |
--audit-log-batch-max-size | The maximum size of the batch. Only use batch mode. Default: 1 |
--audit-log-batch-max-wait | Mandatory write latency batch does not reach the maximum value. Only use batch mode |
--audit-log-batch-throttle-burst | Before ThrottleQPS not use the maximum number of simultaneous transmission request. Only use batch mode. |
--audit-log-batch-throttle-enable | Whether to enable batching throttling, only use a batch mode. |
--audit-log-batch-throttle-qps | The maximum number of batches per second on average, only use a batch mode. |
--audit-log-format | Save format audits. "Legacy" means that each event is a single-line text format. "Json" shows the structure of the json format. Format known as legacy, json. Default value: json |
--audit-log-maxage | According to the time stamp encoded in the file name, save the maximum number of days the audit log files. |
--audit-log-maxbackup | Save the maximum number of audit log files. |
--audit-log-maxsize | The maximum size of the audit log file before the transfer (in megabytes). |
--audit-log-mode | Strategies send audit events. Blocking expressed send events should block the server response, Batch will write buffer and asynchronous events at the back end. Known model for batch, blocking. Default value: blocking |
--audit-log-path | If set, all requests to apiserver will be recorded in this file. '-' means Written to standard output. |
--audit-log-truncate-enabled | Whether to enable events and batch truncation. |
--audit-log-truncate-max-batch-size | Sent to the bottom of the back end of the maximum batch size. The actual sequence can be of a large size of several hundred byte. If a lot more than this limit, they will be divided into several small batches. Default: 10485760 |
--audit-log-truncate-max-event-size | The maximum size of the audit events sent to the bottom of the back end. If the size of a single event more than this Value, the first request and the reply will be deleted if it is not reduced to a sufficient size, Event will be discarded. Default: 102400 |
--audit-log-version | API version for combination sequence of events written to the audit log. Default value: "audit.k8s.io/v1beta1" |
--audit-policy-file | Path defined audit policy configuration file |
--audit-webhook-batch-buffer-size | 批处理和写入之前的存储事件缓冲区的大小,只有批处理模式下使用。 默认值:10000 |
--audit-webhook-batch-max-size | 批次的最大尺寸。只有批处理模式下使用。默认值:400 |
--audit-webhook-batch-max-wait | 强制写入未达到最大值的batch的等待时间。只有批处理模式下使用 默认值:30s |
--audit-webhook-batch-throttle-burst | 在ThrottleQPS没有使用之前同时发送请求的最大数量。 只有批处理模式下使用。默认值:15 |
--audit-webhook-batch-throttle-enable | 是否启用batching throttling,只有批处理模式下使用。默认值:true |
--audit-webhook-batch-throttle-qps | 每秒最大平均批次数,只有批处理模式下使用。默认值:10 |
--audit-webhook-config-file | 定义审计webhook配置的一个kubeconfig格式的文件的路径 |
--audit-webhook-initial-backoff | 重试第一次失败请求的等待时间。默认值:10s |
--audit-webhook-mode | 发送审计事件的策略。Blocking表示发送事件应阻塞服务器响应, Batch会在后端异步缓冲和写入事件。已知的模式为batch,blocking。 默认值:blocking |
--audit-webhook-truncate-enabled | 是否启用事件和batch截断功能。 |
--audit-webhook-truncate-max-batch-size | 发送给底层后端的批处理最大大小。实际序列化的大小可以大几百 字节。如果一个批次超过这个限度,将被分为几个小批次。 默认值:10485760 |
--audit-webhook-truncate-max-event-size | 发送给底层后端的审计事件的最大尺寸。如果单个事件的尺寸超过这个 值,第一个请求和回复会被删除,如果还没有减少到足够的大小, 事件将被丢弃。默认值:102400 |
--audit-webhook-version |
用于序列化写入日志审计事件的API组合版本。 默认值: "audit.k8s.io/v1beta1" |
--authentication-token-webhook-cache-ttl | 从webhook token验证器缓存响应的持续时间,默认值:2m0s |
--authentication-token-webhook-config-file | 用于token身份验证的kubeconfig格式的webhook配置文件, API server将会查询远程服务器,以确定承载token的身份验证 |
--authorization-mode | 在安全端口上执行授权的有序的插件列表。默认值:AlwaysAllow 以逗号分隔的列表: AlwaysAllow,AlwaysDeny,ABAC,Webhook,RBAC,Node. |
--authorization-policy-file | csv格式的授权策略文件。与 --authorization-mode=ABAC一起使用 |
--authorization-webhook-cache-authorized-ttl | 缓存webhook授权器已授权响应的持续时间。默认值:5m0s |
--authorization-webhook-cache-unauthorized-ttl | 缓存webhook授权器未授权响应的持续时间。默认值:30s |
--authorization-webhook-config-file | kubeconfig格式的webhook配置文件, 和--authorization-mode=Webhook一起使用。 API server将查询远程服务,以确定对API server安全端口的访问。 |
-azure-container-registry-config | 包含Azure容器注册表配置信息的文件的路径。 |
--basic-auth-file | 如果设置,该文件用于通过http基本身份验证向API服务器的 安全端口接收请求的文件。 |
--bind-address | 监听安全端口的IP地址。关联的接口必须能被集群的其他部分 以及CLI/web客户机访问。 |
--cert-dir | TLS证书所在的目录。如果提供了--tls-cert-file 和 --tls-private-key-file,该参数会被忽略。 默认值:"/var/run/kubernetes" |
--client-ca-file | 如果设置,任何提交的客户ca文件中由某个权威机构签名的客户机 证书的请求都使用与客户机证书的公共名称相对应的身份进行身份 验证。 |
--cloud-config | Cloud provider配置文件的路径,如果为空表示没有配置文件。 |
--cloud-provider | 云服务提供商,控表示没有提供商。 |
--contention-profiling | 如果启用了profiling,则启用锁争用profiling |
--cors-allowed-origins | 以逗号分隔的允许CORS起源的列表。允许的起源可以是支持 子域匹配的正则表达式。如果该列表为空,表示启用CORS。 |
--default-watch-cache-size | 默认的watch缓存大小。如果是0,对于没有默认watch大小设置 的资源将不启用资源watch缓存。默认值:100 |
--delete-collection-workers | 为取消collection call而产生的worker数。用于加速namespace 清理。默认值:1 |
--deserialization-cache-size | 在内存中缓存反序列化json对象的数量。 |
--disable-admission-plugins | 应该禁用的admission插件,尽管它们在默认的启用插件列表。 |
--enable-admission-plugins | 除了默认启用的插件,还应该额外启动的admission插件 |
--enable-aggregator-routing | 打开aggregator路由请求到endpoints IP,而不是集群IP。 |
--enable-bootstrap-token-auth | 启用允许‘kube-system' namespace中的secrets类型的 'bootstrap.kubernetes.io/token'用于TLS引导身份验证。 |
--enable-garbage-collector | 启用通用的垃圾收集器。必须与kube-controller-manager 相应参数同步一致。默认值:true |
--enable-logs-handler | 如果true,安装一个logs handler给apiserver日志 |
--enable-swagger-ui | 在服务器上启用swagger ui |
--endpoint-reconciler-type | 使用endpoint协调器(master-count,lease(默认值),none) |
--etcd-cafile | 用于保护etcd通信的SSL证书权威文件。 |
--etcd-certfile | 用于保护etcd通信的SSL证书文件。 |
--etcd-compaction-interval | 压缩请求的时间。如果为0,来自apiserver的压缩请求被禁用了。 默认值:5m0s |
--etcd-count-metric-poll-period | 为每种类型的资源数量轮询etcd的频率。0表示禁用收集metric。 默认值:1m0s |
--etcd-keyfile | 用来保护etcd通信的SSL key文件 |
--etcd-prefix | etcd中所有资源路径的前缀。默认值:"/registry" |
--etcd-servers | 连接的etcd服务器列表(格式://ip:port),以逗号分隔 |
--etcd-servers-overrides | 以逗号分隔的,每个资源的etcd服务器覆盖。 |
--event-ttl | 保留时间的时间。默认值:1h0m0s |
--experimental-encryption-provider-config | 包含用于在etcd中存储secrets的加密提供程序的配置文件 |
--external-hostname | 为master生成外部url时使用的hostname |
--feature-gates | 用于描述alpha/实验特性的功能的一组键值对。 |
--http2-max-streams-per-connection | 服务器对HTTP/2连接中流的最大数量的限制, 0表示使用golang的默认值。 |
--kubelet-certificate-authority | 用于证书认证的证书文件路径 |
--kubelet-client-certificate | 用于TLS的客户端证书文件路径 |
--kubelet-client-key | 用于TLS的客户端私钥文件路径 |
--kubelet-https | kubelet通信使用https,默认值:true |
--kubelet-preferred-address-types | 为kubelet通信使用的首选NodeAddress 类型列表。默认值: [Hostname,InternalDNS,InternalIP,ExternalDNS,ExternalIP] |
--kubelet-read-only-port | 不建议配置,kubelet只读端口。默认值:10255 |
--kubelet-timeout | kubelet操作的超时时间,默认值:5s |
--kubernetes-service-node-port | 如果不是0,则Kubernetes master服务将是NodePort类型。 使用它作为端口的值。如果为0,Kubernetes master服务将 是ClusterIP类型。 |
--log-flush-frequency | 日志刷新之间的最大间隔。默认值:5s |
--master-service-namespace | 不建议配置,应该注入pod的Kubernetes master服务的命名空间 |
--max-connection-bytes-per-sec | 如果不为0,每个用户连接限制为这个数值的字节/秒数。 目前只适用于长时间运行的请求。 |
-max-mutating-requests-inflight | 在给定时间内飞行中的最大变异请求数。当服务器超过此限制, 将会拒绝请求。零表示没有限制。默认值:200 |
--max-requests-inflight | 在给定时间内飞行中的最大非变异请求数。当服务器超过此限制, 将会拒绝请求。零表示没有限制。默认值:400 |
--min-request-timeout | 一个可选字段,指示处理程序在发出请求之前必须保持请求打开 打开的最短时间。目前,只有watch请求处理程序(它选择这个数 字以上的一个随机值作为连接超时)才会分配负载。默认值:1800 |
--oidc-ca-file | 如果设置,OpenID服务的证书将由oidc-ca-file中的一个权威 机构进行验证,否则将使用主机的根证书集。 |
--oidc-client-id | OpenID连接客户的客户ID。如果oidc-issuer-url设置了, 则该参数也必须设置。 |
--oidc-groups-claim | 如果提供,用于指定用户组的自定义OpenID 连接声明的名称。 该声明值应该是字符串或者字符串数组。实验性参数 |
--oidc-groups-prefix | 如果提供,所有组都将一个该值作为前缀,以防止于其他身份 验证策略冲突。 |
--oidc-issuer-url | OpenID发布者的URL,只接受HTTPS。如果设置,将用于验证 OIDC JSON Web Token。 |
-oidc-required-claim | 一组描述ID Token中所需的声明的键值对。如果设置,该声明 将被验证为ID Token中存在的匹配值。重复此参数以指定多个 |
--oidc-signing-algs | 以逗号分隔的允许JOSE非对称签名算法的列表。如果以”alg” 开头的JWTs不在此列表中,则会被拒纳。默认值:RS256 |
--oidc-username-claim | 用作user name的OpenID声明。注意,除了默认声明('sub')之外 的声明不能保证是唯一的和不可变的。默认值:’sub‘ |
--oidc-username-prefix | 如果提供,所有的username将以该值作为前缀,如果不提供, 除了’email‘之外,username声明以发布者URL作前缀,以 避免冲突。若要跳过任何前缀,请设置值为’-‘。 |
--profiling | 通过web接口host:port/debug/pprof/启用profiling,默认值 true |
--proxy-client-cert-file | 用于证明aggregator或kube-apiserver在请求期间发出呼叫的身份 的客户端证书。 |
--proxy-client-key-file | 用于证明聚合器或kube-apiserver的身份的客户端证书的私钥, 当它必须在请求期间调用时使用。包括将请求代理给用户 api-server和调用webhook admission插件 |
-request-timeout | 一个可选字段,指示处理程序必须在发出请求前保持打开状态 的时间。这是默认请求超时,但可能被其他参数覆盖,例如: 特殊类型请求的--min-request-timeou |
--requestheader-allowed-names | 客户端证书常用名称列表,允许在--requestheader-username- headers指定的标头中提供用户名,如果为空,则允许在 --requestheader-client-ca文件中通过当局验证的任何 客户端证书。 |
--requestheader-client-ca-file | 根证书绑定包用于在信任--requestheader-username-headers 指定的标头中的用户名前,在传入请求上验证客户证书。 |
-requestheader-extra-headers-prefix | 要检查的请求标头前缀列表 |
--requestheader-group-headers | 要检查组的请求标头列表 |
--requestheader-username-headers | 要检查用户名的请求标头列表 |
--runtime-config | 一组键值对,描述可能传递给apiserver的runtime配置。 <group>/<version> 键可以用于打开、关闭指定的api版本。
|
--secure-port | 为带有身份验证和授权的HTTPS提供服务的端口。 不能设置0关闭它。默认值:6443 |
--service-account-api-audiences | API的标识符。Service account token验证器将验证针对 至少绑定这些受众之一的API使用的令牌 |
--service-account-issuer | Service account token发行者的标识符。发布者将在“iss”声明 中断言该标识符。该值是一个字符串或者URL |
--service-account-key-file | 包含PEM编码的x509 RSA或ECDSA私有或者公共密钥的文件。 用于验证service account token。指定的文件可以包含多个值。 该参数可以被指定多个不同的文件。如果没有指定, --tls-private-key-file将被使用。如果提供了 --service-account-signing-key,则必须指定该参数。 |
--service-account-lookup | 如果为true,作为身份验证的一部分,验证service account token是否存在于etcd中。默认值:true |
--service-account-max-token-expiration | 由service account token签发人创建的token的最大有效期 |
--service-account-signing-key-file | 指向包含service account token签发方当前私钥文件的路径。 签发方将用这个私钥签署已发行的ID token。 需要设置'TokenRequest' feature gate |
--service-cluster-ip-range | CIDR IP范围,用于分配service 集群IP。不能与分配给节点pod 的任何IP范围重叠。默认值:10.0.0.0/24 |
--service-node-port-range | 为NodePort可视性服务保留的端口范围。默认值: 30000-32767 |
--storage-backend | 持久性存储后端。可选值:'etcd3' (默认), 'etcd2'. |
--storage-media-type | 用于在存储器中存储对象的媒体类型。部分资源或存储后端 可能只支持特定的媒体类型,并将忽略该设置。默认值: "application/vnd.kubernetes.protobuf" |
--target-ram-mb | apiserver的内存限制(单位为MB) |
--tls-cert-file | 包含HTTPS的默认x509证书的文件。如果启用HTTPS服务, 切没有提供--tls-cert-file和--tls-private-key-file, 则为公共地址生成自签名证书和密钥,并保存到--cert-dir 指定的目录中。 |
--tls-cipher-suites | 以逗号分隔的服务器密码套件列表。如果省略,将使用默认的 Go密码套件。 |
--tls-min-version | 支持的最低的TLS版本。可选值:VersionTLS10, VersionTLS11, VersionTLS12 |
--tls-private-key-file | 包含和--tls-cert-file配对的默认x509私钥的文件 |
--tls-sni-cert-key | 一对x509证书和私钥文件路径,可选地以一列完全限定域名的 域模式作为后缀,可能带有前缀通配符段。默认值:[] |
--token-auth-file | 如果设置,将使用该文件通过token身份验证来保护API服务器的 安全端口。 |
--watch-cache | 在apiserver中启用watch缓存 |
--watch-cache-sizes | 每种资源的watch缓存尺寸列表。 |