Interpretation kube-apiserver configuration parameters (kubernets version 1.12.0)

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缓存尺寸列表。

 

发布了211 篇原创文章 · 获赞 96 · 访问量 75万+

Guess you like

Origin blog.csdn.net/yucaifu1989/article/details/104721788