来自《kubernetes源码剖析》
--advertise-address | ip | 用于设置相机群众其他组件发布api-server的ip地址,该地址必须能够被集群中的其他组件访问。如果该参数为空则使用--bind-address。如果未指定--bind-address则使用主机的默认端口 |
--cloud-provider-gcc-lb-src-cidrs | cidrs | 用于设置在Gce防火墙中打开cidr(无类别域间路由)以进行lb流量代理和运行状态检查默认为(130.211.0.0/22,209.85.152.0/22,209.85.204.0/22,35.191.0.0/16) |
--cors-allowed-origins | strings | 用于设置http跨域资源共享CORs,该参数指定CORS允许的来源列表,以逗号分隔,如果此列表为空则不会启用 |
--default-not-ready-toleration-seconds | int | 用于设置对notready状态的容忍时间默认300 |
--default-unreachable-toleration-seconds | int | 用于设置对unrecaable状态的容忍时间默认300 |
--external-hostname | string | 用于为master生成对外开放的url地址,例如swagger api文档的url地址 |
--feature-gates | map[string]bool | 用于设置一组alpha阶段的特性功能,通过键值对对外描述,针对每个组件使用--feature-gates参数来开启或者关闭一个特性,当前k8s版本目前支持大约68个feature-gates特性 https://blog.csdn.net/weixin_45413603/article/details/107984385 |
--master-service-namespcae | string | 该参数已启用,用于为master服务的ns注入pod资源默认default |
--max-mutating-requests-inflight | int | 用于设置给定时间内的最大mutaing请求书,当请求书超过此值,服务器会拒绝客户端请求,为0的时候表示无限制默认200 |
--max-requests-infight | int | 用于设置给定时间内最大non-mutaing请求书。当请求数超过此值时,服务器会拒绝客户请求,为0的时候无限制默认400 |
--min-request-timeout | int | 该参数可选,用于设置最短请求超时时间,及打开链接最短时间默认1800 |
--request-timeout | duration | 该参数可选,气质可能会被其他参数支付该例如--min-request-timeout 默认1分钟 |
--target-ram-mb | int | 用于设置kube-apiserver的内存限制MB 可配置缓存大小 |
--default-watch-cache-size | int | 用于设置默认的watch缓存大小,如果为0对于未设置默认的watch缓存大小的资源将禁用watch缓存(默认为100) |
--delete-collection-workers | int | 用于设置执行DeleteCollection(删除多个资源对象)时的并发数量 默认为1 |
--enable-garbage-collector | bool | 用于启用/禁用垃圾回收器,该参数必须与kube-controller-manager相应的参数值相同(默认为true) |
--encryption-provider-config | string | 用于启用/禁用加密特性,配置etcd中村粗secrets的加密程序的文件 |
--etcd-cafile | string | 用于指定etcd ca文件,保护etcd通信中的ssl证书颁发机构文件 |
--etcd-certfile | string | 用于指定etcd cert文件,保护etcd通信中的ssl认证文件 |
--etcd-compaction-interval | duration | 用于设置压缩请求request的时间间隔,如果参数为0,则禁用kube-apiserver的压缩请求 |
--etcd-count-metric-poll-period | duration | 用于设置每种资源类型的metric指标采集时间,0表示禁用收集metric 默认为1分钟 |
--etcd-keyfile | string | 用于指定etcd key文件,保护etcd通信中的ssl密钥文件 |
--etcd-prefix | string | 用于设置村粗在etcd中的所有资源路径的前缀,默认为/registry |
--etcd-servers | string | 用于设置etcd服务器集群列表(格式为scheme://ip:port)多个服务器逗号隔开 |
--etcd-servers-overrides | strings | 扩大kubernetes集群,可将资源配置到单独的etcd集群,可以将events资源配置到单独的etcd集群例如--etcd-servers-overrides=“/events#http://etcdA:2379,http://etcdB:2379” 多个资源逗号隔开 |
--storage-backend | string | 用于设置kube-apiserver后端持久化存储默认为etcdv3 |
--storage-media-type | string | 用于设置etcd村粗kube-apiserver资源对象的媒体类型 默认为/application/vnd.kubernetes.protobuf |
--watch-cache | bool | 用于设置kube-apiserver中启用/禁用watch缓存 默认为true |
--watch-cache-size | strings | 用于设置每个资源的watch缓存大小列表,个资源的watch缓存大小以逗号隔开,格式为resource[.group]#size。这个参数在启用--watch-cache参数后生效,某些资源的watch缓存大小拥有系统默认值,其他资源默认使用--default-wathc-cache-size参数 |
--bind-address | ip | 用于设置https安全端口的ip地址,该地址可以被集群中的其他组件或cli/web访问,如果该参数为空,则以ipv4接口均为0.0.0.0,ipv6为:: 默认值为0.0.0.0 |
--cert-dir | string | 用于设置tls证书所在的目录。如果提供了--tls-cert-file参数和--tls-private-key-file参数,则可以忽略该参数 默认值为/var/run/kubernetes |
--http2-max-streams-pre-connection | int | 用于设置kube-apiserver为正处于http/2连接中的客户端提供的最大流量限制 |
--secure-port | int | 用于设置http安全端口,即使用身份验证和授权为https提供服务的端口 默认为6443 |
--tls-cert-file | string | 用于设置https的x509证书文件所在的路径 |
--tls-cipher-suites | strings | 用于提供kube-apiserver所使用的密码套件列表,多个密码套件以逗号分隔,如果未制定该参数,则使用默认的go语言密码套件,该参数支持的套件有https://blog.csdn.net/weixin_45413603/article/details/107929454 |
--tls-min-version | string | 用于设置kube-apiserver支持的最低tls版本,可供选择的值有 VersionTLS10 VersionTLS11 VersionTLS12 |
--tls-private-key-file | string | 用于设置--tls-cert-file参数匹配的默认x509私钥 |
--tls-sni-cert-key | namedCertKey | 用于设置x509的证书和密钥文件路径,对于多个密钥证书对,可以多次使用--tls-sni-cert-key参数。例如“example.cert,example.key” 默认为[] |
--address | ip | 该参数已被弃用 可参阅--bind-address |
--insecure-bin-address | ip | 该参数已被弃用 |
--insecure-port | int | 该参数已被弃用 |
--port | int | 该参数已被弃用 可参阅---secure-port |
--audit-dynamic-configuration | bool | 用于启用/禁用动态审计配置,此功能依赖--feature-gates参数的DynamicAuditing特性 |
--audit-log-batch-buffer-size | int | 用于设置在批处理写入之前存储事件的缓冲区大小,禁用与批处理模式(默认值为1000) |
--audit-log-batch-max-size | int | 用于设置批处理最大的大小,禁用与批处理模式(默认值为1) |
--audit-log-batch-max-wait | duration | 用于强制写入为达到最大大小的批处理之前等待的时间,仅用于批处理模式 |
--audit-log-batch-throttle-burst | int | 如果之前未使用ThrottleQPS则该参数用于设置同一时刻发送的最大请求数,仅用于批处理模式 |
--audit-log-batch-throttle-enalbe | bool | 用于设置是否启用batching throttling流量限制仅用于批处理模式 |
--audit-log-batch-throttle-qps | float32 | 用于设置每秒最大平均批处理次数,禁用与批处理模式 |
--audit-log-format | string | 用于审计(audit)日志的格式,若该参数为legacy 表示每个事件为但文本格式,若该参数为json,表示结构化的json格式 默认为json |
--audit-log-maxage | int | 用于设置根据文件名中编码的时间戳,保留旧的审计日志文件最大天数 |
--audit-log-maxbackup | int | 用于设置要保留的审计日志文件的最大数量 |
--audit-log-maxsize | int | 用于设置审计日志文件的最大大小mb |
--audit-log-mode | string | 用于设置发送审计日志事件的策略(模式),若该参数为blocking,表示发送审计事件应阻塞服务器响应,若该参数为batch,表示后段缓冲并异步写入事件,已知策略(模式)有batch,blocking,blocking-strict 默认为blocking |
--audit-log-path | string | 用于设置写入审计日志事件的日志文件路径,如果制定该参数,则所有进入kube-apiserver的请求都将记录在此文件中,如果不指定,则会禁用日志后端,“-”表示标准输出 |
--audit-log-truncat-enable | bool | 用于设置是否启用event事件和batch截断功能 |
--audit-log-truncat-max-batch-size | int | 用于设置发送到底层后端的批处理的最大大小。世纪的序列化大小可以大于几百字节,如果批处理大小超过该数值,则会将其拆分为多个娇小的批次(默认为10485760) |
--audit-log-truncat-max-event-size | int | 用于设置发送到底层后端的审计事件的最大大小,如果审计时间的大小超过这个值,则会删除第一个请求和响应,如果删除后还没有达到足够的大小,则会丢弃事件 默认为102400 |
--audit-log-version | string | 用于设置序列化写入审计日志时间的资源组和资源版本 默认为audit.k8s.io/v1 |
--audit-policy-file | string | 用于设置审计策略(模式)配置的文件路径 |
--audit-webhook-batch-buffer-size | int | 用于设置批处理写入之前要缓存的事件数,如果传入的事件的速率溢出缓存区,则会丢失事件 默认为10000 |
--audit-webhook-batch-max-size | int | 用于设置批处理的最大事件数 默认为400 |
--audit-webhook-batch-max-wait | duration | 用于设置强制批处理队列中的事件之前等待的最长时间 默认为30s |
--audit-webhook-batch-throttle-burst | int | 如果之前未使用throttleQPS 则该参数用于设置同一时间发送的最大请求书,仅用与批处理模式 默认为15 |
--audit-webhook-batch-throttle-enable | bool | 用于是否启用批量限制 (Batching Throttling)仅用与批处理模式 默认为true |
--audit-webhook-batch-throttle-qps | float32 | 用于设置每秒最大平均批处理次数 仅用与批处理模式 默认为10 |
--audit-webhook-config-file | string | 用于设置审计webhook配置的kubeconfig格式文件的路径 |
--audit-webhook-initial-backoff | duration | 用于设置第一次请求失败后充实请求等待时间 默认10s |
--audit-webhook-mode | string | 用于设置发送审计日志事件的策略(模式),若该参数为blocking,表示发送审计事件应阻塞服务器响应,若该参数为batch,表示后段缓冲并异步写入事件,已知策略(模式)有batch,blocking,blocking-strict 默认为blocking |
--audit-webhook-truncate-enabled | bool | 用于设置是否启用事件和批处理做截断功能 |
--audit-webhook-truncate-max-batch-size | int | 用于设置发送到后端的批处理的最大大小,如果批处理大小超过该参数值,则将其拆分为几个娇小的批次 默认为10485760 |
--audit-webhook-truncate-max-event-size | int | 用于设置发送到底层后端的审计日志事件的最大大小,如果事件的大小大于该参数之,则会删除第一个请求和响应,如果删除后还没有达到足够的大小,则会丢弃 默认为102400 |
--audit-webhook-version | string | 用于设置序列化写入webhook的审计日志事件资源组和资源组版本 默认为audit.k8s.io |
--contention-profiling | bool | 如果启用了profiling性能分析功能,则启用所征用性分析 |
--profiling | bool | 用于启用/禁用性能分析,可以通过web页面进行访问,访问方式为host:port/debug/pprof(默认为true) |
--contention-profiling | bool | 如果启用了profiling性能分析功能,则启用锁争用性分析 |
--profiling | bool | 如果启用/禁用 性能分析,可以通过web页面进行访问,访问方式为host:port/debug/pprof |
--anonymous-auth | bool | 用于启用/禁用匿名(Anonymous)认证,允许匿名球球到kube-apiserver的安全端口,未被其他身份验证方法拒绝的请求被视为匿名请求,匿名请求用户名为system:anonymous 组名为system:unauthenicated 默认为true |
--api-audiences | strings | 用于设置api的表示符列表 |
--authentication-token-webhook-cache-ttl | duration | 用于设置缓存认证时间 默认值2分钟 |
--authentication-token-webhook-config-file | string | 用于设置webhook配置文件,该文件描述了如何访问远程webhook服务 |
--basic-auth-file | string | 用于启用basicauth认证 |
--client-ca-file | string | 用于启用clientca认证 |
--enable-bootstrap-token-auth | bool | 用于启用bootstrap token认证 |
--oidc-ca-file | string | 用于设置签署身份提供商的web证书的ca证书路径,默认为主机的根ca(即/etc/kubernetes/ssl/kc-ca。pem) |
--oidc-client-id | string | 用于办法所有token的客户端id |
--oidc-groups-claim | string | 用于设置jwy(json web token)生命的用户组名称 |
--oidc-groups-prefix | string | 用于设置组名前缀 所有组都将以此值为前缀,以避免与其他身份验证策略冲突 |
--oidc-issuer-url | string | 用于设置auth server服务的url 例如使用goole accounts服务 其url为https://accounts.google.com |
--oidc-required-claim | mapStringString | 设置键值对,用于描述id token 中必要的生命,如果设置更改参数值 则验证该生命是否匹配值存在于id token中 重复指定该参数可设置多个声明 |
--oidc-signing-algs | strings | 用于设置jose非堆成签名算法列表,算法以逗号分隔,如果alg开头的jwts不在此列表中,则会被拒绝(默认值为[RS256]) |
--oidc-username-claim | string | 用于设置jwt(json web token)生命的用户名称 |
--oidc-usernmae-prefix | string | 用于设置用户名成前缀,所有用户名称都以该值为前缀,以避免与其他身份验证策略冲突,如果要跳过任何前缀,可以设置该参数为- |
--requestheader-allowed-names | strings | 用于设置通用名称(Common Name) |
--requestheader-client-ca-file | string | 用于设置有效的客户端CA证书 |
--requestheader-extra-headers-prefix | strings | 用于设置额外的列表,建议使用X-Remote-Extra- |
--requestheader-group-headers | strings | 用于设置组列表,建议使用X-Remote-Group |
--requestheader-username-headers | strings | 用于设置用户名列表,建议使用X-Remote-User |
--service-account-issuer | string | service account token发布者的表示服,发布者在发布的token的iss字段中声明该标识符,该参数值是字符串或url |
--service-acccount-key-file | stringArray | 用于设置签名承载token的pem编码密钥的文件,用于验证service account token 如果未指定,则用kube-apiserver的tls私钥 |
--service-account-lookup | bool | 用于验证service account token 是否存在于etcd中 默认为true |
--service-account-max-token-expiration | duration | 用于设置service account token 发布者创建的token 最长有效期 |
--token-auth-file | string | 用于启用token auth认证 |
--authorization-mode | strings | 用于设置在安全端口上启用授权其,以逗号分割列表AlwaysAllow,AlaysDeny,ABAC,Webhook,RBAC,Node(默认值[AlwaysAllow]) |
--authorization-policy-file | string | 用于设置基于ABAC模式的策略文件,该文件用json格式进行描述,每一行都是一个策略对象 |
--authorization-webhook-cache-auth-orized-ttl | duration | 用于设置从Webhook授权服务中缓存authorized(已授权)响应的缓存时间(默认值为5分钟) |
--authorization-webhook-cache-mauhorized-ttl | duration | 用于设置从webhook授权服务中缓存unauthorized(未授权)响应的缓存时间(默认值30s) |
--authorization-webhook-config-file | string | 用于设置使用kubeconfig格式的webhook配置文件,该参数与--authorization-mod=webhook参数一起使用 |
--cloud-config | string | 用于设置云服务提供商的配置文件路径,如果为空,则没有配置文件 |
--cloud-provider | string | 用于设置云服务提供商,如果该参数是空字符串,表示无云服务提供商 |
--cloud-config | map[string]string | 用于设置传递给kube-apiserver的描述运行时的配置的键值对结合 apis/<groutVersion>键可以被用来开启/禁用特定的api资源版本 apis/<groupVersion>/<resource>建可以被用来开启/禁用特定的资源 api/all和api/legacy键可以分别被用来控制所有的资源版本 |
--admission-control | strings | 该参数已弃用,启用于指定准入控制器顺序列表默认值为alwaysadmit |
--admission-control-config-file | string | 用于指定准入控制器的配置文件 |
--disable-admission-plugins | strings | 用于指定禁用的准入控制器列表 |
--enable-admission-plugins | strings | 用于指定启用的准入控制器列表 |
--allow-privileged | bool | 如果该参数为true,则允许特权容器(privileged container)默认为false |
--apiserver-count | int | 用于设置集群中运行的kube-apiserver组建数量,该参数必须为证书,当使用--endpoint-reconciler-type参数时开启默认为1 |
--enable-aggregator-routing | bool | 用于设置启用aggregatorserver聚合器,可以将指定服务的路由请求到该服务 |
--enable-logs-handler | bool | 用于设置kube-apiserver的日志功能,安装一个/logs处理器 默认为true |
--endpoint-reconciler-type | string | 用于设置kube-APIserver组建高可用功能,默认使用endpoint资源锁机制进行领导选举 默认为lease |
--enent-ttl | duration | 用于设置kubernetes集群时间保留时间 默认为1小时 |
--kubelet-certificate-authority | string | 用于设置证书authority的文件路径 |
--kubelet-client-certificate | string | 用于设置tls的客户端文件证书文件路径 |
--kubelet-client-key | string | 用于设置tls的客户端证书密钥文件路径 |
--kubelet-https | 用于为kubelet启用https 默认为true | |
--kubelet-preferred-address-types | strings | 用于设置kubelet连接首选node address type列表默认为[Hostname,InternalDNS,InternalIP,ExtrnalDNS,ExternalIP] |
--kubelet-read-only-port | uint | 该参数已弃用,用于设置kubelet的端口 默认为10255 |
--kubelet-timeout | duration | 用于设置kubelet操作超时时间 默认为5s |
--kubernetes-service-node-port | int | 如果该参数不为0,kubernetes master服务将会使用node port类型,并将更该参数值作为端口号,如果为0,kubernetes master服务将会使用cluster ip类型 |
--max-connection-bytes-per-sec | int | 用于设置每个用户连接的限速值(bytes/sec)该参数只应用于长时间运行的请求 |
--proxy-client-cert-file | string | 用于设置调用外部程序的tls验证的证书文件路径,例如webhook准入控制器 |
--proxy-client-key-file | string | 用于设置调用外部程序的tls验证的私钥文件路径,例如webhook准入控制器 |
--service-account-string-key-file | string | 用于设置service account token签发方当前私钥文件的路径 |
--service-cluster-ip-range | ipNet | 用于设置CIDR表示的ip反问,服务的clusterip将从中分配,该数值一定不要与分配给node和pod的ip反问重叠,默认为10.0.0.0/24 |
--service-node-port-range | portRange | 用于设置nodeport服务保留的端口号范围(默认为30000-32767) |