kube-apiserver

概要

Kubernetes API 服务器验证并配置 API 对象的数据,其中包括 Pod、服务、复制控制器等。API 服务器提供 REST 操作,并通过它提供集群共享状态的前端,所有其他组件都通过它进行交互。

kube-apiserver [flags]

选项

--admission-control-config-file 字符串

包含准入控制配置的文件。

--advertise-address 字符串

向集群成员广播 apiserver 的 IP 地址。集群的其他成员必须能够访问此地址。如果为空,则使用 --bind-address。如果未指定 --bind-address,则使用主机的默认接口。

--aggregator-reject-forwarding-redirect 默认值:true

聚合器拒绝将转发重定向响应发送回客户端。

--allow-metric-labels stringToString 默认值:[]

从指标标签到此标签的值允许列表的映射。键的格式为 <MetricName>,<LabelName>。值的格式为 <allowed_value>,<allowed_value>... 例如,metric1,label1='v1,v2,v3', metric1,label2='v1,v2,v3' metric2,label1='v1,v2,v3'。

--allow-metric-labels-manifest 字符串

包含允许列表映射的清单文件的路径。该文件的格式与标志 --allow-metric-labels 相同。请注意,标志 --allow-metric-labels 将覆盖清单文件。

--allow-privileged

如果为 true,则允许特权容器。[默认值=false]

--anonymous-auth 默认值:true

启用对 API 服务器的安全端口的匿名请求。不被其他身份验证方法拒绝的请求被视为匿名请求。匿名请求的用户名是 system:anonymous,组名是 system:unauthenticated。

--api-audiences 字符串

API 的标识符。服务帐户令牌身份验证器将验证用于 API 的令牌是否绑定到至少一个这些受众。如果配置了 --service-account-issuer 标志而未配置此标志,则此字段默认为包含发行者 URL 的单元素列表。

--audit-log-batch-buffer-size int 默认值:10000

在批处理和写入之前存储事件的缓冲区大小。仅在批处理模式下使用。

--audit-log-batch-max-size int 默认值:1

批处理的最大大小。仅在批处理模式下使用。

--audit-log-batch-max-wait duration

在强制写入尚未达到最大大小的批处理之前等待的时间。仅在批处理模式下使用。

--audit-log-batch-throttle-burst int

如果之前未使用 ThrottleQPS,则在同一时刻发送的最大请求数。仅在批处理模式下使用。

--audit-log-batch-throttle-enable

是否启用批处理限制。仅在批处理模式下使用。

--audit-log-batch-throttle-qps float

每秒的最大平均批处理数。仅在批处理模式下使用。

--audit-log-compress

如果设置,则将使用 gzip 压缩轮换的日志文件。

--audit-log-format 字符串 默认值:"json"

保存的审计的格式。“legacy” 表示每个事件的 1 行文本格式。“json” 表示结构化 json 格式。已知的格式为 legacy、json。

--audit-log-maxage int

根据文件名中编码的时间戳保留旧审计日志文件的最大天数。

--audit-log-maxbackup int

要保留的旧审计日志文件的最大数量。将值设置为 0 将表示对文件数量没有限制。

--audit-log-maxsize int

在轮换之前,审计日志文件的最大大小(以兆字节为单位)。

--audit-log-mode 字符串 默认值:"blocking"

发送审计事件的策略。Blocking 表示发送事件应阻塞服务器响应。Batch 会使后端缓冲并异步写入事件。已知的模式为 batch、blocking、blocking-strict。

--audit-log-path 字符串

如果设置,则所有进入 apiserver 的请求都将记录到此文件中。“-” 表示标准输出。

--audit-log-truncate-enabled

是否启用事件和批处理截断。

--audit-log-truncate-max-batch-size int 默认值:10485760

发送到底层后端的批处理的最大大小。实际序列化大小可能大几百字节。如果批处理超过此限制,则会将其拆分为多个较小大小的批处理。

--audit-log-truncate-max-event-size int 默认值:102400

发送到底层后端的审计事件的最大大小。如果事件的大小大于此数字,则首先删除请求和响应,如果这不能足够减小大小,则会丢弃事件。

--audit-log-version 字符串 默认值:"audit.k8s.io/v1"

用于序列化写入日志的审计事件的 API 组和版本。

--audit-policy-file 字符串

定义审计策略配置的文件的路径。

--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 默认值:15

如果之前未使用 ThrottleQPS,则在同一时刻发送的最大请求数。仅在批处理模式下使用。

--audit-webhook-batch-throttle-enable 默认值:true

是否启用批处理限制。仅在批处理模式下使用。

--audit-webhook-batch-throttle-qps float 默认值:10

每秒的最大平均批处理数。仅在批处理模式下使用。

--audit-webhook-config-file 字符串

指向定义审计 webhook 配置的 kubeconfig 格式文件的路径。

--audit-webhook-initial-backoff duration 默认值:10s

在重试第一个失败的请求之前等待的时间。

--audit-webhook-mode 字符串 默认值:"batch"

发送审计事件的策略。Blocking 表示发送事件应阻塞服务器响应。Batch 会使后端缓冲并异步写入事件。已知的模式为 batch、blocking、blocking-strict。

--audit-webhook-truncate-enabled

是否启用事件和批处理截断。

--audit-webhook-truncate-max-batch-size int 默认值:10485760

发送到底层后端的批处理的最大大小。实际序列化大小可能大几百字节。如果批处理超过此限制,则会将其拆分为多个较小大小的批处理。

--audit-webhook-truncate-max-event-size int 默认值:102400

发送到底层后端的审计事件的最大大小。如果事件的大小大于此数字,则首先删除请求和响应,如果这不能足够减小大小,则会丢弃事件。

--audit-webhook-version 字符串 默认值:"audit.k8s.io/v1"

用于序列化写入 webhook 的审计事件的 API 组和版本。

