kube-apiserver

Synopsis

Kubernetes API 伺服器驗證和配置包括 Pod、Service、ReplicationController 等 API 物件的資料。API 伺服器提供 REST 操作,並透過叢集的共享狀態提供前端,所有其他元件都透過該共享狀態進行互動。

kube-apiserver [flags]

Options

--admission-control-config-file string

包含准入控制配置的檔案。

--advertise-address string

API 伺服器廣告的 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 string

包含允許列表對映的清單檔案的路徑。檔案的格式與 --allow-metric-labels 標誌相同。請注意,--allow-metric-labels 標誌將覆蓋清單檔案。

--allow-privileged

如果為 true,則允許特權容器。[預設值=false]

--anonymous-auth     預設: true

啟用對 API 伺服器安全埠的匿名請求。未被其他身份驗證方法拒絕的請求將被視為匿名請求。匿名請求的使用者名稱是 system:anonymous,組名是 system:unauthenticated。

--api-audiences strings

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 string     預設: "json"

儲存的審計的格式。“legacy”表示每條事件的單行文字格式。“json”表示結構化 JSON 格式。已知格式為 legacy,json。

--audit-log-maxage int

根據檔名中編碼的時間戳保留舊審計日誌檔案的最大天數。

--audit-log-maxbackup int

要保留的舊審計日誌檔案的最大數量。設定為 0 表示檔案數量沒有限制。

--audit-log-maxsize int

審計日誌檔案在輪換之前允許的最大大小(以兆位元組為單位)。

--audit-log-mode string     預設: "blocking"

傳送審計事件的策略。Blocking 表示傳送事件會阻塞伺服器響應。Batch 使後端非同步緩衝和寫入事件。已知模式為 batch,blocking,blocking-strict。

--audit-log-path string

如果設定,所有發往 apiserver 的請求都將記錄到此檔案中。'-' 表示標準輸出。

--audit-log-truncate-enabled

是否啟用了事件和批處理截斷。

--audit-log-truncate-max-batch-size int     預設: 10485760

傳送到底層後端的批處理的最大大小。實際序列化大小可能比此值多幾百位元組。如果批處理超過此限制,它將被分割成幾個較小的批次。

--audit-log-truncate-max-event-size int     預設: 102400

傳送到底層後端的審計事件的最大大小。如果事件大小大於此數字,則首先刪除請求和響應,如果這不足以減小大小,則丟棄事件。

--audit-log-version string     預設: "audit.k8s.io/v1"

用於序列化寫入日誌的審計事件的 API 組和版本。

--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     預設: 15

如果在之前未利用 ThrottleQPS,則同時傳送的最大請求數。僅在批處理模式下使用。

--audit-webhook-batch-throttle-enable     預設: true

是否啟用了批處理限流。僅在批處理模式下使用。

--audit-webhook-batch-throttle-qps float     預設: 10

每秒的最大平均批次數。僅在批處理模式下使用。

--audit-webhook-config-file string

定義審計 webhook 配置的 kubeconfig 格式檔案的路徑。

--audit-webhook-initial-backoff duration     預設: 10s

重試第一次失敗請求之前等待的時間。

--audit-webhook-mode string     預設: "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 string     預設: "audit.k8s.io/v1"

用於序列化寫入 webhook 的審計事件的 API 組和版本。

--authentication-config string

包含身份驗證配置的檔案,用於配置 JWT 令牌身份驗證器或匿名身份驗證器。需要 StructuredAuthenticationConfiguration 功能門。還需要 AnonymousAuthConfigurableEndpoints 功能門來配置配置檔案中的匿名身份驗證器。如果檔案配置了 JWT 令牌身份驗證器,則此標誌與 --oidc-* 標誌互斥。如果檔案配置了匿名身份驗證器,則此標誌與 --anonymous-auth 互斥。

--authentication-token-webhook-cache-ttl duration     預設: 2m0s

從 webhook 令牌身份驗證器快取響應的持續時間。

--authentication-token-webhook-config-file string

用於令牌身份驗證的 webhook 配置檔案的 kubeconfig 格式檔案。API 伺服器將查詢遠端服務以確定承載令牌的身份驗證。

--authentication-token-webhook-version string     預設: "v1beta1"

要傳送到 webhook 並從中期望的 authentication.k8s.io TokenReview 的 API 版本。

--authorization-config string

