Kubelet 組態 (v1beta1)

資源類型

FormatOptions

出現在

FormatOptions 包含不同日誌格式的選項。

欄位描述
text [必填]
TextOptions

[Alpha] Text 包含日誌格式 "text" 的選項。僅當啟用 LoggingAlphaOptions 功能閘道時才可用。

json [必填]
JSONOptions

[Alpha] JSON 包含日誌格式 "json" 的選項。僅當啟用 LoggingAlphaOptions 功能閘道時才可用。

JSONOptions

出現在

JSONOptions 包含日誌格式 "json" 的選項。

欄位描述
OutputRoutingOptions [必填]
OutputRoutingOptions
(OutputRoutingOptions 的成員嵌入到此類型中。) 未提供描述。

LogFormatFactory

LogFormatFactory 提供對特定額外、非預設日誌格式的支援。

LoggingConfiguration

出現在

LoggingConfiguration 包含日誌選項。

欄位描述
format [必填]
string

Format Flag 指定日誌訊息的結構。格式的預設值為 text

flushFrequency [必填]
TimeOrMetaDuration

日誌刷新之間的最大時間。如果是字串,則解析為持續時間(即 "1s")。如果是整數,則為最大奈秒數(即 1s = 1000000000)。如果選定的日誌後端寫入日誌訊息時沒有緩衝,則忽略此設定。

verbosity [必填]
VerbosityLevel

Verbosity 是決定記錄哪些日誌訊息的閾值。預設值為零,僅記錄最重要的訊息。較高的值會啟用其他訊息。錯誤訊息始終會記錄。

vmodule [必填]
VModuleConfiguration

VModule 覆寫個別檔案的詳細程度閾值。僅支援 "text" 日誌格式。

options [必填]
FormatOptions

[Alpha] Options 保留特定於不同日誌格式的其他參數。僅使用選定格式的選項,但所有選項都會經過驗證。僅當啟用 LoggingAlphaOptions 功能閘道時才可用。

LoggingOptions

LoggingOptions 可以與 ValidateAndApplyWithOptions 一起使用,以覆寫某些全域預設值。

欄位描述
ErrorStream [必填]
io.Writer

ErrorStream 可用於覆寫 os.Stderr 預設值。

InfoStream [必填]
io.Writer

InfoStream 可以用來覆寫預設的 os.Stdout。

OutputRoutingOptions

出現在

OutputRoutingOptions 包含 "text" 和 "json" 皆支援的選項。

欄位描述
splitStream [必填]
布林值

[Alpha] SplitStream 將錯誤訊息重新導向至 stderr,而資訊訊息則導向至 stdout,並具有緩衝功能。預設是將兩者都寫入 stdout,不帶緩衝。僅當啟用 LoggingAlphaOptions 功能閘道時才可用。

infoBufferSize [必填]
k8s.io/apimachinery/pkg/api/resource.QuantityValue

[Alpha] InfoBufferSize 設定使用分割串流時的資訊串流大小。預設值為零,表示停用緩衝。僅當啟用 LoggingAlphaOptions 功能閘道時才可用。

TextOptions

出現在

TextOptions 包含日誌格式 "text" 的選項。

欄位描述
OutputRoutingOptions [必填]
OutputRoutingOptions
(OutputRoutingOptions 的成員嵌入到此類型中。) 未提供描述。

TimeOrMetaDuration

出現在

TimeOrMetaDuration 僅為了與 flushFrequency 欄位的向後相容性而存在,新的欄位應使用 metav1.Duration。

欄位描述
Duration [必填]
meta/v1.Duration

Duration 保存持續時間

- [必填]
布林值

SerializeAsString 控制值是否序列化為字串或整數

TracingConfiguration

出現在

TracingConfiguration 為 OpenTelemetry 追蹤用戶端提供版本化的組態。

欄位描述
endpoint
string

此元件將回報追蹤的收集器端點。連線是不安全的,目前不支援 TLS。建議設為 unset,且端點為 otlp grpc 預設值 localhost:4317。

samplingRatePerMillion
int32

SamplingRatePerMillion 是每百萬個 span 要收集的樣本數。建議設為 unset。若為 unset,取樣器會尊重其父 span 的取樣率,否則永遠不取樣。

VModuleConfiguration

([]k8s.io/component-base/logs/api/v1.VModuleItem 的別名)

出現在

VModuleConfiguration 是個別檔案名稱或模式以及對應詳細程度閾值的集合。

VerbosityLevel

(uint32 的別名)

出現在

VerbosityLevel 代表 klog 或 logr 詳細程度閾值。

CredentialProviderConfig

CredentialProviderConfig 是包含關於每個 exec 憑證提供者資訊的組態。Kubelet 從磁碟讀取此組態,並啟用 CredentialProvider 類型指定的每個提供者。

欄位描述
apiVersion
string
kubelet.config.k8s.io/v1beta1
kind
string
CredentialProviderConfig
providers [必填]
[]CredentialProvider

providers 是 kubelet 將啟用的憑證提供者外掛程式清單。多個提供者可能會比對到單一映像檔,在這種情況下,所有提供者的憑證都將傳回給 kubelet。如果為單一映像檔呼叫多個提供者,則結果會合併。如果提供者傳回重疊的驗證金鑰,則使用此清單中較早提供者的值。

KubeletConfiguration

KubeletConfiguration 包含 Kubelet 的組態

欄位描述
apiVersion
string
kubelet.config.k8s.io/v1beta1
kind
string
KubeletConfiguration
enableServer [必填]
布林值