--authentication-config 字符串

包含身份验证配置的文件,用于配置 JWT 令牌身份验证器或匿名身份验证器。需要 StructuredAuthenticationConfiguration 特性门控。还需要特性门控 AnonymousAuthConfigurableEndpoints 以在配置文件中配置匿名身份验证器。如果文件配置了 JWT 令牌身份验证器,则此标志与 --oidc-* 标志互斥。如果文件配置了匿名身份验证器,则此标志与 --anonymous-auth 互斥。

--authentication-token-webhook-cache-ttl duration 默认值:2m0s

缓存来自 webhook 令牌身份验证器的响应的持续时间。

--authentication-token-webhook-config-file 字符串

使用 kubeconfig 格式的 webhook 配置的文件,用于令牌身份验证。API 服务器将查询远程服务以确定持有者令牌的身份验证。

--authentication-token-webhook-version 字符串 默认值:"v1beta1"

要发送到 webhook 并从 webhook 期望的 authentication.k8s.io TokenReview 的 API 版本。

--authorization-config 字符串

包含授权配置的文件,用于配置授权器链。需要特性门控 StructuredAuthorizationConfiguration。此标志与其他 --authorization-mode 和 --authorization-webhook-* 标志互斥。

--authorization-mode 字符串

在安全端口上执行授权的插件的有序列表。如果未使用 --authorization-config,则默认为 AlwaysAllow。以逗号分隔的列表:AlwaysAllow、AlwaysDeny、ABAC、Webhook、RBAC、Node。

--authorization-policy-file 字符串

使用 --authorization-mode=ABAC 在安全端口上使用的 json 行格式的授权策略文件。

--authorization-webhook-cache-authorized-ttl duration 默认值:5m0s

缓存来自 webhook 授权器的“已授权”响应的持续时间。

--authorization-webhook-cache-unauthorized-ttl duration 默认值:30s

缓存来自 webhook 授权器的“未授权”响应的持续时间。

--authorization-webhook-config-file 字符串

使用 --authorization-mode=Webhook 时,使用 kubeconfig 格式的 webhook 配置的文件。API 服务器将查询远程服务以确定 API 服务器安全端口上的访问权限。

--authorization-webhook-version 字符串 默认值:"v1beta1"

要发送到 webhook 并从 webhook 期望的 authorization.k8s.io SubjectAccessReview 的 API 版本。

--bind-address 字符串 默认值:0.0.0.0

监听 --secure-port 端口的 IP 地址。相关的接口必须可以被集群中的其他部分以及 CLI/web 客户端访问。如果为空或未指定的地址(0.0.0.0 或 ::),将使用所有接口和 IP 地址族。

--cert-dir string      默认值: "/var/run/kubernetes"

TLS 证书所在的目录。如果提供了 --tls-cert-file 和 --tls-private-key-file,则此标志将被忽略。

--client-ca-file string

如果设置,任何出示由 client-ca-file 中某个授权机构签名的客户端证书的请求,都将使用与客户端证书的 CommonName 对应的身份进行身份验证。

--contention-profiling

如果启用了性能分析,则启用阻塞性能分析。

--cors-allowed-origins strings

允许的 CORS 来源列表,以逗号分隔。允许的来源可以是用于支持子域匹配的正则表达式。如果此列表为空,则不会启用 CORS。请确保每个表达式都通过以 '^' 开头或包含 '//' 前缀来锚定到完整的主机名,并通过以 '$' 结尾或包含 ':' 端口分隔符后缀来锚定到末尾。有效表达式的示例为 '//example.com(:|$)' 和 '^https://example.com(:|$)'

--debug-socket-path string

使用给定路径的未受保护的(无 authn/authz)unix 域套接字进行性能分析。

--default-not-ready-toleration-seconds int      默认值: 300

指示默认添加到每个尚未具有这种容忍度的 Pod 的 notReady:NoExecute 容忍度的容忍秒数。

--default-unreachable-toleration-seconds int      默认值: 300

指示默认添加到每个尚未具有这种容忍度的 Pod 的 unreachable:NoExecute 容忍度的容忍秒数。

--delete-collection-workers int      默认值: 1

为 DeleteCollection 调用产生的 worker 数量。这些 worker 用于加速命名空间的清理。

--disable-admission-plugins strings

应该禁用的准入插件,即使它们在默认启用的插件列表中 (NamespaceLifecycle, LimitRanger, ServiceAccount, TaintNodesByCondition, PodSecurity, Priority, DefaultTolerationSeconds, DefaultStorageClass, StorageObjectInUseProtection, PersistentVolumeClaimResize, RuntimeClass, CertificateApproval, CertificateSigning, ClusterTrustBundleAttest, CertificateSubjectRestriction, DefaultIngressClass, MutatingAdmissionPolicy, MutatingAdmissionWebhook, ValidatingAdmissionPolicy, ValidatingAdmissionWebhook, ResourceQuota)。 以逗号分隔的准入插件列表:AlwaysAdmit, AlwaysDeny, AlwaysPullImages, CertificateApproval, CertificateSigning, CertificateSubjectRestriction, ClusterTrustBundleAttest, DefaultIngressClass, DefaultStorageClass, DefaultTolerationSeconds, DenyServiceExternalIPs, EventRateLimit, ExtendedResourceToleration, ImagePolicyWebhook, LimitPodHardAntiAffinityTopology, LimitRanger, MutatingAdmissionPolicy, MutatingAdmissionWebhook, NamespaceAutoProvision, NamespaceExists, NamespaceLifecycle, NodeRestriction, OwnerReferencesPermissionEnforcement, PersistentVolumeClaimResize, PodNodeSelector, PodSecurity, PodTolerationRestriction, Priority, ResourceQuota, RuntimeClass, ServiceAccount, StorageObjectInUseProtection, TaintNodesByCondition, ValidatingAdmissionPolicy, ValidatingAdmissionWebhook。 此标志中插件的顺序无关紧要。