包含授權配置的檔案,用於配置授權器鏈。需要 StructuredAuthorizationConfiguration 功能門。此標誌與其他 --authorization-mode 和 --authorization-webhook-* 標誌互斥。

--authorization-mode strings

在安全埠上進行授權的外掛的有序列表。如果未使用 --authorization-config,則預設為 AlwaysAllow。逗號分隔的列表,包含:AlwaysAllow,AlwaysDeny,ABAC,Webhook,RBAC,Node。

--authorization-policy-file string

在安全埠上使用 --authorization-mode=ABAC 時,包含 JSON 格式(逐行)授權策略的檔案。

--authorization-webhook-cache-authorized-ttl duration     預設: 5m0s

快取 webhook 授權器“已授權”響應的持續時間。

--authorization-webhook-cache-unauthorized-ttl duration     預設: 30s

快取 webhook 授權器“未授權”響應的持續時間。

--authorization-webhook-config-file string

使用 --authorization-mode=Webhook 時,包含 kubeconfig 格式的 webhook 配置的檔案。API 伺服器將查詢遠端服務以確定對 API 伺服器安全埠的訪問許可權。

--authorization-webhook-version string     預設: "v1beta1"

要傳送到 webhook 並從中期望的 authorization.k8s.io SubjectAccessReview 的 API 版本。

--bind-address string     預設: 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

使用未受保護的(無身份驗證/授權)Unix 域套接字透過指定路徑進行分析

--default-not-ready-toleration-seconds int     預設: 300

表示將預設新增到每個尚未具有該容忍度的 Pod 的 notReady:NoExecute 容忍度的 tolerationSeconds。

--default-unreachable-toleration-seconds int     預設: 300

表示將預設新增到每個尚未具有該容忍度的 Pod 的 unreachable:NoExecute 容忍度的 tolerationSeconds。

--delete-collection-workers int     預設: 1

為 DeleteCollection 呼叫生成的 Worker 數量。這些用於加快名稱空間清理速度。

--disable-admission-plugins strings

