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 指定日志消息的结构。format 的默认值为 text

flushFrequency [必需]
TimeOrMetaDuration

日志刷新之间的最大时间。如果为字符串,则解析为持续时间(例如“1s”)。如果为 int,则为最大纳秒数(例如 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 [必需]
bool

[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 保持持续时间

- [必需]
bool

SerializeAsString 控制值是否被序列化为字符串或整数

TracingConfiguration

出现于

TracingConfiguration 为 OpenTelemetry 追踪客户端提供版本化配置。

字段描述
endpoint
string

此组件将向其报告跟踪的收集器端点。连接是不安全的,目前不支持 TLS。建议不设置,端点是 otlp grpc 默认值,localhost:4317。

samplingRatePerMillion
int32

SamplingRatePerMillion 是每百万跨度收集的样本数。建议不设置。如果未设置,采样器将尊重其父跨度的采样率,但否则从不采样。

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。如果为单个映像调用了多个提供程序,则结果将被合并。如果提供程序返回重叠的 auth 密钥,则使用列表中较早提供程序的值。

KubeletConfiguration

KubeletConfiguration 包含 Kubelet 的配置

字段描述
apiVersion
string
kubelet.config.k8s.io/v1beta1
kind
string
KubeletConfiguration
enableServer [必需]
bool

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 是一个包含用于访问 podURL 时要使用的 HTTP 标头的切片的映射。默认: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://golang.ac.cn/pkg/crypto/tls/#pkg-constants)。默认:nil

tlsMinVersion
string

tlsMinVersion 是支持的最低 TLS 版本。值来自 tls 包常量(https://golang.ac.cn/pkg/crypto/tls/#pkg-constants)。默认:""

rotateCertificates
bool

rotateCertificates 启用客户端证书轮换。Kubelet 将从 certificates.k8s.io API 请求新证书。这需要批准者批准证书签名请求。默认:false

serverTLSBootstrap
bool

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 是突发拉取的最大大小,暂时允许拉取突发到此数字,同时仍不超过 registryPullQPS。该值不能为负数。仅在 registryPullQPS 大于 0 时使用。默认:10

eventRecordQPS
int32

eventRecordQPS 是每秒的最大事件创建数。如果为 0,则不强制执行任何限制。该值不能为负数。默认:50

eventBurst
int32

eventBurst 是事件创建突发的最大大小,暂时允许事件创建突发到此数字,同时仍不超过 eventRecordQPS。此字段不能为负数,仅在 eventRecordQPS > 0 时使用。默认:100

enableDebuggingHandlers
bool

enableDebuggingHandlers 启用用于日志访问和本地运行容器和命令的服务器端点,包括 exec、attach、logs 和 portforward 功能。默认:true

enableContentionProfiling
bool

enableContentionProfiling 启用块分析(如果 enableDebuggingHandlers 为 true)。默认:false

healthzPort
int32

healthzPort 是本地主机 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 将节点状态发布到主节点的频率。注意:当未启用节点租约功能时,更改此常量时要小心,它必须与 nodecontroller 中的 nodeMonitorGracePeriod 协同工作。默认值:“10s”

nodeStatusReportFrequency
meta/v1.Duration

nodeStatusReportFrequency 是 kubelet 将节点状态发布到主节点的频率,前提是节点状态没有改变。如果检测到任何更改,kubelet 将忽略此频率并立即发布节点状态。它仅在启用节点租约功能时使用。nodeStatusReportFrequency 的默认值为 5m。但如果显式设置 nodeStatusUpdateFrequency,则 nodeStatusReportFrequency 的默认值将设置为 nodeStatusUpdateFrequency 以实现向后兼容性。默认值:“5m”

nodeLeaseDurationSeconds
int32

nodeLeaseDurationSeconds 是 Kubelet 在其相应的租约上设置的持续时间。NodeLease 通过让 Kubelet 在 kube-node-lease 命名空间中创建并定期续订一个以节点命名的租约来提供节点健康的指示器。如果租约过期,则可以认为节点不健康。该租约目前每 10 秒续订一次,根据 KEP-0009。将来,租约续订间隔可能会根据租约持续时间设置。该字段值必须大于 0。默认值:40

imageMinimumGCAge
meta/v1.Duration

imageMinimumGCAge 是未使用的镜像在垃圾回收之前的最短年龄。默认值:“2m”

imageMaximumGCAge
meta/v1.Duration

imageMaximumGCAge 是镜像在垃圾回收之前可以处于未使用状态的最长时间。该字段的默认值为“0s”,这将禁用该字段,这意味着镜像不会因为长时间未使用而被垃圾回收。默认值:“0s”(已禁用)

imageGCHighThresholdPercent
int32

imageGCHighThresholdPercent 是磁盘使用率达到某个百分比后,始终运行镜像垃圾回收的百分比。该百分比通过将该字段值除以 100 来计算,因此该字段必须在 0 到 100 之间(包含 0 和 100)。如果指定,该值必须大于 imageGCLowThresholdPercent。默认值:85

imageGCLowThresholdPercent
int32

imageGCLowThresholdPercent 是磁盘使用率达到某个百分比之前,绝不运行镜像垃圾回收的百分比。垃圾回收的最低磁盘使用率。该百分比通过将该字段值除以 100 来计算,因此该字段值必须在 0 到 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
bool

cgroupsPerQOS 启用基于 QoS 的 CGroup 层次结构:QoS 类别的顶级 CGroup,所有 Burstable 和 BestEffort Pod 都在它们的特定顶级 QoS CGroup 下启动。默认值:true

cgroupDriver
string

cgroupDriver 是 kubelet 用于操作主机上 CGroup 的驱动程序(cgroupfs 或 systemd)。默认值:“cgroupfs”

cpuManagerPolicy
string

cpuManagerPolicy 是要使用的策略的名称。需要启用 CPUManager 功能门。默认值:“None”

cpuManagerPolicyOptions
map[string]string

cpuManagerPolicyOptions 是一组键值对,允许设置额外的选项来微调 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 是一组键值对,允许设置额外的选项来微调拓扑管理器策略的行为。需要启用“TopologyManager”和“TopologyManagerPolicyOptions”功能门。默认值:nil

qosReserved
map[string]string

qosReserved 是一组资源名称到百分比对,指定为保证 QoS 等级保留的最小资源百分比。当前支持的资源:“memory” 需要启用 QOSReserved 功能门。默认值:nil

runtimeRequestTimeout
meta/v1.Duration

runtimeRequestTimeout 是所有运行时请求的超时时间,除了长时间运行的请求(拉取、日志、执行和附加)。默认值:“2m”

hairpinMode
string

hairpinMode 指定 Kubelet 应如何为容器网桥配置发夹数据包。设置此标志允许服务中的端点在应该尝试访问自己的服务时将负载均衡回自身。值

  • "promiscuous-bridge": 使容器网桥处于混杂模式。
  • "hairpin-veth": 在容器 veth 接口上设置发夹标志。
  • "none": 不执行任何操作。

通常,必须设置--hairpin-mode=hairpin-veth才能实现发夹 NAT,因为 promiscuous-bridge 假设存在名为 cbr0 的容器网桥。默认值:“promiscuous-bridge”

maxPods
int32

maxPods 是可以在此 Kubelet 上运行的 Pod 的最大数量。该值必须是非负整数。默认值:110

podCIDR
string

podCIDR 是用于 Pod IP 地址的 CIDR,仅在独立模式下使用。在集群模式下,这是从控制平面获取的。默认值:“”

podPidsLimit
int64

podPidsLimit 是任何 Pod 中的 PIDs 的最大数量。默认值:-1

resolvConf
string

resolvConf 是用作容器 DNS 解析配置基础的解析器配置文件。如果设置为空字符串,将覆盖默认值并有效地禁用 DNS 查找。默认值:“/etc/resolv.conf”

runOnce
bool

runOnce 使 Kubelet 一次检查 API 服务器以获取 Pod,运行这些 Pod 以及静态 Pod 文件指定的 Pod,然后退出。默认值:false

cpuCFSQuota
bool

cpuCFSQuota 为指定 CPU 限制的容器启用 CPU CFS 配额强制执行。默认值:true

cpuCFSQuotaPeriod
meta/v1.Duration

cpuCFSQuotaPeriod 是 CPU CFS 配额周期值,cpu.cfs_period_us。该值必须在 1 毫秒到 1 秒之间(包含 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 服务器交谈时允许的突发量。此字段不能为负数。默认值:100

serializeImagePulls
bool

serializeImagePulls 如果启用,则告诉 Kubelet 一次拉取一个镜像。我们建议不要在运行 docker 守护进程(版本小于 1.9 或使用 Aufs 存储后端)的节点上更改默认值。问题 #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 值。注意:由于问题 #64530,此值的行为存在一个错误,即此值当前只是在软驱逐期间覆盖宽限期,这可能会增加 Pod 上设置的宽限期。此错误将在将来的版本中修复。默认值:0

evictionMinimumReclaim
map[string]string

evictionMinimumReclaim 是一个信号名称到数量的映射,定义了最小回收量,这描述了 kubelet 在执行 Pod 驱逐时回收的给定资源的最小数量,同时该资源处于压力状态。例如:{"imagefs.available": "2Gi"}。默认值:nil

podsPerCore
int32

podsPerCore 是每个内核的 Pod 的最大数量。不能超过 maxPods。该值必须是非负整数。如果为 0,则对 Pod 的数量没有限制。默认值:0

enableControllerAttachDetach
bool

enableControllerAttachDetach 使 Attach/Detach 控制器能够管理调度到此节点的卷的附加/分离,并禁用 kubelet 执行任何附加/分离操作。注意:kubelet 不支持附加/分离 CSI 卷,因此此选项必须为 true 才能使用这种用例。默认值:true

protectKernelDefaults
bool

protectKernelDefaults,如果为 true,则会导致 Kubelet 在内核标志与其预期不符时出错。否则,Kubelet 将尝试修改内核标志以匹配其预期。默认值:false

makeIPTablesUtilChains
bool

makeIPTablesUtilChains,如果为真,则会导致 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
bool

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.ac.cn/docs/user-guide/compute-resources。默认值:nil

kubeReserved
map[string]string

kubeReserved 是一组 ResourceName=ResourceQuantity(例如 cpu=200m,memory=150G)对,用于描述为 Kubernetes 系统组件保留的资源。目前支持 cpu、memory 和根文件系统的本地存储。有关更多详细信息,请参阅 https://kubernetes.ac.cn/docs/concepts/configuration/manage-resources-containers/。默认值:nil

reservedSystemCPUs [必需]
string

reservedSystemCPUs 选项指定为主机级系统线程和与 Kubernetes 相关的线程保留的 CPU 列表。这提供了“静态” CPU 列表,而不是 systemReserved 和 kubeReserved 的“动态”列表。此选项不支持 systemReservedCgroup 或 kubeReservedCgroup。

showHiddenMetricsForVersion
string

showHiddenMetricsForVersion 是要显示隐藏指标的先前版本。只有先前的次要版本才有意义,其他值将不被允许。格式为 <major>.<minor>,例如:1.16。此格式的目的是确保你有机会注意到下一个版本是否隐藏了更多指标,而不是在下一个版本中永久删除它们时感到意外。默认值:""

systemReservedCgroup
string

systemReservedCgroup 帮助 Kubelet 识别用于强制执行 systemReserved 计算资源保留以供操作系统系统守护程序使用的顶级 CGroup 的绝对名称。有关更多信息,请参阅 节点可分配 文档。默认值:""

kubeReservedCgroup
string

kubeReservedCgroup 帮助 Kubelet 识别用于强制执行 KubeReserved 计算资源保留以供 Kubernetes 节点系统守护程序使用的顶级 CGroup 的绝对名称。有关更多信息,请参阅 节点可分配 文档。默认值:""

enforceNodeAllocatable
[]string

此标志指定 Kubelet 需要执行的各种节点可分配强制执行。此标志接受选项列表。可接受的选项是 nonepodssystem-reservedkube-reserved。如果指定了 none,则不得指定其他选项。当 system-reserved 位于列表中时,必须指定 systemReservedCgroup。当 kube-reserved 位于列表中时,必须指定 kubeReservedCgroup。此字段仅在 cgroupsPerQOS 设置为 true 时支持。有关更多信息,请参阅 节点可分配。默认值:["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,如果设置,将设置外部提供者(即云提供者)可用于标识特定节点的实例的唯一 ID。默认值:""

kernelMemcgNotification
bool

kernelMemcgNotification,如果设置,则指示 Kubelet 与内核 memcg 通知集成,以确定内存驱逐阈值是否超过,而不是轮询。默认值:false

logging [必需]
LoggingConfiguration

logging 指定日志记录的选项。有关更多信息,请参阅 日志选项。默认值:格式:text

enableSystemLogHandler
bool

enableSystemLogHandler 通过 Web 界面 host:port/logs/ 启用系统日志。默认值:true

enableSystemLogQuery
bool

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 的关闭宽限期。收到关闭请求时,Kubelet 将在节点上运行的所有 pod 上启动关闭,宽限期取决于 pod 的优先级,然后等待所有 pod 退出。数组中的每个条目都表示在节点关闭时,优先级类值位于该值和列表中下一个更高条目范围内的 pod 的正常关闭时间。例如,要允许关键 pod 在 10 秒内关闭,优先级 >= 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

reservedMemory
[]MemoryReservation

reservedMemory 指定 NUMA 节点的逗号分隔的内存保留列表。该参数仅在内存管理器功能的上下文中才有意义。内存管理器不会为容器工作负载分配保留的内存。例如,如果您的 NUMA0 有 10Gi 的内存,并且 reservedMemory 被指定为在 NUMA0 上保留 1Gi 的内存,那么内存管理器将假定只有 9Gi 可用于分配。您可以指定不同的 NUMA 节点和内存类型数量。您完全可以省略此参数,但您应该知道,所有 NUMA 节点的保留内存量应该等于 节点可分配 指定的内存量。如果至少有一个节点可分配参数具有非零值,则您需要至少指定一个 NUMA 节点。此外,避免指定

  1. 重复,相同的 NUMA 节点和内存类型,但具有不同的值。
  2. 任何内存类型的零限制。
  3. 机器下不存在的 NUMA 节点 ID。
  4. 除了内存和 hugepages-<size> 之外的内存类型

默认值:nil

enableProfilingHandler
bool

enableProfilingHandler 通过 Web 界面 host:port/debug/pprof/ 启用性能分析。默认值:true

enableDebugFlagsHandler
bool

enableDebugFlagsHandler 通过 Web 界面 host:port/debug/flags/v 启用标志端点。默认值:true

seccompDefault
bool

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 是一个污点数组,当 kubelet 注册自身时将其添加到节点对象。这仅在 registerNode 为 true 并且在节点的初始注册时生效。默认值:nil

registerNode
bool

registerNode 启用与 apiserver 的自动注册。默认值:true

tracing
TracingConfiguration

Tracing 指定 OpenTelemetry 追踪客户端的版本化配置。有关更多详细信息,请参阅 https://kep.k8s.io/2832。默认值:nil

localStorageCapacityIsolation
bool

LocalStorageCapacityIsolation 启用本地短暂存储隔离功能。默认设置为 true。此功能允许用户为容器的短暂存储设置请求/限制并以类似于 cpu 和 memory 的方式进行管理。它还允许为 emptyDir 卷设置 sizeLimit,如果来自卷的磁盘使用量超过限制,将触发 pod 驱逐。此功能取决于检测正确根文件系统磁盘使用量的能力。对于某些系统(如 kind rootless),如果无法支持此功能,则应禁用 LocalStorageCapacityIsolation 功能。禁用后,用户不应为容器的短暂存储设置请求/限制,或为 emptyDir 设置 sizeLimit。默认值:true

containerRuntimeEndpoint [必需]
string

ContainerRuntimeEndpoint 是容器运行时的端点。在 Linux 上支持 Unix 域套接字,而在 Windows 上支持 npipe 和 tcp 端点。示例:'unix:///path/to/runtime.sock'、'npipe:////./pipe/runtime'

imageServiceEndpoint
string

ImageServiceEndpoint 是容器镜像服务的端点。在 Linux 上支持 Unix 域套接字,而在 Windows 上支持 npipe 和 tcp 端点。示例:'unix:///path/to/runtime.sock'、'npipe:////./pipe/runtime'。如果未指定,则使用 containerRuntimeEndpoint 中的值。

SerializedNodeConfigSource

SerializedNodeConfigSource 允许我们序列化 v1.NodeConfigSource。此类型由 Kubelet 内部用于跟踪检查点动态配置。它存在于 kubeletconfig API 组中,因为它被归类为 Kubelet 的版本化输入。

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

source 是我们正在序列化的源。

CredentialProvider

出现于

CredentialProvider 代表一个由 kubelet 调用的执行插件。只有当要拉取的镜像与插件处理的镜像匹配时才会调用该插件(参见 matchImages)。

字段描述
name [必填]
string

name 是凭据提供程序的必填名称。它必须与 kubelet 所见的提供程序可执行文件名称匹配。该可执行文件必须位于 kubelet 的 bin 目录中(由 --image-credential-provider-bin-dir 标志设置)。

matchImages [必填]
[]string

matchImages 是一个必填的字符串列表,用于匹配镜像以确定是否应调用此提供程序。如果其中一个字符串与 kubelet 请求的镜像匹配,则会调用该插件,并有机会提供凭据。镜像预计包含注册表域和 URL 路径。

matchImages 中的每个条目都是一个模式,可以包含一个端口和一个路径。通配符可以在域中使用,但不能在端口或路径中使用。通配符支持子域,例如 '*.k8s.io' 或 'k8s.*.io',以及顶级域,例如 'k8s.*'。匹配部分子域,例如 'app*.k8s.io',也受支持。每个通配符只能匹配一个子域段,因此 '*.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

执行 CredentialProviderRequest 的必填输入版本。返回的 CredentialProviderResponse 必须使用与输入相同的编码版本。当前支持的值为

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

传递给命令以执行它的参数。

env
[]ExecEnvVar

Env 定义要公开给进程的附加环境变量。这些变量与主机环境以及 client-go 用于向插件传递参数的变量合并。

ExecEnvVar

出现于

ExecEnvVar 用于在执行基于执行的凭据插件时设置环境变量。

字段描述
name [必填]
string
没有提供描述。
value [必填]
string
没有提供描述。

KubeletAnonymousAuthentication

出现于

字段描述
enabled
bool

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
bool

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 编码证书捆绑包的路径。如果设置,任何呈现由捆绑包中的某个授权机构签名的客户端证书的请求都将使用与通用名称相对应的用户名以及与客户端证书中的组织相对应的组进行身份验证。

MemoryReservation

出现于

MemoryReservation 指定每个 NUMA 节点的不同类型的内存预留

字段描述
numaNode [必填]
int32
没有提供描述。
limits [必填]
core/v1.ResourceList
没有提供描述。

MemorySwapConfiguration

出现于

字段描述
swapBehavior
string

swapBehavior 配置可用于容器工作负载的交换内存。可以是“”,"NoSwap":工作负载不能使用交换内存,默认选项。"LimitedSwap":工作负载交换内存使用量有限。交换内存限制与容器的内存请求成比例。

ResourceChangeDetectionStrategy

(string 的别名)

出现于

ResourceChangeDetectionStrategy 表示内部管理器(secret、configmap)发现对象更改的模式。

ShutdownGracePeriodByPodPriority

出现于

ShutdownGracePeriodByPodPriority 指定基于其关联的优先级类值的 Pod 的关闭宽限期

字段描述
priority [必填]
int32

priority 是与关闭宽限期关联的优先级值

shutdownGracePeriodSeconds [必填]
int64

shutdownGracePeriodSeconds 是关闭宽限期(以秒为单位)

此页面是自动生成的。

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

最后修改时间:2024 年 4 月 19 日,上午 8:34 PST:手动修复生成的引用中的错误。(30d2c8286e)