--disable-http2-serving

如果为 true,将禁用 HTTP2 服务 [默认值=false]

--disabled-metrics strings

此标志为行为不端的指标提供了一个退出机制。您必须提供完全限定的指标名称才能禁用它。免责声明:禁用指标的优先级高于显示隐藏指标。

--egress-selector-config-file string

包含 apiserver 出口选择器配置的文件。

--emulated-version strings

不同组件模拟其功能(API、功能等)的版本。
如果设置,该组件将模拟此版本的行为,而不是底层的二进制版本。
版本格式只能是 major.minor,例如:“--emulated-version=wardle=1.2,kube=1.31”。选项为
kube=1.32..1.32 (默认值=1.32) 如果未指定组件,则默认为“kube”

--enable-admission-plugins strings

除了默认启用的插件(NamespaceLifecycle, LimitRanger, ServiceAccount, TaintNodesByCondition, PodSecurity, Priority, DefaultTolerationSeconds, DefaultStorageClass, StorageObjectInUseProtection, PersistentVolumeClaimResize, RuntimeClass, CertificateApproval, CertificateSigning, ClusterTrustBundleAttest, CertificateSubjectRestriction, DefaultIngressClass, MutatingAdmissionPolicy, MutatingAdmissionWebhook, ValidatingAdmissionPolicy, ValidatingAdmissionWebhook, ResourceQuota)之外,还应启用的准入插件。 以逗号分隔的准入插件列表:AlwaysAdmit, AlwaysDeny, AlwaysPullImages, CertificateApproval, CertificateSigning, CertificateSubjectRestriction, ClusterTrustBundleAttest, DefaultIngressClass, DefaultStorageClass, DefaultTolerationSeconds, DenyServiceExternalIPs, EventRateLimit, ExtendedResourceToleration, ImagePolicyWebhook, LimitPodHardAntiAffinityTopology, LimitRanger, MutatingAdmissionPolicy, MutatingAdmissionWebhook, NamespaceAutoProvision, NamespaceExists, NamespaceLifecycle, NodeRestriction, OwnerReferencesPermissionEnforcement, PersistentVolumeClaimResize, PodNodeSelector, PodSecurity, PodTolerationRestriction, Priority, ResourceQuota, RuntimeClass, ServiceAccount, StorageObjectInUseProtection, TaintNodesByCondition, ValidatingAdmissionPolicy, ValidatingAdmissionWebhook。 此标志中插件的顺序无关紧要。

--enable-aggregator-routing

开启将聚合器路由请求到端点 IP 而不是集群 IP。

--enable-bootstrap-token-auth

启用后,允许在“kube-system”命名空间中使用类型为“bootstrap.kubernetes.io/token”的 Secret 进行 TLS 引导身份验证。

--enable-garbage-collector      默认值: true

启用通用垃圾收集器。必须与 kube-controller-manager 的相应标志同步。

--enable-priority-and-fairness      默认值: true

如果为 true,则用一个增强的处理程序替换最大飞行中处理程序,该处理程序使用优先级和公平性进行排队和分派。

--encryption-provider-config string

包含用于存储 etcd 中 Secret 的加密提供程序配置的文件。

--encryption-provider-config-automatic-reload

确定如果磁盘内容发生更改,是否应自动重新加载由 --encryption-provider-config 设置的文件。将此设置为 true 会禁用通过 API 服务器 healthz 端点唯一标识不同的 KMS 插件的功能。

--endpoint-reconciler-type string      默认值: "lease"

使用端点协调器(master-count、lease、none)。master-count 已弃用,将在未来的版本中删除。

--etcd-cafile string

用于保护 etcd 通信的 SSL 证书颁发机构文件。

--etcd-certfile string

用于保护 etcd 通信的 SSL 证书文件。

--etcd-compaction-interval duration      默认值: 5m0s

压缩请求的时间间隔。如果为 0,则禁用来自 apiserver 的压缩请求。

--etcd-count-metric-poll-period duration      默认值: 1m0s

轮询 etcd 以获取每种资源类型的频率。0 禁用指标收集。

--etcd-db-metric-poll-interval duration      默认值: 30s

轮询 etcd 并更新指标的请求间隔。0 禁用指标收集

--etcd-healthcheck-timeout duration      默认值: 2s

检查 etcd 运行状况时使用的超时时间。

--etcd-keyfile string

用于保护 etcd 通信的 SSL 密钥文件。

--etcd-prefix string      默认值: "/registry"

要添加到 etcd 中所有资源路径前缀。

--etcd-readycheck-timeout duration      默认值: 2s

检查 etcd 准备就绪时使用的超时时间。

--etcd-servers strings