應該被停用的准入外掛,儘管它們存在於預設啟用的外掛列表中(NamespaceLifecycle, LimitRanger, ServiceAccount, TaintNodesByCondition, PodSecurity, Priority, DefaultTolerationSeconds, DefaultStorageClass, StorageObjectInUseProtection, PersistentVolumeClaimResize, RuntimeClass, CertificateApproval, CertificateSigning, ClusterTrustBundleAttest, CertificateSubjectRestriction, DefaultIngressClass, PodTopologyLabels, 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, PodTopologyLabels, 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.31..1.33(預設:1.33)
如果未指定元件,則預設為“kube”

--emulation-forward-compatible

如果為 true,則預設啟用或透過 --runtime-config 在模擬版本中啟用的 beta+ API,即使它們是在模擬版本之後引入的,它們未來版本(具有更高優先順序/穩定性)也將被自動啟用。只有當模擬版本低於二進位制版本時,才能設定為 true。

--enable-admission-plugins strings

應在預設啟用的外掛之外額外啟用的准入外掛(NamespaceLifecycle, LimitRanger, ServiceAccount, TaintNodesByCondition, PodSecurity, Priority, DefaultTolerationSeconds, DefaultStorageClass, StorageObjectInUseProtection, PersistentVolumeClaimResize, RuntimeClass, CertificateApproval, CertificateSigning, ClusterTrustBundleAttest, CertificateSubjectRestriction, DefaultIngressClass, PodTopologyLabels, 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, PodTopologyLabels, 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,則用一個增強的處理器替換 max-in-flight 處理器,該處理器可以進行優先順序和公平性佇列和排程。

--encryption-provider-config string

包含用於加密提供程式的配置的檔案,這些提供程式將用於在 etcd 中儲存 Secret。

--encryption-provider-config-automatic-reload

確定 --encryption-provider-config 設定的檔案是否會在磁碟內容更改時自動重新載入。設定為 true 會停用透過 apiserver 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,其中 servers 是 URL,分號分隔。注意,這僅適用於編譯到此伺服器二進位制檔案中的資源。

--event-ttl duration     預設: 1h0m0s

保留事件的時間。

--external-hostname string

生成此 master 的外部化 URL(例如 Swagger API Docs 或 OpenID Discovery)時使用的主機名。

--feature-gates colonSeparatedMultimapStringString

逗號分隔的元件: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:AllowParsingUserUIDFromCertAuth=true|false (BETA - 預設=true)
kube:AllowUnsafeMalformedObjectDeletion=true|false (ALPHA - 預設=false)
kube:AnonymousAuthConfigurableEndpoints=true|false (BETA - 預設=true)
kube:AuthorizeNodeWithSelectors=true|false (BETA - 預設=true)
kube:AuthorizeWithSelectors=true|false (BETA - 預設=true)
kube:CBORServingAndStorage=true|false (ALPHA - 預設=false)
kube:CPUManagerPolicyAlphaOptions=true|false (ALPHA - 預設=false)
kube:CPUManagerPolicyBetaOptions=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 (BETA - 預設=false)
kube:ClusterTrustBundleProjection=true|false (BETA - 預設=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:ContainerStopSignals=true|false (ALPHA - 預設=false)
kube:ContextualLogging=true|false (BETA - 預設=true)
kube:CoordinatedLeaderElection=true|false (BETA - 預設=false)
kube:CrossNamespaceVolumeDataSource=true|false (ALPHA - 預設=false)
kube:CustomCPUCFSQuotaPeriod=true|false (ALPHA - 預設=false)
kube:DRAAdminAccess=true|false (ALPHA - 預設=false)
kube:DRADeviceTaints=true|false (ALPHA - 預設=false)
kube:DRAPartitionableDevices=true|false (ALPHA - 預設=false)
kube:DRAPrioritizedList=true|false (ALPHA - 預設=false)
kube:DRAResourceClaimDeviceStatus=true|false (BETA - 預設=true)
kube:DeclarativeValidation=true|false (BETA - 預設=true)
kube:DeclarativeValidationTakeover=true|false (BETA - 預設=false)
kube:DeploymentReplicaSetTerminatingReplicas=true|false (ALPHA - 預設=false)
kube:DisableAllocatorDualWrite=true|false (BETA - 預設=false)
kube:DisableCPUQuotaWithExclusiveCPUs=true|false (BETA - 預設=true)
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:HPAConfigurableTolerance=true|false (ALPHA - 預設=false)
kube:HPAScaleToZero=true|false (ALPHA - 預設=false)
kube:ImageMaximumGCAge=true|false (BETA - 預設=true)
kube:ImageVolume=true|false (BETA - 預設=false)
kube:InOrderInformers=true|false (BETA - 預設=true)
kube:InPlacePodVerticalScaling=true|false (BETA - 預設=true)
kube:InPlacePodVerticalScalingExclusiveCPUs=true|false (ALPHA - 預設=false)
kube:InTreePluginPortworxUnregister=true|false (ALPHA - 預設=false)
kube:InformerResourceVersion=true|false (ALPHA - 預設=false)
kube:JobManagedBy=true|false (BETA - 預設=true)
kube:JobPodReplacementPolicy=true|false (BETA - 預設=true)
kube:KubeletCgroupDriverFromCRI=true|false (BETA - 預設=true)
kube:KubeletCrashLoopBackOffMax=true|false (ALPHA - 預設=false)
kube:KubeletEnsureSecretPulledImages=true|false (ALPHA - 預設=false)
kube:KubeletFineGrainedAuthz=true|false (BETA - 預設=true)
kube:KubeletInUserNamespace=true|false (ALPHA - 預設=false)
kube:KubeletPSI=true|false (ALPHA - 預設=false)
kube:KubeletPodResourcesDynamicResources=true|false (ALPHA - 預設=false)
kube:KubeletPodResourcesGet=true|false (ALPHA - 預設=false)
kube:KubeletSeparateDiskGC=true|false (BETA - 預設=true)
kube:KubeletServiceAccountTokenForCredentialProviders=true|false (ALPHA - 預設=false)
kube:KubeletTracing=true|false (BETA - 預設=true)
kube:ListFromCacheSnapshot=true|false (ALPHA - 預設=false)
kube:LocalStorageCapacityIsolationFSQuotaMonitoring=true|false (BETA - 預設=false)
kube:LoggingAlphaOptions=true|false (ALPHA - 預設=false)
kube:LoggingBetaOptions=true|false (BETA - 預設=true)
kube:MatchLabelKeysInPodTopologySpread=true|false (BETA - 預設=true)
kube:MaxUnavailableStatefulSet=true|false (ALPHA - 預設=false)
kube:MemoryQoS=true|false (ALPHA - 預設=false)
kube:MutableCSINodeAllocatableCount=true|false (ALPHA - 預設=false)
kube:MutatingAdmissionPolicy=true|false (ALPHA - 預設=false)
kube:NodeLogQuery=true|false (BETA - 預設=false)
kube:NodeSwap=true|false (BETA - 預設=true)
kube:OpenAPIEnums=true|false (BETA - 預設=true)
kube:OrderedNamespaceDeletion=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 (BETA - 預設=true)
kube:PodLogsQuerySplitStreams=true|false (ALPHA - 預設=false)
kube:PodObservedGenerationTracking=true|false (ALPHA - 預設=false)
kube:PodReadyToStartContainersCondition=true|false (BETA - 預設=true)
kube:PodTopologyLabelsAdmission=true|false (ALPHA - 預設=false)
kube:PortForwardWebsockets=true|false (BETA - 預設=true)
kube:PreferSameTrafficDistribution=true|false (ALPHA - 預設=false)
kube:ProcMountType=true|false (BETA - 預設=true)
kube:QOSReserved=true|false (ALPHA - 預設=false)
kube:RecoverVolumeExpansionFailure=true|false (BETA - 預設=true)
kube:ReduceDefaultCrashLoopBackOffDecay=true|false (ALPHA - 預設=false)
kube:RelaxedDNSSearchValidation=true|false (BETA - 預設=true)
kube:RelaxedEnvironmentVariableValidation=true|false (BETA - 預設=true)
kube:ReloadKubeletServerCertificateFile=true|false (BETA - 預設=true)
kube:RemoteRequestHeaderUID=true|false (BETA - 預設=true)
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 (BETA - 預設=true)
kube:SELinuxMount=true|false (BETA - 預設=false)
kube:SELinuxMountReadWriteOncePod=true|false (BETA - 預設=true)
kube:SchedulerAsyncPreemption=true|false (BETA - 預設=true)
kube:SchedulerPopFromBackoffQ=true|false (BETA - 預設=true)
kube:SchedulerQueueingHints=true|false (BETA - 預設=true)
kube:SeparateTaintEvictionController=true|false (BETA - 預設=true)
kube:ServiceAccountNodeAudienceRestriction=true|false (BETA - 預設=true)
kube:StorageCapacityScoring=true|false (ALPHA - 預設=false)
kube:StorageVersionAPI=true|false (ALPHA - 預設=false)
kube:StorageVersionHash=true|false (BETA - 預設=true)
kube:StorageVersionMigrator=true|false (ALPHA - 預設=false)
kube:StreamingCollectionEncodingToJSON=true|false (BETA - 預設=true)
kube:StreamingCollectionEncodingToProtobuf=true|false (BETA - 預設=true)
kube:StrictIPCIDRValidation=true|false (ALPHA - 預設=false)
kube:StructuredAuthenticationConfiguration=true|false (BETA - 預設=true)
kube:SupplementalGroupsPolicy=true|false (BETA - 預設=true)
kube:SystemdWatchdog=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 - 預設=true)
kube:VolumeAttributesClass=true|false (BETA - 預設=false)
kube:WatchCacheInitializationPostStartHook=true|false (BETA - 預設=false)
kube:WatchList=true|false (BETA - 預設=false)
kube:WatchListClient=true|false (BETA - 預設=false)
kube:WinDSR=true|false (BETA - 預設=true)
kube:WinOverlay=true|false (BETA - 預設=true)
kube:WindowsCPUAndMemoryAffinity=true|false (ALPHA - 預設=false)
kube:WindowsGracefulNodeShutdown=true|false (ALPHA - 預設=false)

--goaway-chance float

為防止 HTTP/2 客戶端卡在單個 apiserver 上,隨機關閉一個連線 (GOAWAY)。客戶端的其他正在進行的請求不會受到影響,客戶端將重新連線,很可能在再次透過負載均衡器後連線到另一個 apiserver。此引數設定了傳送 GOAWAY 的請求的比例。單 apiserver 的叢集或不使用負載均衡器的叢集不應啟用此項。最小值為 0(關閉),最大值為 0.02(1/50 個請求);0.001(1/1000)是一個推薦的起始點。

-h, --help

kube-apiserver 的幫助

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

伺服器為每個 HTTP/2 連線允許客戶端的最大流數。零表示使用 Go 的預設值。

--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

每個 lease 可重用的秒數。較小的值可以避免大量物件重用同一個 lease。請注意,過小的值可能會導致儲存層的效能問題。

--livez-grace-period duration

此選項表示 apiserver 完成其啟動順序並變為 live 所需的最長時間。從 apiserver 啟動時間到此時間過去,/livez 將假設未完成的 post-start hook 將成功完成,因此返回 true。

--log-flush-frequency duration     預設: 5s

日誌重新整理之間的最大秒數

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

[Alpha] 在具有拆分輸出流的文字格式中,資訊訊息可以緩衝一段時間以提高效能。零位元組的預設值停用緩衝。大小可以指定為位元組數(512)、千位元組倍數(1K)、兆位元組倍數(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

此項與 --max-requests-inflight 一起用於確定伺服器的總併發限制(必須為正數),如果 --enable-priority-and-fairness 為 true。否則,此標誌限制正在進行的變異請求的最大數量,零值表示完全停用此限制。

--max-requests-inflight int     預設: 400

此項與 --max-mutating-requests-inflight 一起用於確定伺服器的總併發限制(必須為正數),如果 --enable-priority-and-fairness 為 true。否則,此標誌限制正在進行的非變異請求的最大數量,零值表示完全停用此限制。

--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 令牌 (JWT)。

--oidc-required-claim <comma-separated 'key=value' pairs>

描述 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 功能門,並且該 IP 已設定,則當請求由於 kube-apiserver 之間的版本不匹配而無法由對等節點處理時,對等 kube-apiserver 將使用此 IP 來代理到此 kube-apiserver 的請求。此標誌僅用於配置了多個高可用性 kube-apiserver 的叢集。

--peer-advertise-port string

如果設定了 UnknownVersionInteroperabilityProxy 功能門,並且該埠已設定,則當請求由於 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 <comma-separated 'key=value' pairs>

一組鍵=值對,用於啟用或停用內建 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 已棄用,將在未來版本中刪除

--runtime-config-emulation-forward-compatible

如果為 true,則即使 --runtime-config 標誌中啟用的按組/版本標識的 API 是在模擬版本之後引入的,它們也將被安裝。如果為 false,則伺服器將因 --runtime-config 標誌中啟用的按組/版本標識的 API 在模擬版本之後引入而無法啟動。只有當模擬版本低於二進位制版本時,才能設定為 true。

--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,則 ServiceAccountIssuerDiscovery 功能將保持停用狀態,即使功能門設定為 true。強烈建議此值符合 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 伺服器外部(自動檢測或透過 external-hostname 覆蓋)提供的 URL 提供給信賴方的,則此標誌很有用。

--service-account-key-file strings

包含 PEM 編碼的 x509 RSA 或 ECDSA 私鑰或公鑰的檔案,用於驗證服務帳戶令牌。指定的檔案可以包含多個金鑰,並且可以多次使用不同的檔案指定該標誌。如果未指定,則使用 --tls-private-key-file。提供 --service-account-signing-key-file 時必須指定。

--service-account-lookup     預設: true

如果為 true,則在身份驗證過程中驗證服務帳戶令牌是否存在於 etcd 中。

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

由服務帳戶令牌頒發者建立的令牌的最大有效期。如果請求了有效期大於此值的有效令牌請求,則將頒發有效期為該值的令牌。

--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 <a string in the form '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 將等待活動 watch 請求完成的最長寬限期。

--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,...

用於檔案過濾日誌的模式=N 設定的逗號分隔列表(僅適用於文字日誌格式)

--watch-cache     預設: true

在 apiserver 中啟用 watch 快取

--watch-cache-sizes strings

某些資源(pods, nodes 等)的 watch 快取大小設定,逗號分隔。單個設定格式:resource[.group]#size,其中 resource 是小寫複數(無版本),group 對於 apiVersion v1(舊版核心 API)的資源被省略,其他資源則包含,size 是一個數字。此選項僅對內置於 apiserver 的資源有意義,對於 CRD 定義的或從外部伺服器聚合的資源無意義,並且僅在 watch-cache 啟用時才起作用。此處唯一有意義的大小設定為零,表示停用相關資源的 watch 快取;所有非零值都等效,表示不停用該資源的 watch 快取

本頁面是自動生成的。

如果你打算報告此頁面存在的問題,請在問題描述中提及此頁面是自動生成的。修復可能需要在 Kubernetes 專案的其他地方進行。

最後修改時間:2025 年 4 月 24 日上午 7:58 PST:v1.33 的元件參考 (05a3c54633)