kube-apiserver

摘要

Kubernetes API 伺服器驗證並配置 API 物件的資料,這些物件包括 Pod、服務、replicationcontroller 和其他物件。API 伺服器提供 REST 操作,並透過所有其他元件互動的前端,提供叢集的共用狀態。

kube-apiserver [flags]

選項

--admission-control-config-file string

包含許可控制組態的檔案。

--advertise-address string

向叢集成員公告 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 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

稽核日誌檔案在輪替前的最大大小,單位為 MB (megabytes)。

--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     預設值: 30 秒

在強制寫入尚未達到最大大小的批次之前要等待的時間量。僅在批次模式下使用。

--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     預設值: 10 秒

在重試第一個失敗請求前等待的時間量。

--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     預設值: 2 分鐘 0 秒

快取來自 webhook 權杖驗證器的回應的持續時間。

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

包含 webhook 設定的檔案,用於 kubeconfig 格式的權杖身份驗證。API 伺服器將查詢遠端服務,以判斷持有者權杖的身份驗證。

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

要傳送至 webhook 並從 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

包含 JSON 逐行格式授權策略的檔案,用於安全埠上搭配 --authorization-mode=ABAC 使用。

--authorization-webhook-cache-authorized-ttl duration     預設值: 5 分鐘 0 秒

快取來自 webhook 授權器的 '已授權' 回應的持續時間。

--authorization-webhook-cache-unauthorized-ttl duration     預設值: 30 秒

快取來自 webhook 授權器的 '未授權' 回應的持續時間。

--authorization-webhook-config-file string

包含 kubeconfig 格式 webhook 設定的檔案,用於搭配 --authorization-mode=Webhook 使用。API 伺服器將查詢遠端服務,以判斷在 API 伺服器安全埠上的存取權。

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

要傳送至 webhook 並從 webhook 接收的 authorization.k8s.io SubjectAccessReview 的 API 版本。

--bind-address string     預設值: 0.0.0.0