要连接的 etcd 服务器列表 (scheme://ip:port),以逗号分隔。

--etcd-servers-overrides strings

每个资源的 etcd 服务器覆盖,以逗号分隔。单个覆盖格式:group/resource#servers,其中服务器是 URL,以分号分隔。 请注意,这仅适用于编译到此服务器二进制文件中的资源。

--event-ttl duration      默认值: 1h0m0s

保留事件的时间量。

--external-hostname string

为该主节点生成外部化 URL(例如,Swagger API 文档或 OpenID 发现)时要使用的主机名。

--feature-gates colonSeparatedMultimapStringString

以逗号分隔的 component:key=value 对列表,用于描述不同组件的 alpha/实验性功能的功能门。
如果未指定组件,则默认为 “kube”。可以重复调用此标志。 例如:--feature-gates 'wardle:featureA=true,wardle:featureB=false' --feature-gates 'kube:featureC=true' 选项为
kube:APIResponseCompression=true|false (BETA - 默认值=true)
kube:APIServerIdentity=true|false (BETA - 默认值=true)
kube:APIServerTracing=true|false (BETA - 默认值=true)
kube:APIServingWithRoutine=true|false (ALPHA - 默认值=false)
kube:AllAlpha=true|false (ALPHA - 默认值=false)
kube:AllBeta=true|false (BETA - 默认值=false)
kube:AllowUnsafeMalformedObjectDeletion=true|false (ALPHA - 默认值=false)
kube:AnonymousAuthConfigurableEndpoints=true|false (BETA - 默认值=true)
kube:AnyVolumeDataSource=true|false (BETA - 默认值=true)
kube:AuthorizeNodeWithSelectors=true|false (BETA - 默认值=true)
kube:AuthorizeWithSelectors=true|false (BETA - 默认值=true)
kube:BtreeWatchCache=true|false (BETA - 默认值=true)
kube:CBORServingAndStorage=true|false (ALPHA - 默认值=false)
kube:CPUManagerPolicyAlphaOptions=true|false (ALPHA - 默认值=false)
kube:CPUManagerPolicyBetaOptions=true|false (BETA - 默认值=true)
kube:CPUManagerPolicyOptions=true|false (BETA - 默认值=true)
kube:CRDValidationRatcheting=true|false (BETA - 默认值=true)
kube:CSIMigrationPortworx=true|false (BETA - 默认值=true)
kube:CSIVolumeHealth=true|false (ALPHA - 默认值=false)
kube:ClientsAllowCBOR=true|false (ALPHA - 默认值=false)
kube:ClientsPreferCBOR=true|false (ALPHA - 默认值=false)
kube:CloudControllerManagerWebhook=true|false (ALPHA - 默认值=false)
kube:ClusterTrustBundle=true|false (ALPHA - 默认值=false)
kube:ClusterTrustBundleProjection=true|false (ALPHA - 默认值=false)
kube:ComponentFlagz=true|false (ALPHA - 默认值=false)
kube:ComponentStatusz=true|false (ALPHA - 默认值=false)
kube:ConcurrentWatchObjectDecode=true|false (BETA - 默认值=false)
kube:ConsistentListFromCache=true|false (BETA - 默认值=true)
kube:ContainerCheckpoint=true|false (BETA - 默认值=true)
kube:ContextualLogging=true|false (BETA - 默认值=true)
kube:CoordinatedLeaderElection=true|false (ALPHA - 默认值=false)
kube:CrossNamespaceVolumeDataSource=true|false (ALPHA - 默认值=false)
kube:CustomCPUCFSQuotaPeriod=true|false (ALPHA - 默认值=false)
kube:DRAAdminAccess=true|false (ALPHA - 默认值=false)
kube:DRAResourceClaimDeviceStatus=true|false (ALPHA - 默认值=false)
kube:DisableAllocatorDualWrite=true|false (ALPHA - 默认值=false)
kube:DynamicResourceAllocation=true|false (BETA - 默认值=false)
kube:EventedPLEG=true|false (ALPHA - 默认值=false)
kube:ExternalServiceAccountTokenSigner=true|false (ALPHA - 默认值=false)
kube:GracefulNodeShutdown=true|false (BETA - 默认值=true)
kube:GracefulNodeShutdownBasedOnPodPriority=true|false (BETA - 默认值=true)
kube:HPAScaleToZero=true|false (ALPHA - 默认值=false)
kube:HonorPVReclaimPolicy=true|false (BETA - 默认值=true)
kube:ImageMaximumGCAge=true|false (BETA - 默认值=true)
kube:ImageVolume=true|false (ALPHA - 默认值=false)
kube:InPlacePodVerticalScaling=true|false (ALPHA - 默认值=false)
kube:InPlacePodVerticalScalingAllocatedStatus=true|false (ALPHA - 默认值=false)
kube:InPlacePodVerticalScalingExclusiveCPUs=true|false (ALPHA - 默认值=false)
kube:InTreePluginPortworxUnregister=true|false (ALPHA - 默认值=false)
kube:InformerResourceVersion=true|false (ALPHA - 默认值=false)
kube:JobBackoffLimitPerIndex=true|false (BETA - 默认值=true)
kube:JobManagedBy=true|false (BETA - 默认值=true)
kube:JobPodReplacementPolicy=true|false (BETA - 默认值=true)
kube:JobSuccessPolicy=true|false (BETA - 默认值=true)
kube:KubeletCgroupDriverFromCRI=true|false (BETA - 默认值=true)
kube:KubeletCrashLoopBackOffMax=true|false (ALPHA - 默认值=false)
kube:KubeletFineGrainedAuthz=true|false (ALPHA - 默认值=false)
kube:KubeletInUserNamespace=true|false (ALPHA - 默认值=false)
kube:KubeletPodResourcesDynamicResources=true|false (ALPHA - 默认值=false)
kube:KubeletPodResourcesGet=true|false (ALPHA - 默认值=false)
kube:KubeletSeparateDiskGC=true|false (BETA - 默认=true)
kube:KubeletTracing=true|false (BETA - 默认=true)
kube:LocalStorageCapacityIsolationFSQuotaMonitoring=true|false (BETA - 默认=false)
kube:LoggingAlphaOptions=true|false (ALPHA - 默认=false)
kube:LoggingBetaOptions=true|false (BETA - 默认=true)
kube:MatchLabelKeysInPodAffinity=true|false (BETA - 默认=true)
kube:MatchLabelKeysInPodTopologySpread=true|false (BETA - 默认=true)
kube:MaxUnavailableStatefulSet=true|false (ALPHA - 默认=false)
kube:MemoryQoS=true|false (ALPHA - 默认=false)
kube:MultiCIDRServiceAllocator=true|false (BETA - 默认=false)
kube:MutatingAdmissionPolicy=true|false (ALPHA - 默认=false)
kube:NFTablesProxyMode=true|false (BETA - 默认=true)
kube:NodeInclusionPolicyInPodTopologySpread=true|false (BETA - 默认=true)
kube:NodeLogQuery=true|false (BETA - 默认=false)
kube:NodeSwap=true|false (BETA - 默认=true)
kube:OpenAPIEnums=true|false (BETA - 默认=true)
kube:PodAndContainerStatsFromCRI=true|false (ALPHA - 默认=false)
kube:PodDeletionCost=true|false (BETA - 默认=true)
kube:PodLevelResources=true|false (ALPHA - 默认=false)
kube:PodLifecycleSleepAction=true|false (BETA - 默认=true)
kube:PodLifecycleSleepActionAllowZero=true|false (ALPHA - 默认=false)
kube:PodLogsQuerySplitStreams=true|false (ALPHA - 默认=false)
kube:PodReadyToStartContainersCondition=true|false (BETA - 默认=true)
kube:PortForwardWebsockets=true|false (BETA - 默认=true)
kube:ProcMountType=true|false (BETA - 默认=false)
kube:QOSReserved=true|false (ALPHA - 默认=false)
kube:RecoverVolumeExpansionFailure=true|false (BETA - 默认=true)
kube:RecursiveReadOnlyMounts=true|false (BETA - 默认=true)
kube:RelaxedDNSSearchValidation=true|false (ALPHA - 默认=false)
kube:RelaxedEnvironmentVariableValidation=true|false (BETA - 默认=true)
kube:ReloadKubeletServerCertificateFile=true|false (BETA - 默认=true)
kube:RemoteRequestHeaderUID=true|false (ALPHA - 默认=false)
kube:ResilientWatchCacheInitialization=true|false (BETA - 默认=true)
kube:ResourceHealthStatus=true|false (ALPHA - 默认=false)
kube:RotateKubeletServerCertificate=true|false (BETA - 默认=true)
kube:RuntimeClassInImageCriApi=true|false (ALPHA - 默认=false)
kube:SELinuxChangePolicy=true|false (ALPHA - 默认=false)
kube:SELinuxMount=true|false (ALPHA - 默认=false)
kube:SELinuxMountReadWriteOncePod=true|false (BETA - 默认=true)
kube:SchedulerAsyncPreemption=true|false (ALPHA - 默认=false)
kube:SchedulerQueueingHints=true|false (BETA - 默认=true)
kube:SeparateCacheWatchRPC=true|false (BETA - 默认=true)
kube:SeparateTaintEvictionController=true|false (BETA - 默认=true)
kube:ServiceAccountNodeAudienceRestriction=true|false (BETA - 默认=true)
kube:ServiceAccountTokenNodeBinding=true|false (BETA - 默认=true)
kube:ServiceTrafficDistribution=true|false (BETA - 默认=true)
kube:SidecarContainers=true|false (BETA - 默认=true)
kube:StorageNamespaceIndex=true|false (BETA - 默认=true)
kube:StorageVersionAPI=true|false (ALPHA - 默认=false)
kube:StorageVersionHash=true|false (BETA - 默认=true)
kube:StorageVersionMigrator=true|false (ALPHA - 默认=false)
kube:StructuredAuthenticationConfiguration=true|false (BETA - 默认=true)
kube:SupplementalGroupsPolicy=true|false (ALPHA - 默认=false)
kube:SystemdWatchdog=true|false (BETA - 默认=true)
kube:TopologyAwareHints=true|false (BETA - 默认=true)
kube:TopologyManagerPolicyAlphaOptions=true|false (ALPHA - 默认=false)
kube:TopologyManagerPolicyBetaOptions=true|false (BETA - 默认=true)
kube:TranslateStreamCloseWebsocketRequests=true|false (BETA - 默认=true)
kube:UnauthenticatedHTTP2DOSMitigation=true|false (BETA - 默认=true)
kube:UnknownVersionInteroperabilityProxy=true|false (ALPHA - 默认=false)
kube:UserNamespacesPodSecurityStandards=true|false (ALPHA - 默认=false)
kube:UserNamespacesSupport=true|false (BETA - 默认=false)
kube:VolumeAttributesClass=true|false (BETA - 默认=false)
kube:VolumeCapacityPriority=true|false (ALPHA - 默认=false)
kube:WatchCacheInitializationPostStartHook=true|false (BETA - 默认=false)
kube:WatchFromStorageWithoutResourceVersion=true|false (BETA - 默认=false)
kube:WatchList=true|false (BETA - 默认=true)
kube:WatchListClient=true|false (BETA - 默认=false)
kube:WinDSR=true|false (ALPHA - 默认=false)
kube:WinOverlay=true|false (BETA - 默认=true)
kube:WindowsCPUAndMemoryAffinity=true|false (ALPHA - 默认=false)
kube:WindowsGracefulNodeShutdown=true|false (ALPHA - 默认=false)
kube:WindowsHostNetwork=true|false (ALPHA - 默认=true)

--goaway-chance float

为了防止 HTTP/2 客户端卡在单个 apiserver 上,随机关闭一个连接 (GOAWAY)。客户端的其他正在进行的请求不会受到影响,并且客户端将重新连接,很可能在再次通过负载均衡器后落到不同的 apiserver 上。此参数设置将发送 GOAWAY 的请求比例。具有单个 apiserver 或不使用负载均衡器的集群不应启用此功能。最小值为 0 (关闭),最大值为 .02 (1/50 个请求);建议的起始值为 .001 (1/1000)。

-h, --help

kube-apiserver 的帮助信息

--http2-max-streams-per-connection int

服务器给客户端的 HTTP/2 连接中最大流数量的限制。零表示使用 golang 的默认值。

--kubelet-certificate-authority string

证书颁发机构的证书文件的路径。

--kubelet-client-certificate string

用于 TLS 的客户端证书文件的路径。

--kubelet-client-key string

用于 TLS 的客户端密钥文件的路径。

--kubelet-preferred-address-types strings     默认值: "Hostname,InternalDNS,InternalIP,ExternalDNS,ExternalIP"

用于 kubelet 连接的首选 NodeAddressTypes 列表。

--kubelet-timeout duration     默认值: 5s

kubelet 操作的超时时间。

--kubernetes-service-node-port int

如果非零,Kubernetes master 服务(apiserver 创建/维护)的类型将为 NodePort,使用此值作为端口的值。如果为零,Kubernetes master 服务的类型将为 ClusterIP。

--lease-reuse-duration-seconds int     默认值: 60

每个租约被重用的时间(以秒为单位)。较低的值可以避免大量对象重用同一租约。请注意,过小的值可能会导致存储层出现性能问题。

--livez-grace-period duration

此选项表示 apiserver 完成其启动序列并变为活动状态所需的最大时间。从 apiserver 的启动时间到此时间过去时,/livez 将假定未完成的启动后钩子将成功完成,因此返回 true。

--log-flush-frequency duration     默认值: 5s

日志刷新之间的最大秒数

--log-text-info-buffer-size quantity

[Alpha] 在具有拆分输出流的文本格式中,信息消息可以缓冲一段时间以提高性能。默认值零字节禁用缓冲。大小可以指定为字节数 (512)、1000 的倍数 (1K)、1024 的倍数 (2Ki) 或这些数的幂 (3M、4G、5Mi、6Gi)。启用 LoggingAlphaOptions 功能门以使用此功能。

--log-text-split-stream

[Alpha] 在文本格式中,将错误消息写入 stderr,将信息消息写入 stdout。默认是将单个流写入 stdout。启用 LoggingAlphaOptions 功能门以使用此功能。

--logging-format string     默认值: "text"

设置日志格式。允许的格式:"text"。

--max-connection-bytes-per-sec int

如果非零,则将每个用户连接的速率限制为每秒此字节数。目前仅适用于长时间运行的请求。

--max-mutating-requests-inflight int     默认值: 200

如果 --enable-priority-and-fairness 为 true,则此值和 --max-requests-inflight 的总和确定服务器的总并发限制(必须为正数)。否则,此标志限制正在进行的 mutating 请求的最大数量,或者零值完全禁用限制。

--max-requests-inflight int     默认值: 400

如果 --enable-priority-and-fairness 为 true,则此值和 --max-mutating-requests-inflight 的总和确定服务器的总并发限制(必须为正数)。否则,此标志限制正在进行的 non-mutating 请求的最大数量,或者零值完全禁用限制。

--min-request-timeout int     默认值: 1800

一个可选字段,指示处理程序在超时之前必须保持请求打开的最小秒数。目前仅由 watch 请求处理程序遵守,该处理程序选择一个高于此数字的随机值作为连接超时时间,以分散负载。

--oidc-ca-file string

如果设置,OpenID 服务器的证书将由 oidc-ca-file 中的一个授权机构验证,否则将使用主机的根 CA 集。

--oidc-client-id string

OpenID Connect 客户端的客户端 ID,如果设置了 oidc-issuer-url,则必须设置。

--oidc-groups-claim string

如果提供,则用于指定用户组的自定义 OpenID Connect 声明的名称。声明值应为字符串或字符串数组。此标志是实验性的,请参阅身份验证文档以获取更多详细信息。

--oidc-groups-prefix string

如果提供,所有组将以此值作为前缀,以防止与其他身份验证策略发生冲突。

--oidc-issuer-url string

OpenID 颁发者的 URL,只接受 HTTPS 方案。如果设置,它将用于验证 OIDC JSON Web Token (JWT)。

--oidc-required-claim <逗号分隔的 'key=value' 对>

一个 key=value 对,描述 ID 令牌中所需的声明。如果设置,则验证声明是否存在于 ID 令牌中并具有匹配的值。重复此标志以指定多个声明。

--oidc-signing-algs strings     默认值: "RS256"

允许的 JOSE 非对称签名算法的逗号分隔列表。具有受支持的 'alg' 标头值的 JWT 包括:RS256、RS384、RS512、ES256、ES384、ES512、PS256、PS384、PS512。值由 RFC 7518 https://tools.ietf.org/html/rfc7518#section-3.1 定义。

--oidc-username-claim string     默认值: "sub"

用作用户名的 OpenID 声明。请注意,默认值 ('sub') 以外的声明不能保证是唯一和不可变的。此标志是实验性的,请参阅身份验证文档以获取更多详细信息。

--oidc-username-prefix string

如果提供,所有用户名将以此值作为前缀。如果未提供,则 'email' 以外的用户名声明将以颁发者 URL 作为前缀,以避免冲突。要跳过任何前缀,请提供值 '-'。

--peer-advertise-ip string

如果设置且启用了 UnknownVersionInteroperabilityProxy 功能门,当对等 kube-apiserver 由于 kube-apiserver 之间的版本偏差而无法处理请求时,此 IP 将被对等 kube-apiserver 用于代理请求到此 kube-apiserver。此标志仅在为高可用性配置了多个 kube-apiserver 的集群中使用。

--peer-advertise-port string

如果设置且启用了 UnknownVersionInteroperabilityProxy 功能门,当对等 kube-apiserver 由于 kube-apiserver 之间的版本偏差而无法处理请求时,此端口将被对等 kube-apiserver 用于代理请求到此 kube-apiserver。此标志仅在为高可用性配置了多个 kube-apiserver 的集群中使用。

--peer-ca-file string

如果设置且启用了 UnknownVersionInteroperabilityProxy 功能门,此文件将用于验证对等 kube-apiserver 的服务证书。此标志仅在为高可用性配置了多个 kube-apiserver 的集群中使用。

--permit-address-sharing

如果为 true,则在绑定端口时将使用 SO_REUSEADDR。这允许并行绑定到通配符 IP(如 0.0.0.0)和特定 IP,并且避免等待内核释放处于 TIME_WAIT 状态的套接字。 [默认=false]

--permit-port-sharing

如果为 true,则在绑定端口时将使用 SO_REUSEPORT,这允许多个实例绑定到同一地址和端口。 [默认=false]

--profiling     默认值: true

通过 Web 界面 host:port/debug/pprof/ 启用性能分析

--proxy-client-cert-file string

客户端证书用于在请求期间必须向外调用时,证明聚合器或 kube-apiserver 的身份。这包括将请求代理到用户 api 服务器以及调用 webhook 准入插件。此证书应包含来自 `--requestheader-client-ca-file` 标志中 CA 的签名。该 CA 发布在 kube-system 命名空间中的 'extension-apiserver-authentication' configmap 中。从 kube-aggregator 接收调用的组件应使用该 CA 执行其一半的相互 TLS 验证。

--proxy-client-key-file string

客户端证书的私钥,用于在请求期间必须向外调用时,证明聚合器或 kube-apiserver 的身份。这包括将请求代理到用户 api 服务器以及调用 webhook 准入插件。

--request-timeout duration     默认值:1m0s

一个可选字段,指示处理程序在超时之前必须保持请求打开的持续时间。这是请求的默认请求超时时间,但可以通过诸如 `--min-request-timeout` 之类的标志为特定类型的请求覆盖。

--requestheader-allowed-names strings

允许在 `--requestheader-username-headers` 指定的标头中提供用户名的客户端证书通用名称列表。如果为空,则允许任何通过 `--requestheader-client-ca-file` 中的授权机构验证的客户端证书。

--requestheader-client-ca-file string

用于在信任由 `--requestheader-username-headers` 指定的标头中的用户名之前,验证传入请求上的客户端证书的根证书包。警告:通常不要依赖于传入请求已经完成的授权。

--requestheader-extra-headers-prefix strings

要检查的请求标头前缀列表。建议使用 X-Remote-Extra-。

--requestheader-group-headers strings

要检查的组的请求标头列表。建议使用 X-Remote-Group。

--requestheader-uid-headers strings

要检查的 UID 的请求标头列表。建议使用 X-Remote-Uid。需要启用 RemoteRequestHeaderUID 功能。

--requestheader-username-headers strings

要检查用户名的请求标头列表。X-Remote-User 是常见的。

--runtime-config <逗号分隔的 'key=value' 对>

一组键值对,用于启用或禁用内置 API。支持的选项有
v1=true|false,用于核心 API 组
<group>/<version>=true|false,用于特定的 API 组和版本(例如 apps/v1=true)
api/all=true|false,控制所有 API 版本
api/ga=true|false,控制所有 v[0-9]+ 形式的 API 版本
api/beta=true|false,控制所有 v[0-9]+beta[0-9]+ 形式的 API 版本
api/alpha=true|false,控制所有 v[0-9]+alpha[0-9]+ 形式的 API 版本
api/legacy 已弃用,将在未来版本中删除

--secure-port int     默认值:6443

用于提供带有身份验证和授权的 HTTPS 的端口。不能用 0 关闭。

--service-account-extend-token-expiration     默认值:true

在令牌生成期间启用投影的服务帐户过期时间延长,这有助于从传统令牌安全过渡到绑定的服务帐户令牌功能。如果启用了此标志,则注入的准入令牌将延长至 1 年,以防止过渡期间发生意外故障,忽略 service-account-max-token-expiration 的值。

--service-account-issuer strings

服务帐户令牌颁发者的标识符。颁发者将在颁发的令牌的“iss”声明中声明此标识符。此值是一个字符串或 URI。如果此选项不是 OpenID Discovery 1.0 规范中的有效 URI,即使将功能门设置为 true,ServiceAccountIssuerDiscovery 功能也将保持禁用状态。强烈建议此值符合 OpenID 规范:https://openid.net/specs/openid-connect-discovery-1_0.html。实际上,这意味着 service-account-issuer 必须是 https URL。还强烈建议此 URL 能够在 {service-account-issuer}/.well-known/openid-configuration 上提供 OpenID 发现文档。当多次指定此标志时,第一个用于生成令牌,所有标志都用于确定接受哪些颁发者。

--service-account-jwks-uri string

覆盖 /.well-known/openid-configuration 上提供的发现文档中 JSON Web 密钥集的 URI。如果发现文档和密钥集是从 API 服务器的外部(自动检测或使用外部主机名覆盖)以外的 URL 提供给依赖方,则此标志很有用。

--service-account-key-file strings

包含 PEM 编码的 x509 RSA 或 ECDSA 私钥或公钥的文件,用于验证 ServiceAccount 令牌。指定的文件可以包含多个密钥,并且可以使用不同的文件多次指定该标志。如果未指定,则使用 --tls-private-key-file。当提供 --service-account-signing-key-file 时必须指定。

--service-account-lookup     默认值:true

如果为 true,则验证 ServiceAccount 令牌在 etcd 中是否存在,作为身份验证的一部分。

--service-account-max-token-expiration duration

服务帐户令牌颁发者创建的令牌的最大有效持续时间。如果请求的有效持续时间大于此值的有效 TokenRequest,则将颁发具有此值的有效持续时间的令牌。

--service-account-signing-endpoint string

外部 JWT 签名器正在侦听的套接字路径。此标志与 --service-account-signing-key-file 和 --service-account-key-file 互斥。需要启用功能门 (ExternalServiceAccountTokenSigner)

--service-account-signing-key-file string

包含服务帐户令牌颁发者当前私钥的文件路径。颁发者将使用此私钥对颁发的 ID 令牌进行签名。

--service-cluster-ip-range string

用于分配服务集群 IP 的 CIDR 表示法 IP 范围。这不能与分配给节点或 Pod 的任何 IP 范围重叠。最多允许两个双堆栈 CIDR。

--service-node-port-range <形式为 'N1-N2' 的字符串>     默认值:30000-32767

为具有 NodePort 可见性的服务保留的端口范围。这不能与节点上的临时端口范围重叠。示例:'30000-32767'。范围两端均包含在内。

--show-hidden-metrics-for-version string

您希望显示隐藏指标的先前版本。只有先前次要版本有意义,不允许其他值。格式为 <major>.<minor>,例如:'1.16'。此格式的目的是确保您有机会注意到下一个版本是否隐藏了其他指标,而不是在下一个版本中永久删除它们时感到惊讶。

--shutdown-delay-duration duration

终止延迟的时间。在此期间,服务器将继续正常提供请求。端点 /healthz 和 /livez 将返回成功,但 /readyz 会立即返回失败。在此延迟过去后,将开始正常终止。这可用于允许负载均衡器停止向此服务器发送流量。

--shutdown-send-retry-after

如果为 true,则 HTTP 服务器将继续侦听,直到所有正在运行的非长时间运行的请求都已耗尽,在此窗口期间,所有传入请求都将被拒绝,状态码为 429,并且响应标头为“Retry-After”,此外,设置“Connection: close”响应标头是为了在空闲时断开 TCP 连接。

--shutdown-watch-termination-grace-period duration

如果设置了此选项,则表示 apiserver 在正常服务器关闭窗口期间等待活动监视请求耗尽的最长宽限期。

--storage-backend string

用于持久化的存储后端。选项:'etcd3'(默认)。

--storage-initialization-timeout duration     默认值:1m0s

在声明 apiserver 准备就绪之前,等待存储初始化的最长时间。默认为 1m。

--storage-media-type string     默认值:"application/vnd.kubernetes.protobuf"

用于在存储中存储对象的媒体类型。某些资源或存储后端可能仅支持特定的媒体类型,并且将忽略此设置。支持的媒体类型:[application/json, application/yaml, application/vnd.kubernetes.protobuf]

--strict-transport-security-directives strings

HSTS 的指令列表,用逗号分隔。如果此列表为空,则不会添加 HSTS 指令。示例:'max-age=31536000,includeSubDomains,preload'

--tls-cert-file string

包含 HTTPS 的默认 x509 证书的文件。(如果存在,则 CA 证书连接在服务器证书之后)。如果启用了 HTTPS 服务,并且未提供 --tls-cert-file 和 --tls-private-key-file,则会为公共地址生成自签名证书和密钥,并保存到 --cert-dir 指定的目录中。

--tls-cipher-suites strings

服务器的密码套件的逗号分隔列表。如果省略,将使用默认的 Go 密码套件。
首选值:TLS_AES_128_GCM_SHA256、TLS_AES_256_GCM_SHA384、TLS_CHACHA20_POLY1305_SHA256、TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA、TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256、TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA、TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384、TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305、TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256、TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA、TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256、TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA、TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384、TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305、TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256。
不安全的值:TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256、TLS_ECDHE_ECDSA_WITH_RC4_128_SHA、TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA、TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256、TLS_ECDHE_RSA_WITH_RC4_128_SHA、TLS_RSA_WITH_3DES_EDE_CBC_SHA、TLS_RSA_WITH_AES_128_CBC_SHA、TLS_RSA_WITH_AES_128_CBC_SHA256、TLS_RSA_WITH_AES_128_GCM_SHA256、TLS_RSA_WITH_AES_256_CBC_SHA、TLS_RSA_WITH_AES_256_GCM_SHA384、TLS_RSA_WITH_RC4_128_SHA。

--tls-min-version string

支持的最小 TLS 版本。可能的值:VersionTLS10、VersionTLS11、VersionTLS12、VersionTLS13

--tls-private-key-file string

包含与 --tls-cert-file 匹配的默认 x509 私钥的文件。

--tls-sni-cert-key string

一对 x509 证书和私钥文件路径,可以选择附加一个域名模式列表,这些域名模式是完全限定的域名,可能带有前缀通配符段。域名模式还允许 IP 地址,但只有当 apiserver 可以看到客户端请求的 IP 地址时,才应使用 IP。如果未提供域名模式,则会提取证书的名称。非通配符匹配优先于通配符匹配,显式域名模式优先于提取的名称。对于多个密钥/证书对,请多次使用 --tls-sni-cert-key。示例:"example.crt,example.key" 或 "foo.crt,foo.key:*.foo.com,foo.com"。

--token-auth-file string

如果设置,则该文件将用于通过令牌身份验证保护 API 服务器的安全端口。

--tracing-config-file string

包含 apiserver 跟踪配置的文件。

-v, --v int

日志级别详细程度的数字

--version version[=true]

--version,--version=raw 打印版本信息并退出;--version=vX.Y.Z... 设置报告的版本

--vmodule pattern=N,...

用于文件筛选日志记录的 pattern=N 设置的逗号分隔列表(仅适用于文本日志格式)

--watch-cache     默认值:true

在 apiserver 中启用监视缓存

--watch-cache-sizes strings

某些资源(pod、节点等)的监视缓存大小设置,用逗号分隔。单个设置格式:resource[.group]#size,其中 resource 是小写的复数形式(没有版本),对于 apiVersion v1(旧核心 API)的资源省略 group,对于其他资源则包括 group,size 是一个数字。此选项仅对内置于 apiserver 的资源有意义,而不对由 CRD 定义的或从外部服务器聚合的资源有意义,并且只有在启用了 watch-cache 时才会查询此选项。此处提供的唯一有意义的大小设置是零,这意味着禁用关联资源的监视缓存;所有非零值都是等效的,意味着不禁用该资源的监视缓存

此页面自动生成。

如果您计划报告此页面的问题,请在问题描述中注明该页面是自动生成的。修复可能需要在 Kubernetes 项目的其他地方进行。

上次修改时间为太平洋标准时间 2024 年 12 月 12 日下午 2:31:为 v1.32 重新生成组件参考 (f88d4ccd1d)