enableServer 啟用 Kubelet 的安全伺服器。注意:Kubelet 的不安全連接埠由 readOnlyPort 選項控制。預設值:true

staticPodPath
string

staticPodPath 是包含要執行的本機(靜態)Pod 的目錄路徑,或是單一靜態 Pod 檔案的路徑。預設值:""

podLogsDir
string

podLogsDir 是 kubelet 將用來放置 Pod 日誌檔案的自訂根目錄路徑。預設值:"/var/log/pods/" 注意:不建議使用 temp 資料夾作為日誌目錄,因為這可能會在許多地方造成非預期的行為。

syncFrequency
meta/v1.Duration

syncFrequency 是同步執行中容器和組態之間的最大週期。預設值:"1m"

fileCheckFrequency
meta/v1.Duration

fileCheckFrequency 是檢查組態檔案是否有新資料的間隔時間。預設值:"20s"

httpCheckFrequency
meta/v1.Duration

httpCheckFrequency 是檢查 http 是否有新資料的間隔時間。預設值:"20s"

staticPodURL
string

staticPodURL 是用於存取要執行的靜態 Pod 的 URL。預設值:""

staticPodURLHeader
map[string][]string

staticPodURLHeader 是包含 HTTP 標頭的切片地圖,用於存取 podURL。預設值:nil

address
string

address 是 Kubelet 要在其上服務的 IP 位址(設定為 0.0.0.0 表示所有介面)。預設值:"0.0.0.0"

port
int32

port 是 Kubelet 要在其上服務的連接埠。連接埠號碼必須介於 1 到 65535 之間,包含端點。預設值:10250

readOnlyPort
int32

readOnlyPort 是 Kubelet 要在其上服務的唯讀連接埠,不需驗證/授權。連接埠號碼必須介於 1 到 65535 之間,包含端點。將此欄位設定為 0 會停用唯讀服務。預設值:0(停用)

tlsCertFile
string

tlsCertFile 是包含 HTTPS 的 x509 憑證的檔案。(CA 憑證,如果有的話,串連在伺服器憑證之後)。如果未提供 tlsCertFile 和 tlsPrivateKeyFile,則會為公用位址產生自我簽署憑證和金鑰,並儲存到傳遞給 Kubelet 的 --cert-dir 旗標的目錄中。預設值:""

tlsPrivateKeyFile
string

tlsPrivateKeyFile 是包含與 tlsCertFile 相符的 x509 私密金鑰的檔案。預設值:""

tlsCipherSuites
[]string

