kube-apiserver启动基本参数详解

原文地址:https://blog.csdn.net/zhonglinzhang/article/details/90697495

Generic flags:

参数 描述
--advertise-address 向集群成员发布apiserver的IP地址,该地址必须能够被集群的成员访问。如果为空,则使用 --bind-address,如果 --bind-address未指定,那么使用主机的默认接口。
--authorization-mode 在安全端口上执行授权的有序的插件列表。默认值:AlwaysAllow以逗号分隔的列表:AlwaysAllow,AlwaysDeny,ABAC,Webhook,RBAC,Node.

Etcd flags

参数 描述
--etcd-cafile 保护etcd通信的SSL证书颁发机构文件
--etcd-certfile 用于保护etcd通信的SSL证书文件
--etcd-keyfile 用来保护etcd通信的SSL key文件
--etcd-servers etcd服务器列表(格式://ip:port),逗号分隔

Secure serving flags:

参数 描述
--bind-address 监听安全端口的IP地址。必须能被集群的其他以及CLI/web客户机访问
--tls-cert-file 包含HTTPS的默认x509证书的文件。 CA证书,如果有的话,在服务器证书之后连接。如果启用了HTTPS服务,但未提供 --tls-cert-file和--tls-private-key-file,则会为公共地址生成自签名证书和密钥,并将其保存到--cert-dir指定的目录中。
--tls-private-key-file 包含和--tls-cert-file配对的默认x509私钥的文件

Insecure serving flags:

参数 描述
--address ip 监听的服务地址,(default 127.0.0.1)
--insecure-bind-address 地址绑定到不安全服务端口,(default 127.0.0.1),将来会被remove
--insecure-port (default 8080)

Auditing flags:

参数 描述
--audit-log-maxage 根据文件名中的编码时间戳,保存审计日志文件的最大天数
audit-log-maxbackup 保存审计日志文件的最大数量
audit-log-maxsize 审计日志文件回滚前的最大大小(兆字节)
--audit-log-path 如果设置,所有到apiserver的请求都会记录到这个文件中。‘-’表示写入标准输出,不指定此参数会禁用日志后端

Features flags:

参数 描述
--enable-swagger-ui 启用swagger ui

Authentication flags:

参数 描述
--anonymous-auth 允许匿名请求到API server的安全端口。未被其他身份验证方法拒绝的请求将被视为匿名请求。匿名请求的system username:anonymous,system group name:unauthenticated。默认值 true
--client-ca-file 启用客户端证书认证。该参数引用的文件中必须包含一个或多个证书颁发机构,用于验证提交给该组件的客户端证书。如果客户端证书已验证,则用其中的 Common Name 作为请求的用户名
--enable-bootstrap-token-auth 启用允许‘kube-system' namespace中的secrets类型的 'bootstrap.kubernetes.io/token'用于TLS引导身份验证
--requestheader-client-ca-file string 根证书绑定包用于在信任--requestheader-username-headers指定的标头中的用户名前,在传入请求上验证客户证书
--service-account-key-file 包含PEM编码的x509 RSA或ECDSA私有或者公共密钥的文件。用于验证service account token。指定的文件可以包含多个值。参数可以被指定多个不同的文件。如未指定,--tls-private-key-file将被使用。如果提供了--service-account-signing-key,则必须指定该参数
--token-auth-file 使用该文件在安全端口通过token身份验证来保护API服务
--requestheader-allowed-names strings List of client certificate common names to allow to provide usernames in headers specified by --requestheader-username-headers. If empty, any client certificate validated by the authorities in --requestheader-client-ca-file is allowed. 客户端证书常用名称列表,允许在--requestheader-username-headers指定的头中提供用户名,如果为空,则允许在--requestheader-client-ca文件中通过验证任何客户端证书
--requestheader-client-ca-file string Root certificate bundle to use to verify client certificates on incoming requests before trusting usernames in headers specified by --requestheader-username-headers. WARNING: generally do not depend on authorization being already done for incoming requests.根证书绑定包用于在信任--requestheader-username-headers 指定头中的用户名前,验证客户证书
--requestheader-extra-headers-prefix strings List of request header prefixes to inspect. X-Remote-Extra- is suggested 要检查的请求头前缀列表。建议使用 X-Remote-Extra-
--requestheader-group-headers strings List of request headers to inspect for groups. X-Remote-Group is suggested 要检查组的请求头列表。建议采用X-Remote组。
--requestheader-username-headers strings List of request headers to inspect for usernames. X-Remote-User is common. 要检查用户名的请求头列表。一般使用X-Remote-User
--proxy-client-cert-file string Client certificate used to prove the identity of the aggregator or kube-apiserver when it must call out during a request. This includes proxying requests to a user api-server and calling out to webhook admission plugins. It is expected that this cert includes a signature from the CA in the --requestheader-client-ca-file flag. That CA is published in the 'extension-apiserver-authentication' configmap in the kube-system namespace. Components receiving calls from kube-aggregator should use that CA to perform their half of the mutual TLS verification. 用于证明 aggregator 或 kube-apiserver 在请求期间发出呼叫的身份的客户端证书,包括 api-server 的请求代理给以及对webhook准入插件的调用。此证书包括来自--requestheader-client-ca-file中的CA的签名。该CA在kube-system命名空间的 “extension-apiserver-authentication” configmap中。被 kube-aggregator 调用的组件应该使用该CA来执行其TLS验证。
--proxy-client-key-file string Private key for the client certificate used to prove the identity of the aggregator or kube-apiserver when it must call out during a request. This includes proxying requests to a user api-server and calling out to webhook admission plugins.客户端证书的私钥,用于在请求期间证明 aggregator 或kube-apiserver的身份时。包括api-server的请求代理给以及对webhook准入插件的调用。

Authorization flags:

参数 描述
--authorization-mode 在安全端口上执行授权的有序的插件列表。默认值:AlwaysAllow.以逗号分隔的列表:AlwaysAllow,AlwaysDeny,ABAC,Webhook,RBAC,Node.

Api enablement flags

参数 描述
--runtime-config mapStringString 一组键值对,描述可能传给apiserver的runtime配置。 / (或核心组的)键可用于打开/关闭特定的api版本。 api / all是控制所有api版本的特殊键,默认设置为false,除非你知道你做了什么。 api / legacy已弃用,将来会将其删除,请停止使用它。
--admission-control 准入控制过程分两个阶段。第一阶段,运行 mutating admission controllers。第二阶段,运行 validating admission controllers。有些控制器会运行两次。如果任一阶段中的任何控制器拒绝请求,则立即拒绝整个请求,并向最终用户返回错误。AlwaysAdmit, AlwaysDeny, AlwaysPullImages, DefaultStorageClass, DefaultTolerationSeconds, DenyEscalatingExec, DenyExecOnPrivileged, EventRateLimit, ExtendedResourceToleration, ImagePolicyWebhook, Initializers, LimitPodHardAntiAffinityTopology, LimitRanger, MutatingAdmissionWebhook, NamespaceAutoProvision, NamespaceExists, NamespaceLifecycle, NodeRestriction, OwnerReferencesPermissionEnforcement, PersistentVolumeClaimResize, PersistentVolumeLabel, PodNodeSelector, PodPreset, PodSecurityPolicy, PodTolerationRestriction, Priority, ResourceQuota, SecurityContextDeny, ServiceAccount, StorageObjectInUseProtection, TaintNodesByCondition, ValidatingAdmissionWebhook
--advertise-address 向集群成员发布apiserver的IP地址,该地址必须能够被集群的成员访问。如果为空,则使用 --bind-address,如果 --bind-address未指定,那么使用主机的默认接口。
--bind-address 监听安全端口的IP地址。必须能被集群的其他以及CLI/web客户机访问

Misc flags:

参数 描述
--allow-privileged true允许特权模式的容器。默认值false
--apiserver-count 集群中运行的 api server 数量,默认值 1.使用时--endpoint-reconciler-type=master-count时启用的
--event-ttl 保留事件的时间。默认值 1h0m0s
--kubelet-https=true kubelet通信使用https,默认值 true
--service-account-signing-key-file 指向包含service account token签发方当前私钥文件的路径。签发方将用这个私钥签署已发行的ID token。 需要设置'TokenRequest' feature gate
--service-cluster-ip-range CIDR表示IP范围,用于分配服务集群IP。不能与分配给pod节点的IP重叠 (default 10.0.0.0/24)
--service-node-port-range portRange 为NodePort服务保留的端口范围。默认值 30000-32767

Global flags:

参数 描述
--alsologtostderr 日志信息同时输出到stderr及文件
--logtostderr 日志信息输出到stderr 而不是文件

你可能感兴趣的:(kube-apiserver启动基本参数详解)