監聽 --secure-port 埠的 IP 位址。相關的介面必須可由叢集的其餘部分以及 CLI/網頁用戶端連線。如果空白或未指定的位址 (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

如果已啟用 profiling,則啟用 block profiling

--cors-allowed-origins strings

CORS 允許來源的列表,以逗號分隔。允許的來源可以是正規表示式,以支援子網域比對。如果此列表為空,則不會啟用 CORS。請確保每個表示式都符合完整的主機名稱,方法是以 '^' 錨定開頭或包含 '//' 前綴,並以 '$' 錨定結尾或包含 ':' 埠分隔符號後綴。有效表示式的範例為 '//example.com(:|$)' 和 '^https://example.com(:|$)'

--debug-socket-path string

使用未受保護(無 authn/authz)的 unix 網域 socket,以給定的路徑進行 profiling

--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 數量。這些 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

此旗標為行為異常的 metrics 提供了一個應急措施。您必須提供完整的 metric 名稱才能停用它。免責聲明:停用 metrics 的優先順序高於顯示隱藏的 metrics。

--egress-selector-config-file string

包含 apiserver egress selector 設定的檔案。

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

開啟 aggregator 路由請求到端點 IP 而不是叢集 IP。

--enable-bootstrap-token-auth

啟用以允許在 'kube-system' 命名空間中使用 'bootstrap.kubernetes.io/token' 類型的密鑰,用於 TLS 啟動引導身份驗證。

--enable-garbage-collector     預設值: true

啟用通用垃圾收集器。必須與 kube-controller-manager 的對應旗標同步。

--enable-priority-and-fairness     預設值: true

若為 true,則將 max-in-flight 處理程序替換為增強型處理程序,該處理程序使用優先順序和公平性排隊和分派

--encryption-provider-config string

包含加密提供者設定的檔案,用於在 etcd 中儲存密鑰

--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     預設值: 5 分鐘 0 秒

壓縮請求的間隔。若為 0,則停用來自 apiserver 的壓縮請求。

--etcd-count-metric-poll-period duration     預設值: 1 分鐘 0 秒

輪詢 etcd 以取得每種類型資源數量的頻率。0 停用 metric 收集。

--etcd-db-metric-poll-interval duration     預設值: 30 秒

輪詢 etcd 並更新 metric 的請求間隔。0 停用 metric 收集

--etcd-healthcheck-timeout duration     預設值: 2 秒

檢查 etcd 健康狀況時使用的逾時時間。

--etcd-keyfile string

用於保護 etcd 通訊安全的 SSL 金鑰檔案。

--etcd-prefix string     預設值: "/registry"

要添加到 etcd 中所有資源路徑的前綴。

--etcd-readycheck-timeout duration     預設值: 2 秒

檢查 etcd 就緒狀態時使用的逾時時間。

--etcd-servers strings

要連線的 etcd 伺服器列表 (scheme://ip:port),以逗號分隔。

--etcd-servers-overrides strings

每個資源的 etcd 伺服器覆寫,以逗號分隔。個別覆寫格式:群組/資源#伺服器,其中伺服器是 URL,以分號分隔。請注意,這僅適用於編譯到此伺服器二進位檔中的資源。

--event-ttl duration     預設值: 1 小時 0 分鐘 0 秒

保留事件的時間量。

--external-hostname string

為此 master 產生外部化 URL 時使用的主機名稱(例如 Swagger API 文件或 OpenID Discovery)。

--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     預設值: 5 秒

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     預設值: 5 秒

日誌刷新之間的最大秒數。

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

[Alpha] 在具有分割輸出串流的文字格式中,info 訊息可以緩衝一段時間以提高效能。預設值零位元組停用緩衝。大小可以指定為位元組數 (512)、1000 的倍數 (1K)、1024 的倍數 (2Ki) 或這些的次方 (3M, 4G, 5Mi, 6Gi)。啟用 LoggingAlphaOptions 功能閘道以使用此功能。

--log-text-split-stream

[Alpha] 在文字格式中,將錯誤訊息寫入 stderr,將 info 訊息寫入 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 相加,以確定伺服器的總並行限制(必須為正數)。否則,此旗標會限制處理中的變更請求的最大數量,或零值完全停用限制。

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

如果 --enable-priority-and-fairness 為 true,則此值和 --max-mutating-requests-inflight 相加,以確定伺服器的總並行限制(必須為正數)。否則,此旗標會限制處理中的非變更請求的最大數量,或零值完全停用限制。

--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 claim 的名稱。claim 值預期為字串或字串陣列。此旗標為實驗性功能,請參閱身份驗證文件以取得更多詳細資訊。

--oidc-groups-prefix string

若提供,所有群組將以此值為前綴,以防止與其他身份驗證策略衝突。

--oidc-issuer-url string

OpenID issuer 的 URL,僅接受 HTTPS scheme。若設定,它將用於驗證 OIDC JSON Web Token (JWT)。

--oidc-required-claim <逗號分隔的 'key=value' 配對>

描述 ID Token 中所需 claim 的 key=value 配對。若設定,則驗證 claim 是否以符合的值存在於 ID Token 中。重複此旗標以指定多個 claim。

--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 claim。請注意,預設值 ('sub') 以外的 claim 無法保證是唯一且不可變的。此旗標為實驗性功能,請參閱身份驗證文件以取得更多詳細資訊。

--oidc-username-prefix string

若提供,所有使用者名稱將以此值為前綴。若未提供,則 'email' 以外的使用者名稱 claim 會以 issuer URL 為前綴,以避免衝突。若要跳過任何前綴,請提供值 '-'。

--peer-advertise-ip string

若設定且 UnknownVersionInteroperabilityProxy 功能閘道已啟用,當請求由於 kube-apiservers 之間的版本偏差而無法由 peer 處理時,此 IP 將由 peer kube-apiservers 用於將請求代理到此 kube-apiserver。此旗標僅在配置了多個 kube-apiservers 以實現高可用性的叢集中使用。

--peer-advertise-port string

若設定且 UnknownVersionInteroperabilityProxy 功能閘道已啟用,當請求由於 kube-apiservers 之間的版本偏差而無法由 peer 處理時,此埠將由 peer kube-apiservers 用於將請求代理到此 kube-apiserver。此旗標僅在配置了多個 kube-apiservers 以實現高可用性的叢集中使用。

--peer-ca-file string

若設定且 UnknownVersionInteroperabilityProxy 功能閘道已啟用,此檔案將用於驗證 peer kube-apiservers 的服務憑證。此旗標僅在配置了多個 kube-apiservers 以實現高可用性的叢集中使用。

--permit-address-sharing

若為 true,在繫結埠時將使用 SO_REUSEADDR。這允許平行繫結到萬用字元 IP(如 0.0.0.0)和特定 IP,並避免等待核心釋放 TIME_WAIT 狀態的 socket。[預設值=false]

--permit-port-sharing

若為 true,在繫結埠時將使用 SO_REUSEPORT,這允許一個以上的實例繫結到相同的位址和埠。[預設值=false]

--profiling     預設值: true

透過網頁介面 host:port/debug/pprof/ 啟用 profiling。

--proxy-client-cert-file string

用戶端憑證,用於在請求期間必須呼叫外部時,證明 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

用戶端憑證的私密金鑰,用於在請求期間必須呼叫外部時,證明 aggregator 或 kube-apiserver 的身分。這包括將請求代理到使用者 api-server 以及呼叫外部 webhook 許可控制插件。

--request-timeout duration     預設值: 1 分鐘 0 秒

一個選用欄位,指示處理程序在逾時之前必須保持請求開啟的持續時間。這是請求的預設請求逾時時間,但可能會被諸如 --min-request-timeout 之類的旗標針對特定類型的請求覆寫。

--requestheader-allowed-names strings

用戶端憑證 Common Name 列表,允許在 --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' 配對>

一組 key=value 配對,用於啟用或停用內建 API。支援的選項為
v1=true|false 用於核心 API 群組
<群組>/<版本>=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

在權杖產生期間開啟 projected service account 過期時間延長功能,這有助於從舊版權杖安全過渡到綁定 service account 權杖功能。如果啟用此旗標,則注入的 admission 權杖將延長最多 1 年,以防止過渡期間發生意外失敗,並忽略 service-account-max-token-expiration 的值。

--service-account-issuer strings

service account 權杖 issuer 的識別碼。issuer 將在已發行權杖的 "iss" claim 中聲明此識別碼。此值為字串或 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 discovery 文件。當多次指定此旗標時,第一個用於產生權杖,所有旗標都用於確定接受哪些 issuer。

--service-account-jwks-uri string

覆寫在 /.well-known/openid-configuration 提供的 discovery 文件中 JSON Web Key Set 的 URI。如果 discovery 文件和金鑰集是從非 API 伺服器的外部 URL(如自動偵測或使用 external-hostname 覆寫)提供給依賴方,則此旗標很有用。

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

由 service account 權杖 issuer 建立的權杖的最大有效期限。如果請求了有效期限大於此值的其他有效 TokenRequest,則將發行有效期限為此值的權杖。

--service-account-signing-endpoint string

外部 JWT 簽署器監聽的 Socket 路徑。此旗標與 --service-account-signing-key-file 和 --service-account-key-file 互斥。需要啟用功能閘道 (ExternalServiceAccountTokenSigner)

--service-account-signing-key-file 字串

包含服務帳戶權杖簽發者目前私密金鑰的檔案路徑。簽發者將使用此私密金鑰簽署發行的 ID 權杖。

--service-cluster-ip-range 字串

用於指派服務叢集 IP 的 CIDR 標記 IP 範圍。此範圍不得與指派給節點或 Pod 的任何 IP 範圍重疊。最多允許兩個雙堆疊 CIDR。

--service-node-port-range <格式為 'N1-N2' 的字串>     預設值:30000-32767

要為具有 NodePort 可見性的服務保留的埠範圍。此範圍不得與節點上的臨時埠範圍重疊。範例:'30000-32767'。範圍的兩端皆包含在內。

--show-hidden-metrics-for-version 字串

您想要顯示隱藏指標的先前版本。只有先前的次要版本才有意義,不允許其他值。格式為 <major>.<minor>,例如:'1.16'。此格式的目的是確保您有機會注意到下一個版本是否隱藏了其他指標,而不是在之後的版本中永久移除這些指標時感到驚訝。

--shutdown-delay-duration 持續時間

終止延遲的時間。在此期間,伺服器會保持正常處理請求。端點 /healthz 和 /livez 將傳回成功,但 /readyz 會立即傳回失敗。寬限期終止會在延遲時間過後開始。這可用於允許負載平衡器停止向此伺服器發送流量。

--shutdown-send-retry-after

若為 true,HTTP 伺服器將持續監聽,直到所有非長時間運行的請求都已耗盡,在此期間,所有傳入的請求都將被拒絕,並傳回狀態碼 429 和 'Retry-After' 回應標頭。此外,還會設定 'Connection: close' 回應標頭,以便在閒置時關閉 TCP 連線。

--shutdown-watch-termination-grace-period 持續時間

如果設定此選項,則表示在寬限期伺服器關閉期間,apiserver 將等待活動中監看請求耗盡的最長寬限期。

--storage-backend 字串

用於持久性的儲存後端。選項:'etcd3' (預設)。

--storage-initialization-timeout 持續時間     預設值:1m0s

在宣告 apiserver 準備就緒之前,等待儲存初始化完成的最長時間。預設為 1 分鐘。

--storage-media-type 字串     預設值:"application/vnd.kubernetes.protobuf"

用於在儲存中儲存物件的媒體類型。某些資源或儲存後端可能僅支援特定的媒體類型,並將忽略此設定。支援的媒體類型:[application/json, application/yaml, application/vnd.kubernetes.protobuf]

--strict-transport-security-directives 字串

HSTS 指令清單,以逗號分隔。如果此清單為空,則不會新增 HSTS 指令。範例:'max-age=31536000,includeSubDomains,preload'

--tls-cert-file 字串

包含 HTTPS 的預設 x509 憑證的檔案。(CA 憑證,如果有的話,串聯在伺服器憑證之後)。如果已啟用 HTTPS 服務,且未提供 --tls-cert-file 和 --tls-private-key-file,則會為公開位址產生自我簽署憑證和金鑰,並儲存到 --cert-dir 指定的目錄中。

--tls-cipher-suites 字串

伺服器的加密套件清單,以逗號分隔。如果省略,將使用預設的 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 字串

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

--tls-private-key-file 字串

包含與 --tls-cert-file 相符的預設 x509 私密金鑰的檔案。

--tls-sni-cert-key 字串

一組 x509 憑證和私密金鑰檔案路徑,可選擇性地附加網域模式清單,這些網域模式是完整網域名稱,可能帶有前綴萬用字元區段。網域模式也允許 IP 位址,但只有在 apiserver 可以看見用戶端請求的 IP 位址時,才應使用 IP 位址。如果未提供網域模式,則會擷取憑證的名稱。非萬用字元比對優先於萬用字元比對,明確的網域模式優先於擷取的名稱。對於多個金鑰/憑證對,請多次使用 --tls-sni-cert-key。範例:"example.crt,example.key" 或 "foo.crt,foo.key:*.foo.com,foo.com"。

--token-auth-file 字串

如果設定,則為用於透過權杖驗證保護 API 伺服器安全埠的檔案。

--tracing-config-file 字串

包含 apiserver 追蹤設定的檔案。

-v, --v 整數

日誌等級詳細程度的數字

--version version[=true]

--version、--version=raw 列印版本資訊並退出;--version=vX.Y.Z... 設定回報的版本

--vmodule pattern=N,...

以逗號分隔的 pattern=N 設定清單,用於檔案過濾的日誌記錄 (僅適用於文字日誌格式)

--watch-cache     預設值:true

在 apiserver 中啟用監看快取

--watch-cache-sizes 字串

某些資源(pod、節點等)的監看快取大小設定,以逗號分隔。個別設定格式:resource[.group]#size,其中 resource 是小寫複數(無版本),apiVersion v1(舊版核心 API)的資源省略 group,其他資源則包含 group,而 size 是一個數字。此選項僅對建置到 apiserver 中的資源有意義,對於由 CRD 定義或從外部伺服器匯總的資源則無意義,並且僅在啟用 watch-cache 時才會查詢。此處提供的唯一有意義的大小設定為零,表示停用相關資源的監看快取;所有非零值都是等效的,表示不停用該資源的監看快取

此頁面為自動產生。

如果您計劃回報此頁面的問題,請在您的問題描述中提及此頁面為自動產生。修復可能需要在 Kubernetes 專案的其他地方進行。

上次修改時間:2024 年 12 月 12 日下午 2:31 PST:為 v1.32 重新產生元件參考 (f88d4ccd1d)