tlsCipherSuites 是伺服器允許的密碼套件清單。請注意,TLS 1.3 密碼套件不可設定。值來自 tls 套件常數 (https://go.dev.org.tw/pkg/crypto/tls/#pkg-constants)。預設值:nil

tlsMinVersion
string

tlsMinVersion 是支援的最小 TLS 版本。值來自 tls 套件常數 (https://go.dev.org.tw/pkg/crypto/tls/#pkg-constants)。預設值:""

rotateCertificates
布林值

rotateCertificates 啟用用戶端憑證輪換。Kubelet 將從 certificates.k8s.io API 請求新憑證。這需要核准者核准憑證簽署請求。預設值:false

serverTLSBootstrap
布林值

serverTLSBootstrap 啟用伺服器憑證啟動。Kubelet 將從 'certificates.k8s.io' API 請求憑證,而不是自我簽署服務憑證。這需要核准者核准憑證簽署請求 (CSR)。設定此欄位時,必須啟用 RotateKubeletServerCertificate 功能。預設值:false

authentication
KubeletAuthentication

authentication 指定如何驗證對 Kubelet 伺服器的請求。預設值:anonymous: enabled: false webhook: enabled: true cacheTTL: "2m"

authorization
KubeletAuthorization

authorization 指定如何授權對 Kubelet 伺服器的請求。預設值:mode: Webhook webhook: cacheAuthorizedTTL: "5m" cacheUnauthorizedTTL: "30s"

registryPullQPS
int32

registryPullQPS 是每秒登錄檔提取的限制。該值不得為負數。設定為 0 表示無限制。預設值:5

registryBurst
int32

registryBurst 是 bursty 提取的最大大小,暫時允許提取 burst 到此數字,同時仍不超過 registryPullQPS。該值不得為負數。僅當 registryPullQPS 大於 0 時才使用。預設值:10

eventRecordQPS
int32

eventRecordQPS 是每秒最大事件建立次數。如果為 0,則不強制執行任何限制。該值不能為負數。預設值:50

eventBurst
int32

eventBurst 是一次事件建立 burst 的最大大小,暫時允許事件建立 burst 到此數字,同時仍不超過 eventRecordQPS。此欄位不能為負數,且僅在 eventRecordQPS > 0 時使用。預設值:100

enableDebuggingHandlers
布林值

enableDebuggingHandlers 啟用伺服器端點以進行日誌存取以及本機執行容器和指令,包括 exec、attach、logs 和 portforward 功能。預設值:true

enableContentionProfiling
布林值

enableContentionProfiling 在 enableDebuggingHandlers 為 true 時啟用區塊分析。預設值:false

healthzPort
int32

healthzPort 是 localhost healthz 端點的連接埠(設定為 0 以停用)。有效數字介於 1 到 65535 之間。預設值:10248

healthzBindAddress
string

healthzBindAddress 是 healthz 伺服器要在其上服務的 IP 位址。預設值:"127.0.0.1"

oomScoreAdj
int32

oomScoreAdj 是 kubelet 程序的 oom-score-adj 值。值必須在 [-1000, 1000] 範圍內。預設值:-999

clusterDomain
string

clusterDomain 是此叢集的 DNS 網域。如果設定,kubelet 將設定所有容器搜尋此網域,以及主機的搜尋網域。預設值:""

clusterDNS
[]string

clusterDNS 是叢集 DNS 伺服器的 IP 位址清單。如果設定,kubelet 將設定所有容器使用此清單進行 DNS 解析,而不是主機的 DNS 伺服器。預設值:nil

streamingConnectionIdleTimeout
meta/v1.Duration

streamingConnectionIdleTimeout 是串流連線在自動關閉之前可以閒置的最大時間。預設值:"4h"

nodeStatusUpdateFrequency
meta/v1.Duration

nodeStatusUpdateFrequency 是 kubelet 計算節點狀態的頻率。如果未啟用節點租用功能,這也是 kubelet 將節點狀態發佈到 master 的頻率。注意:當未啟用節點租用功能時,變更常數時請謹慎,它必須與節點控制器中的 nodeMonitorGracePeriod 搭配使用。預設值:"10s"

nodeStatusReportFrequency
meta/v1.Duration

nodeStatusReportFrequency 是在節點狀態未變更的情況下,kubelet 將節點狀態發佈到 master 的頻率。如果偵測到任何變更,Kubelet 將忽略此頻率並立即發佈節點狀態。它僅在啟用節點租用功能時使用。nodeStatusReportFrequency 的預設值為 5m。但如果明確設定 nodeStatusUpdateFrequency,為了向後相容性,nodeStatusReportFrequency 的預設值將設定為 nodeStatusUpdateFrequency。預設值:"5m"

nodeLeaseDurationSeconds
int32

nodeLeaseDurationSeconds 是 Kubelet 將在其對應租用上設定的持續時間。NodeLease 透過讓 Kubelet 在 kube-node-lease 命名空間中建立並定期續約以節點命名的租用,來提供節點健康狀況的指標。如果租用過期,則可以認為節點不健康。目前根據 KEP-0009,每 10 秒續約租用一次。未來,租用續約間隔可能會根據租用持續時間設定。欄位值必須大於 0。預設值:40

imageMinimumGCAge
meta/v1.Duration

imageMinimumGCAge 是未使用的映像檔在被垃圾收集之前的最小年齡。預設值:"2m"

imageMaximumGCAge
meta/v1.Duration

imageMaximumGCAge 是映像檔在未使用的情況下可以存在的最長年齡,超過此年齡就會被垃圾收集。此欄位的預設值為 "0s",這會停用此欄位,表示映像檔不會因為未使用時間過長而被垃圾收集。預設值:"0s"(停用)

imageGCHighThresholdPercent
int32

imageGCHighThresholdPercent 是磁碟使用率的百分比,超過此百分比時,總是會執行映像檔垃圾收集。百分比的計算方式是將此欄位值除以 100,因此此欄位必須介於 0 到 100 之間,包含端點。指定時,該值必須大於 imageGCLowThresholdPercent。預設值:85

imageGCLowThresholdPercent
int32

imageGCLowThresholdPercent 是磁碟使用率的百分比,低於此百分比時,永遠不會執行映像檔垃圾收集。垃圾收集的最低磁碟使用率。百分比的計算方式是將此欄位值除以 100,因此欄位值必須介於 0 到 100 之間,包含端點。指定時,該值必須小於 imageGCHighThresholdPercent。預設值:80

volumeStatsAggPeriod
meta/v1.Duration

volumeStatsAggPeriod 是計算和快取所有 Pod 的磁碟用量統計資訊的頻率。預設值:"1m"

kubeletCgroups
string

kubeletCgroups 是隔離 kubelet 的 cgroup 的絕對名稱。預設值:""

systemCgroups
string

systemCgroups 是放置所有非核心程序(如果它們尚未在容器中)的 cgroup 的絕對名稱。如果為空,則表示沒有容器。還原旗標需要重新啟動。如果此欄位不為空,則必須指定 cgroupRoot。預設值:""

cgroupRoot
string

cgroupRoot 是用於 Pod 的根 cgroup。這由容器執行階段盡力處理。

cgroupsPerQOS
布林值

cgroupsPerQOS 啟用基於 QoS 的 CGroup 階層:QoS 類別的頂層 CGroups,以及所有 Burstable 和 BestEffort Pod 都會在其特定的頂層 QoS CGroup 下啟動。預設值:true

cgroupDriver
string

cgroupDriver 是 kubelet 用於操作主機上的 CGroups 的驅動程式 (cgroupfs 或 systemd)。預設值:"cgroupfs"

cpuManagerPolicy
string

cpuManagerPolicy 是要使用的策略名稱。需要啟用 CPUManager 功能閘道。預設值:"None"

singleProcessOOMKill
布林值

singleProcessOOMKill,如果為 true,將防止為 cgroups v2 中的容器 cgroup 設定 memory.oom.group 旗標。這會導致容器中的程序個別被 OOM 終止,而不是作為群組。這表示如果為 true,則行為與 cgroups v1 的行為一致。預設值會在您未指定時自動判斷。在非 Linux 系統(例如 Windows)上,僅允許 null / absent。在 cgroup v1 Linux 上,僅允許 null / absent 和 true。在 cgroup v2 Linux 上,允許 null / absent、true 和 false。預設值為 false。

cpuManagerPolicyOptions
map[string]string

cpuManagerPolicyOptions 是一組 key=value,允許設定額外選項來微調 cpu 管理器策略的行為。需要同時啟用 "CPUManager" 和 "CPUManagerPolicyOptions" 功能閘道。預設值:nil

cpuManagerReconcilePeriod
meta/v1.Duration

cpuManagerReconcilePeriod 是 CPU 管理器的協調週期。需要啟用 CPUManager 功能閘道。預設值:"10s"

memoryManagerPolicy
string

memoryManagerPolicy 是記憶體管理器要使用的策略名稱。需要啟用 MemoryManager 功能閘道。預設值:"none"

topologyManagerPolicy
string

topologyManagerPolicy 是要使用的拓撲管理器策略名稱。有效值包括

  • restricted:kubelet 僅允許針對請求資源具有最佳 NUMA 節點對齊的 Pod;
  • best-effort:kubelet 將偏好 CPU 和裝置資源具有 NUMA 對齊的 Pod;
  • none:kubelet 不知道 Pod 的 CPU 和裝置資源的 NUMA 對齊。
  • single-numa-node:kubelet 僅允許 CPU 和裝置資源具有單一 NUMA 對齊的 Pod。

預設值:"none"

topologyManagerScope
string

topologyManagerScope 代表拓撲管理器請求和提示提供者產生的拓撲提示範圍。有效值包括

  • container:拓撲策略在每個容器的基礎上應用。
  • pod:拓撲策略在每個 Pod 的基礎上應用。

預設值:"container"

topologyManagerPolicyOptions
map[string]string

TopologyManagerPolicyOptions 是一組 key=value,允許設定額外選項來微調拓撲管理器策略的行為。需要同時啟用 "TopologyManager" 和 "TopologyManagerPolicyOptions" 功能閘道。預設值:nil

qosReserved
map[string]string

qosReserved 是一組資源名稱到百分比配對,指定為保證 QoS 層級獨佔使用而保留的資源最小百分比。目前支援的資源:"memory" 需要啟用 QOSReserved 功能閘道。預設值:nil

runtimeRequestTimeout
meta/v1.Duration

runtimeRequestTimeout 是所有執行階段請求(除了長時間執行的請求 - pull、logs、exec 和 attach)的逾時時間。預設值:"2m"

hairpinMode
string

hairpinMode 指定 Kubelet 應如何設定容器橋接器以處理 hairpin 封包。設定此旗標允許服務中的端點在嘗試存取自己的服務時,將負載平衡回自身。值

  • "promiscuous-bridge":使容器橋接器處於混雜模式。
  • "hairpin-veth":在容器 veth 介面上設定 hairpin 旗標。
  • "none":不執行任何操作。

一般而言,必須設定 --hairpin-mode=hairpin-veth to 才能實現 hairpin NAT,因為 promiscuous-bridge 假設存在名為 cbr0 的容器橋接器。預設值:"promiscuous-bridge"

maxPods
int32

maxPods 是此 Kubelet 上可以執行的 Pod 最大數量。該值必須為非負整數。預設值:110

podCIDR
string

podCIDR 是用於 Pod IP 位址的 CIDR,僅在獨立模式下使用。在叢集模式下,這是從控制平面取得的。預設值:""

podPidsLimit
int64

podPidsLimit 是任何 Pod 中的最大 PID 數量。預設值:-1

resolvConf
string

resolvConf 是用作容器 DNS 解析組態基礎的解析器組態檔案。如果設定為空字串,將覆寫預設值並有效地停用 DNS 查閱。預設值:"/etc/resolv.conf"

runOnce
布林值

runOnce 使 Kubelet 檢查 API 伺服器一次以取得 Pod,除了靜態 Pod 檔案指定的 Pod 之外,還執行這些 Pod,然後結束。預設值:false

cpuCFSQuota
布林值

cpuCFSQuota 為指定 CPU 限制的容器啟用 CPU CFS 配額強制執行。預設值:true

cpuCFSQuotaPeriod
meta/v1.Duration

cpuCFSQuotaPeriod 是 CPU CFS 配額週期值,cpu.cfs_period_us。該值必須介於 1 毫秒到 1 秒之間,包含端點。需要啟用 CustomCPUCFSQuotaPeriod 功能閘道。預設值:"100ms"

nodeStatusMaxImages
int32

nodeStatusMaxImages 限制 Node.status.images 中報告的映像檔數量。該值必須大於 -2。注意:如果指定 -1,則不會套用任何限制。如果指定 0,則不傳回任何映像檔。預設值:50

maxOpenFiles
int64

maxOpenFiles 是 Kubelet 程序可以開啟的檔案數量。該值必須為非負數。預設值:1000000

contentType
string

contentType 是傳送至 apiserver 的請求的 contentType。預設值:"application/vnd.kubernetes.protobuf"

kubeAPIQPS
int32

kubeAPIQPS 是與 kubernetes apiserver 通訊時要使用的 QPS。預設值:50

kubeAPIBurst
int32

kubeAPIBurst 是與 kubernetes API 伺服器通訊時允許的 burst。此欄位不能為負數。預設值:100

serializeImagePulls
布林值

serializeImagePulls 啟用時,會告知 Kubelet 一次提取一個映像檔。我們建議在執行版本 < 1.9 的 docker daemon 或 Aufs 儲存後端的節點上變更預設值。Issue #10959 有更多詳細資訊。預設值:true

maxParallelImagePulls
int32

MaxParallelImagePulls 設定平行映像檔提取的最大數量。如果 SerializeImagePulls 為 true,則無法設定此欄位。將其設定為 nil 表示無限制。預設值:nil

evictionHard
map[string]string

evictionHard 是訊號名稱到數量的地圖,定義硬性驅逐閾值。例如:{"memory.available": "300Mi"}。若要明確停用,請在任意資源上傳遞 0% 或 100% 閾值。預設值:memory.available: "100Mi" nodefs.available: "10%" nodefs.inodesFree: "5%" imagefs.available: "15%"

evictionSoft
map[string]string

evictionSoft 是訊號名稱到數量的地圖,定義軟性驅逐閾值。例如:{"memory.available": "300Mi"}。預設值:nil

evictionSoftGracePeriod
map[string]string

evictionSoftGracePeriod 是訊號名稱到數量的地圖,定義每個軟性驅逐訊號的寬限期。例如:{"memory.available": "30s"}。預設值:nil

evictionPressureTransitionPeriod
meta/v1.Duration

evictionPressureTransitionPeriod 是 kubelet 在轉換出驅逐壓力狀況之前必須等待的持續時間。預設值:"5m"

evictionMaxPodGracePeriod
int32

evictionMaxPodGracePeriod 是在回應符合軟性驅逐閾值時,終止 Pod 時允許使用的最大寬限期(以秒為單位)。此值有效地限制了軟性驅逐期間 Pod 的 terminationGracePeriodSeconds 值。預設值:0

evictionMinimumReclaim
map[string]string

evictionMinimumReclaim 是訊號名稱到數量的地圖,定義最小回收量,描述當資源處於壓力下時,kubelet 在執行 Pod 驅逐時將回收的給定資源的最小量。例如:{"imagefs.available": "2Gi"}。預設值:nil

podsPerCore
int32

podsPerCore 是每個核心的最大 Pod 數。不能超過 maxPods。該值必須為非負整數。如果為 0,則 Pod 數量沒有限制。預設值:0

enableControllerAttachDetach
布林值

enableControllerAttachDetach 啟用 Attach/Detach 控制器來管理排程到此節點的磁碟區的掛接/卸載,並停用 kubelet 執行任何掛接/卸載操作。注意:kubelet 不支援掛接/卸載 CSI 磁碟區,因此對於該用例,此選項需要為 true。預設值:true

protectKernelDefaults
布林值

protectKernelDefaults,如果為 true,會導致 Kubelet 在核心旗標與其預期不符時發生錯誤。否則,Kubelet 將嘗試修改核心旗標以符合其預期。預設值:false

makeIPTablesUtilChains
布林值

makeIPTablesUtilChains,如果為 true,會導致 Kubelet 在 iptables 中建立 KUBE-IPTABLES-HINT 鏈,作為關於系統上 iptables 組態的其他元件的提示。預設值:true

iptablesMasqueradeBit
int32

iptablesMasqueradeBit 以前控制 KUBE-MARK-MASQ 鏈的建立。已淘汰:不再有任何作用。預設值:14

iptablesDropBit
int32

iptablesDropBit 以前控制 KUBE-MARK-DROP 鏈的建立。已淘汰:不再有任何作用。預設值:15

featureGates
map[string]bool

featureGates 是功能名稱到布林值的地圖,用於啟用或停用實驗性功能。此欄位零星地修改來自 "k8s.io/kubernetes/pkg/features/kube_features.go" 的內建預設值。預設值:nil

failSwapOn
布林值

failSwapOn 告知 Kubelet,如果節點上啟用交換空間,則啟動失敗。預設值:true

memorySwap
MemorySwapConfiguration

memorySwap 設定可供容器工作負載使用的交換記憶體。

containerLogMaxSize
string

containerLogMaxSize 是定義容器日誌檔案在輪換之前最大大小的數量。例如:"5Mi" 或 "256Ki"。預設值:"10Mi"

containerLogMaxFiles
int32

containerLogMaxFiles 指定容器可以存在的容器日誌檔案的最大數量。預設值:5

containerLogMaxWorkers
int32

ContainerLogMaxWorkers 指定要為執行日誌輪換操作而產生的並行工作執行緒的最大數量。將此計數設定為 1 可停用並行日誌輪換工作流程。預設值:1

containerLogMonitorInterval
meta/v1.Duration

ContainerLogMonitorInterval 指定監視容器日誌以執行日誌輪換操作的持續時間。預設值為 10 * time.Seconds。但可以根據日誌產生速率和需要輪換的大小自訂為較小的值。預設值:10s

configMapAndSecretChangeDetectionStrategy
ResourceChangeDetectionStrategy

configMapAndSecretChangeDetectionStrategy 是 ConfigMap 和 Secret 管理器執行的模式。有效值包括

  • Get:kubelet 直接從 API 伺服器擷取必要的物件;
  • Cache:kubelet 使用 TTL 快取從 API 伺服器擷取的物件;
  • Watch:kubelet 使用監看來觀察其感興趣的物件的變更。

預設值:"Watch"

systemReserved
map[string]string

systemReserved 是一組 ResourceName=ResourceQuantity (例如 cpu=200m,memory=150G) 配對,描述為非 kubernetes 元件保留的資源。目前僅支援 cpu 和 memory。如需更多詳細資訊,請參閱 https://kubernetes.dev.org.tw/docs/tasks/administer-cluster/reserve-compute-resources。預設值:nil

kubeReserved
map[string]string

kubeReserved 是一組 ResourceName=ResourceQuantity (例如 cpu=200m,memory=150G) 配對,描述為 kubernetes 系統元件保留的資源。目前支援 cpu、memory 和根檔案系統的本機儲存空間。如需更多詳細資訊,請參閱 https://kubernetes.dev.org.tw/docs/tasks/administer-cluster/reserve-compute-resources。預設值:nil

reservedSystemCPUs [必填]
string

reservedSystemCPUs 選項指定為主機層級系統執行緒和 kubernetes 相關執行緒保留的 CPU 清單。這提供了一個「靜態」CPU 清單,而不是 systemReserved 和 kubeReserved 的「動態」清單。此選項不支援 systemReservedCgroup 或 kubeReservedCgroup。

showHiddenMetricsForVersion
string

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

systemReservedCgroup
string

systemReservedCgroup 協助 kubelet 識別用於強制執行 OS 系統守護程序的 systemReserved 計算資源保留的頂層 CGroup 的絕對名稱。如需更多資訊,請參閱 Node Allocatable 文件。預設值:""

kubeReservedCgroup
string

kubeReservedCgroup 協助 kubelet 識別用於強制執行 Kubernetes 節點系統守護程序的 KubeReserved 計算資源保留的頂層 CGroup 的絕對名稱。如需更多資訊,請參閱 Node Allocatable 文件。預設值:""

enforceNodeAllocatable
[]string

此旗標指定 Kubelet 需要執行的各種節點可分配資源強制執行。此旗標接受選項清單。可接受的選項為 nonepodssystem-reservedkube-reserved。如果指定 none,則不得指定其他選項。當清單中有 system-reserved 時,必須指定 systemReservedCgroup。當清單中有 kube-reserved 時,必須指定 kubeReservedCgroup。僅當 cgroupsPerQOS 設定為 true 時才支援此欄位。如需更多資訊,請參閱 Node Allocatable。預設值:["pods"]

allowedUnsafeSysctls
[]string

以逗號分隔的不安全 sysctl 或 sysctl 模式(以 * 結尾)的白名單。不安全 sysctl 群組為 kernel.shm*kernel.msg*kernel.semfs.mqueue.*net.*。例如:"kernel.msg*,net.ipv4.route.min_pmtu" 預設值:[]

volumePluginDir
string

volumePluginDir 是在其中搜尋其他第三方磁碟區外掛程式的目錄完整路徑。預設值:"/usr/libexec/kubernetes/kubelet-plugins/volume/exec/"

providerID
string

providerID,如果設定,則設定外部提供者(即 cloudprovider)可以用來識別特定節點的執行個體唯一 ID。預設值:""

kernelMemcgNotification
布林值

kernelMemcgNotification,如果設定,則指示 kubelet 與核心 memcg 通知整合,以判斷是否超出記憶體驅逐閾值,而不是輪詢。預設值:false

logging [必填]
LoggingConfiguration

logging 指定日誌記錄的選項。如需更多資訊,請參閱 Logs Options。預設值:Format: text

enableSystemLogHandler
布林值

enableSystemLogHandler 透過網頁介面 host:port/logs/ 啟用系統日誌。預設值:true

enableSystemLogQuery
布林值

enableSystemLogQuery 在 /logs 端點上啟用節點日誌查詢功能。必須同時啟用 EnableSystemLogHandler,此功能才能運作。預設值:false

shutdownGracePeriod
meta/v1.Duration

shutdownGracePeriod 指定節點應延遲關機的總持續時間,以及節點關機期間 Pod 終止的總寬限期。預設值:"0s"

shutdownGracePeriodCriticalPods
meta/v1.Duration

shutdownGracePeriodCriticalPods 指定在節點關機期間用於終止重要 Pod 的持續時間。這應該小於 shutdownGracePeriod。例如,如果 shutdownGracePeriod=30s,且 shutdownGracePeriodCriticalPods=10s,則在節點關機期間,前 20 秒將保留用於正常終止一般 Pod,最後 10 秒將保留用於終止重要 Pod。預設值:"0s"

shutdownGracePeriodByPodPriority
[]ShutdownGracePeriodByPodPriority

shutdownGracePeriodByPodPriority 根據 Pod 的關聯優先順序類別值,指定 Pod 的關機寬限期。當收到關機請求時,Kubelet 將以取決於 Pod 優先順序的寬限期,啟動節點上所有執行中 Pod 的關機,然後等待所有 Pod 結束。陣列中的每個項目代表當節點關機時,優先順序類別值位於該值範圍和清單中下一個較高項目之間的 Pod 的寬限關機時間。例如,允許重要 Pod 10 秒關機,priority>=10000 的 Pod 20 秒關機,以及所有剩餘 Pod 30 秒關機。

shutdownGracePeriodByPodPriority

  • priority: 2000000000 shutdownGracePeriodSeconds: 10
  • priority: 10000 shutdownGracePeriodSeconds: 20
  • priority: 0 shutdownGracePeriodSeconds: 30

Kubelet 將等待然後才結束的時間,最多將是節點上表示的每個優先順序類別範圍的所有 shutdownGracePeriodSeconds 的最大值。當所有 Pod 都已結束或達到其寬限期時,Kubelet 將釋放關機抑制鎖定。需要啟用 GracefulNodeShutdown 功能閘道。如果已設定 ShutdownGracePeriod 或 ShutdownGracePeriodCriticalPods,則此組態必須為空。預設值:nil

crashLoopBackOff
CrashLoopBackOffConfig

CrashLoopBackOff 包含修改容器重新啟動行為的節點層級參數的組態

reservedMemory
[]MemoryReservation

reservedMemory 指定 NUMA 節點的逗號分隔記憶體保留清單。此參數僅在記憶體管理器功能的上下文中才有意義。記憶體管理器不會為容器工作負載配置保留記憶體。例如,如果您有一個 NUMA0,其中有 10Gi 的記憶體,並且 reservedMemory 指定在 NUMA0 保留 1Gi 的記憶體,則記憶體管理器會假設只有 9Gi 可用於配置。您可以指定不同數量的 NUMA 節點和記憶體類型。您可以完全省略此參數,但您應該注意,所有 NUMA 節點的保留記憶體量應等於 節點可分配資源指定的記憶體量。如果至少有一個節點可分配資源參數具有非零值,則您需要指定至少一個 NUMA 節點。此外,避免指定

  1. 重複項,相同的 NUMA 節點和記憶體類型,但值不同。
  2. 任何記憶體類型的零限制。
  3. 機器下不存在的 NUMA 節點 ID。
  4. 記憶體類型,除了 memory 和 hugepages-

預設值:nil

enableProfilingHandler
布林值

enableProfilingHandler 透過網頁介面 host:port/debug/pprof/ 啟用分析。預設值:true

enableDebugFlagsHandler
布林值

enableDebugFlagsHandler 透過網頁介面 host:port/debug/flags/v 啟用旗標端點。預設值:true

seccompDefault
布林值

SeccompDefault 啟用使用 RuntimeDefault 作為所有工作負載的預設 seccomp 設定檔。預設值:false

memoryThrottlingFactor
float64

MemoryThrottlingFactor 指定在設定 cgroupv2 memory.high 值以強制執行 MemoryQoS 時,乘以記憶體限制或節點可分配記憶體的因數。降低此因數將為容器 cgroup 設定較低的 high 限制,並施加較重的回收壓力,而增加將施加較少的回收壓力。如需更多詳細資訊,請參閱 https://kep.k8s.io/2570。預設值:0.9

registerWithTaints
[]core/v1.Taint

registerWithTaints 是 taint 的陣列,用於在 kubelet 註冊自身時,新增至節點物件。這僅在 registerNode 為 true 且在節點初始註冊時生效。預設值:nil

registerNode
布林值

registerNode 啟用與 apiserver 的自動註冊。預設值:true

tracing
TracingConfiguration

Tracing 指定 OpenTelemetry tracing 客户端的版本化組態。詳情請參閱 https://kep.k8s.io/2832。預設值:nil

localStorageCapacityIsolation
布林值

LocalStorageCapacityIsolation 啟用本地臨時儲存隔離功能。預設設定為 true。此功能允許使用者為容器的臨時儲存設定 request/limit,並以類似於 CPU 和記憶體的方式進行管理。它還允許為 emptyDir 卷設定 sizeLimit,如果卷的磁碟使用量超過限制,將觸發 Pod 驅逐。此功能取決於偵測正確的根檔案系統磁碟使用量的能力。對於某些系統,例如 kind rootless,如果無法支援此能力,則應停用 LocalStorageCapacityIsolation 功能。一旦停用,使用者不應為容器的臨時儲存設定 request/limit,或為 emptyDir 設定 sizeLimit。預設值:true

containerRuntimeEndpoint [必填]
string

ContainerRuntimeEndpoint 是容器運行時的端點。Linux 上支援 Unix Domain Socket,而 Windows 上支援 npipe 和 tcp 端點。範例:'unix:///path/to/runtime.sock','npipe:////./pipe/runtime'

imageServiceEndpoint
string

ImageServiceEndpoint 是容器鏡像服務的端點。Linux 上支援 Unix Domain Socket,而 Windows 上支援 npipe 和 tcp 端點。範例:'unix:///path/to/runtime.sock','npipe:////./pipe/runtime'。如果未指定,則使用 containerRuntimeEndpoint 中的值。

failCgroupV1
布林值

FailCgroupV1 防止 kubelet 在使用 cgroup v1 的主機上啟動。預設情況下,此設定為 'false',表示除非明確啟用此選項,否則 kubelet 允許在 cgroup v1 主機上啟動。預設值:false

SerializedNodeConfigSource

SerializedNodeConfigSource 允許我們序列化 v1.NodeConfigSource。此類型由 Kubelet 內部用於追蹤檢查點動態組態。它存在於 kubeletconfig API 群組中,因為它被歸類為 Kubelet 的版本化輸入。

欄位描述
apiVersion
string
kubelet.config.k8s.io/v1beta1
kind
string
SerializedNodeConfigSource
source
core/v1.NodeConfigSource

source 是我們正在序列化的來源。

CrashLoopBackOffConfig

出現在

欄位描述
maxContainerRestartPeriod
meta/v1.Duration

maxContainerRestartPeriod 是容器重新啟動時,退避延遲可累積的最大持續時間,最短 1 秒,最長 300 秒。如果未設定,則預設為內部 crashloopbackoff 最大值 (300 秒)。

CredentialProvider

出現在

CredentialProvider 代表要由 kubelet 叫用的 exec 外掛程式。僅當提取的鏡像與外掛程式處理的鏡像相符時(請參閱 matchImages)才會叫用該外掛程式。

欄位描述
name [必填]
string

name 是憑證提供者的必要名稱。它必須與 kubelet 可見的提供者可執行檔的名稱相符。可執行檔必須位於 kubelet 的 bin 目錄中(由 --image-credential-provider-bin-dir 標誌設定)。

matchImages [必填]
[]string

matchImages 是用於比對鏡像的必要字串清單,以確定是否應叫用此提供者。如果其中一個字串與來自 kubelet 的請求鏡像相符,則將叫用外掛程式,並有機會提供憑證。鏡像應包含登錄檔網域和 URL 路徑。

matchImages 中的每個條目都是一個模式,可以選擇性地包含埠和路徑。Globs 可用於網域,但不能用於埠或路徑。Globs 支援作為子網域,例如 '*.k8s.io' 或 'k8s.*.io',以及頂級網域,例如 'k8s.*'。也支援比對部分子網域,例如 'app*.k8s.io'。每個 glob 只能比對單個子網域段,因此 *.io 不比對 *.k8s.io。

當以下所有條件都成立時,鏡像與 matchImage 之間存在比對

  • 兩者包含相同數量的網域部分,並且每個部分都相符。
  • imageMatch 的 URL 路徑必須是目標鏡像 URL 路徑的前綴。
  • 如果 imageMatch 包含埠,則鏡像中的埠也必須相符。

matchImages 的範例值

  • 123456789.dkr.ecr.us-east-1.amazonaws.com
  • *.azurecr.io
  • gcr.io
  • ..registry.io
  • registry.io:8080/path
defaultCacheDuration [必填]
meta/v1.Duration

defaultCacheDuration 是外掛程式將憑證快取在記憶體中的預設持續時間(如果外掛程式回應中未提供快取持續時間)。此欄位為必填。

apiVersion [必填]
string

exec CredentialProviderRequest 的必要輸入版本。傳回的 CredentialProviderResponse 必須使用與輸入相同的編碼版本。目前支援的值為

  • credentialprovider.kubelet.k8s.io/v1beta1
args
[]string

執行命令時傳遞給命令的引數。

env
[]ExecEnvVar

Env 定義要公開給程序的其他環境變數。這些變數與主機的環境以及 client-go 用於將引數傳遞給外掛程式的變數聯合。

ExecEnvVar

出現在

ExecEnvVar 用於在執行基於 exec 的憑證外掛程式時設定環境變數。

欄位描述
name [必填]
string
未提供描述。
value [必填]
string
未提供描述。

KubeletAnonymousAuthentication

出現在

欄位描述
enabled
布林值

enabled 允許對 kubelet 伺服器的匿名請求。未被其他身份驗證方法拒絕的請求將被視為匿名請求。匿名請求的使用者名稱為 system:anonymous,群組名稱為 system:unauthenticated

KubeletAuthentication

出現在

欄位描述
x509
KubeletX509Authentication

x509 包含與 x509 客户端憑證身份驗證相關的設定。

webhook
KubeletWebhookAuthentication

webhook 包含與 webhook 持有者權杖身份驗證相關的設定。

anonymous
KubeletAnonymousAuthentication

anonymous 包含與匿名身份驗證相關的設定。

KubeletAuthorization

出現在

欄位描述
mode
KubeletAuthorizationMode

mode 是應用於對 kubelet 伺服器請求的授權模式。有效值為 AlwaysAllowWebhook。Webhook 模式使用 SubjectAccessReview API 來確定授權。

webhook
KubeletWebhookAuthorization

webhook 包含與 Webhook 授權相關的設定。

KubeletAuthorizationMode

(string 的別名)

出現在

KubeletWebhookAuthentication

出現在

欄位描述
enabled
布林值

enabled 允許由 tokenreviews.authentication.k8s.io API 支援的持有者權杖身份驗證。

cacheTTL
meta/v1.Duration

cacheTTL 啟用身份驗證結果的快取

KubeletWebhookAuthorization

出現在

欄位描述
cacheAuthorizedTTL
meta/v1.Duration

cacheAuthorizedTTL 是從 webhook 授權器快取 '已授權' 回應的持續時間。

cacheUnauthorizedTTL
meta/v1.Duration

cacheUnauthorizedTTL 是從 webhook 授權器快取 '未授權' 回應的持續時間。

KubeletX509Authentication

出現在

欄位描述
clientCAFile
string

clientCAFile 是 PEM 編碼憑證捆綁包的路徑。如果設定,則任何呈現由捆綁包中授權機構之一簽署的客户端憑證的請求,都將使用與 CommonName 對應的使用者名稱和與客户端憑證中的 Organization 對應的群組進行身份驗證。

MemoryReservation

出現在

MemoryReservation 指定每個 NUMA 節點的不同類型的記憶體保留量

欄位描述
numaNode [必填]
int32
未提供描述。
limits [必填]
core/v1.ResourceList
未提供描述。

MemorySwapConfiguration

出現在

欄位描述
swapBehavior
string

swapBehavior 設定可供容器工作負載使用的交換記憶體。可以是 ""、"NoSwap"(工作負載無法使用交換空間,預設選項)或 "LimitedSwap"(工作負載交換空間使用量受限)。交換空間限制與容器的記憶體請求成比例。

ResourceChangeDetectionStrategy

(string 的別名)

出現在

ResourceChangeDetectionStrategy 表示內部管理器(secret、configmap)發現物件變更的模式。

ShutdownGracePeriodByPodPriority

出現在

ShutdownGracePeriodByPodPriority 根據 Pod 相關聯的優先順序類別值,指定 Pod 的關閉寬限期

欄位描述
priority [必填]
int32

priority 是與關閉寬限期相關聯的優先順序值

shutdownGracePeriodSeconds [必填]
int64

shutdownGracePeriodSeconds 是關閉寬限期,以秒為單位

本頁為自動產生。

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

上次修改時間為 2024 年 12 月 12 日下午 5:37 PST:Update config API for v1.32 (2914668152)