Kubelet 配置 (v1beta1)
资源类型
- CredentialProviderConfig
- ImagePullIntent
- ImagePulledRecord
- KubeletConfiguration
- SerializedNodeConfigSource
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 [必填]字符串 | Format 标志指定日志消息的结构。format 的默认值为 |
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 [必填]bool | [Alpha] SplitStream 将错误消息重定向到 stderr,而信息消息则带缓冲地发送到 stdout。默认是将两者都写入 stdout,且不带缓冲。仅在启用 LoggingAlphaOptions 特性门控时可用。 |
infoBufferSize [必填]k8s.io/apimachinery/pkg/api/resource.QuantityValue | [Alpha] InfoBufferSize 设置使用分流(split streams)时信息流的大小。默认值为零,即禁用缓冲。仅在启用 LoggingAlphaOptions 特性门控时可用。 |
TextOptions
出现于
TextOptions 包含日志格式 "text" 的选项。
| 字段 | 描述 |
|---|---|
OutputRoutingOptions [必填]OutputRoutingOptions | (OutputRoutingOptions 的成员内嵌在此类型中。) 未提供描述。 |
TimeOrMetaDuration
出现于
TimeOrMetaDuration 仅为了向后兼容 flushFrequency 字段而存在,新字段应使用 metav1.Duration。
| 字段 | 描述 |
|---|---|
Duration [必填]meta/v1.Duration | Duration 保存时长值 |
- [必需]bool | SerializeAsString 控制值是序列化为字符串还是整数 |
TracingConfiguration
出现于
TracingConfiguration 提供 OpenTelemetry 跟踪客户端的版本化配置。
| 字段 | 描述 |
|---|---|
endpoint字符串 | 收集器的端点,此组件将把跟踪报告到该端点。连接不安全,目前不支持 TLS。建议取消设置,端点是 otlp grpc 默认值,localhost:4317。 |
samplingRatePerMillionint32 | SamplingRatePerMillion 是每百万跨度要收集的样本数。建议取消设置。如果取消设置,采样器会尊重其父跨度的采样率,但否则永远不会采样。 |
VModuleConfiguration
([]k8s.io/component-base/logs/api/v1.VModuleItem 的别名)
出现于
VModuleConfiguration 是单个文件名或模式及其相应详细程度阈值的集合。
VerbosityLevel
(uint32 的别名)
出现于
VerbosityLevel 代表 klog 或 logr 的详细程度阈值。
CredentialProviderConfig
CredentialProviderConfig 是包含每个 exec 凭据提供程序信息的配置。Kubelet 从磁盘读取此配置,并如 CredentialProvider 类型所指定的那样启用每个提供程序。
| 字段 | 描述 |
|---|---|
apiVersion字符串 | kubelet.config.k8s.io/v1beta1 |
kind字符串 | CredentialProviderConfig |
providers [必需][]CredentialProvider | providers 是 kubelet 将启用的凭据提供程序插件列表。多个提供程序可能与单个镜像匹配,在这种情况下,所有提供程序的凭据都将返回给 kubelet。如果为单个镜像调用了多个提供程序,结果将被合并。如果提供程序返回重叠的认证密钥,则首先尝试列表中靠前的提供程序提供的值。 |
ImagePullIntent
ImagePullIntent 是 kubelet 尝试拉取镜像的记录。
| 字段 | 描述 |
|---|---|
apiVersion字符串 | kubelet.config.k8s.io/v1beta1 |
kind字符串 | ImagePullIntent |
image [必填]字符串 | Image 是来自容器 |
ImagePulledRecord
ImagePullRecord 是由 kubelet 拉取的镜像记录。
如果 kubernetesSecrets 字段中没有记录,且 nodeWideCredentials 和 anonymous 均为 false,则下次请求此记录代表的镜像时必须重新检查凭据。
| 字段 | 描述 |
|---|---|
apiVersion字符串 | kubelet.config.k8s.io/v1beta1 |
kind字符串 | ImagePulledRecord |
lastUpdatedTime [必填]meta/v1.Time | LastUpdatedTime 是此记录上次更新的时间 |
imageRef [必填]字符串 | ImageRef 是从 CRI 接收到的对此文件所代表镜像的引用。文件名为此值的 SHA-256 哈希值。这是为了避免文件名中出现 ':' 和 '/' 等不安全字符。 |
credentialMapping [必填]map[string]ImagePullCredentials | CredentialMapping 将 示例:容器请求 |
KubeletConfiguration
KubeletConfiguration 包含 Kubelet 的配置
| 字段 | 描述 |
|---|---|
apiVersion字符串 | kubelet.config.k8s.io/v1beta1 |
kind字符串 | KubeletConfiguration |
enableServer [必填]bool | enableServer 启用 Kubelet 的安全服务器。注意:Kubelet 的非安全端口由 readOnlyPort 选项控制。默认值:true |
staticPodPath字符串 | staticPodPath 是包含要运行的本地(静态)Pod 的目录路径,或单个静态 Pod 文件的路径。默认值:"" |
podLogsDir字符串 | podLogsDir 是 kubelet 用来放置 Pod 日志文件的自定义根目录路径。默认值:"/var/log/pods/"。注意:不建议将临时文件夹用作日志目录,因为这可能会在许多地方导致意外行为。 |
syncFrequencymeta/v1.Duration | syncFrequency 是同步运行容器和配置之间的最大周期。默认值:"1m" |
fileCheckFrequencymeta/v1.Duration | fileCheckFrequency 是检查配置文件新数据的时长。默认值:"20s" |
httpCheckFrequencymeta/v1.Duration | httpCheckFrequency 是检查 HTTP 获取新数据的时长。默认值:"20s" |
staticPodURL字符串 | staticPodURL 是访问要运行的静态 Pod 的 URL。默认值:"" |
staticPodURLHeadermap[string][]string | staticPodURLHeader 是访问 podURL 时使用的 HTTP 头切片映射。默认值:nil |
address字符串 | address 是 Kubelet 服务监听的 IP 地址(设置为 0.0.0.0 以监听所有接口)。默认值:"0.0.0.0" |
portint32 | port 是 Kubelet 服务监听的端口。端口号必须在 1 到 65535 之间(含)。默认值:10250 |
readOnlyPortint32 | readOnlyPort 是 Kubelet 服务监听的只读端口,无身份验证/授权。端口号必须在 1 到 65535 之间(含)。将此字段设置为 0 可禁用只读服务。默认值:0(禁用) |
tlsCertFile字符串 | tlsCertFile 是包含 HTTPS 所需的 x509 证书的文件。(CA 证书如有,则连接在服务器证书之后)。如果未提供 tlsCertFile 和 tlsPrivateKeyFile,则会为公共地址生成自签名证书和密钥,并保存到传递给 Kubelet --cert-dir 标志的目录中。默认值:"" |
tlsPrivateKeyFile字符串 | tlsPrivateKeyFile 是包含与 tlsCertFile 匹配的 x509 私钥的文件。默认值:"" |
tlsCipherSuites[]string | tlsCipherSuites 是服务器允许的加密套件列表。请注意,TLS 1.3 加密套件不可配置。值来自 tls 包常量 (https://golang.ac.cn/pkg/crypto/tls/#pkg-constants)。默认值:nil |
tlsMinVersion字符串 | tlsMinVersion 是支持的最低 TLS 版本。值来自 tls 包常量 (https://golang.ac.cn/pkg/crypto/tls/#pkg-constants)。默认值:"" |
rotateCertificatesbool | rotateCertificates 启用客户端证书轮换。Kubelet 将向 certificates.k8s.io API 请求新证书。这需要审批者批准证书签名请求。默认值:false |
serverTLSBootstrapbool | serverTLSBootstrap 启用服务器证书引导。Kubelet 将向 'certificates.k8s.io' API 请求证书,而不是自签名服务证书。这需要审批者批准证书签名请求 (CSR)。设置此字段时必须启用 RotateKubeletServerCertificate 特性。默认值:false |
authenticationKubeletAuthentication | authentication 指定如何对 Kubelet 服务器的请求进行身份验证。默认值:anonymous: enabled: false, webhook: enabled: true, cacheTTL: "2m" |
authorizationKubeletAuthorization | authorization 指定如何对 Kubelet 服务器的请求进行授权。默认值:mode: Webhook, webhook: cacheAuthorizedTTL: "5m", cacheUnauthorizedTTL: "30s" |
registryPullQPSint32 | registryPullQPS 是每秒注册表拉取的限制。该值不能为负数。设置为 0 表示不限制。默认值:5 |
registryBurstint32 | registryBurst 是并发拉取的最大突发大小,临时允许拉取次数达到此数值,同时仍不超过 registryPullQPS。该值不能为负数。仅在 registryPullQPS 大于 0 时使用。默认值:10 |
imagePullCredentialsVerificationPolicyImagePullCredentialsVerificationPolicy | imagePullCredentialsVerificationPolicy 决定当 Pod 请求节点上已存在的镜像时应如何验证凭据
|
preloadedImagesVerificationAllowlist[]string | preloadedImagesVerificationAllowlist 指定了对于 "NeverVerifyAllowlistedImages" |
eventRecordQPSint32 | eventRecordQPS 是每秒创建事件的最大数量。如果为 0,则不执行任何限制。该值不能为负数。默认值:50 |
eventBurstint32 | eventBurst 是事件创建突发的最大大小,临时允许事件创建达到此数值,同时仍不超过 eventRecordQPS。该字段不能为负数,且仅在 eventRecordQPS > 0 时使用。默认值:100 |
enableDebuggingHandlersbool | enableDebuggingHandlers 启用用于日志访问、本地运行容器和命令的服务器端点,包括 exec、attach、logs 和 portforward 特性。默认值:true |
enableContentionProfilingbool | 如果 enableDebuggingHandlers 为 true,则 enableContentionProfiling 启用阻塞分析 (block profiling)。默认值:false |
healthzPortint32 | healthzPort 是 localhost healthz 端点的端口(设置为 0 以禁用)。有效数字在 1 到 65535 之间。默认值:10248 |
healthzBindAddress字符串 | healthzBindAddress 是 healthz 服务器监听的 IP 地址。默认值:"127.0.0.1" |
oomScoreAdjint32 | oomScoreAdj 是 kubelet 进程的 oom-score-adj 值。值必须在 [-1000, 1000] 范围内。默认值:-999 |
clusterDomain字符串 | clusterDomain 是此集群的 DNS 域名。如果设置,kubelet 将配置所有容器,使其除了主机的搜索域外,还搜索此域名。默认值:"" |
clusterDNS[]string | clusterDNS 是集群 DNS 服务器的 IP 地址列表。如果设置,kubelet 将配置所有容器使用此地址进行 DNS 解析,而不是使用主机的 DNS 服务器。默认值:nil |
streamingConnectionIdleTimeoutmeta/v1.Duration | streamingConnectionIdleTimeout 是流式连接在自动关闭前可以空闲的最长时间。已弃用:不再有任何效果。默认值:"4h" |
nodeStatusUpdateFrequencymeta/v1.Duration | nodeStatusUpdateFrequency 是 kubelet 计算节点状态的频率。如果未启用节点租约特性,这也是 kubelet 向 master 发布节点状态的频率。注意:未启用节点租约特性时,更改此常量需谨慎,它必须与 nodecontroller 中的 nodeMonitorGracePeriod 配合使用。默认值:"10s" |
nodeStatusReportFrequencymeta/v1.Duration | nodeStatusReportFrequency 是当节点状态未改变时,kubelet 向 master 发布节点状态的频率。如果检测到任何变化,kubelet 将忽略此频率并立即发布节点状态。仅在启用节点租约特性时使用。nodeStatusReportFrequency 的默认值为 5m。但如果显式设置了 nodeStatusUpdateFrequency,则为了向后兼容,nodeStatusReportFrequency 的默认值将被设置为 nodeStatusUpdateFrequency。默认值:"5m" |
nodeLeaseDurationSecondsint32 | nodeLeaseDurationSeconds 是 Kubelet 将在其对应租约 (Lease) 上设置的时长。NodeLease 通过让 Kubelet 在 kube-node-lease 命名空间中创建并定期续租(以节点命名)来指示节点健康状况。如果租约过期,节点可被视为不健康。根据 KEP-0009,租约目前每 10 秒续约一次。未来,续租间隔可能会根据租约时长来设置。该字段值必须大于 0。默认值:40 |
imageMinimumGCAgemeta/v1.Duration | imageMinimumGCAge 是未使用镜像在被垃圾回收前的最小期限。默认值:"2m" |
imageMaximumGCAgemeta/v1.Duration | imageMaximumGCAge 是镜像在被垃圾回收前可以处于未使用状态的最大期限。此字段默认值为 "0s",即禁用此字段——意味着镜像不会因长时间未使用而被垃圾回收。默认值:"0s"(禁用) |
imageGCHighThresholdPercentint32 | imageGCHighThresholdPercent 是触发镜像垃圾回收始终运行的磁盘使用百分比。百分比通过将此字段值除以 100 计算得出,因此此字段必须在 0 到 100 之间(含)。指定时,该值必须大于 imageGCLowThresholdPercent。默认值:85 |
imageGCLowThresholdPercentint32 | imageGCLowThresholdPercent 是在触发镜像垃圾回收之前从不运行的磁盘使用百分比。这是垃圾回收的目标磁盘使用量。百分比通过将此字段值除以 100 计算得出,因此字段值必须在 0 到 100 之间(含)。指定时,该值必须小于 imageGCHighThresholdPercent。默认值:80 |
volumeStatsAggPeriodmeta/v1.Duration | volumeStatsAggPeriod 是计算并缓存所有 Pod 卷磁盘使用情况的频率。默认值:"1m" |
kubeletCgroups字符串 | kubeletCgroups 是用于隔离 kubelet 的 cgroups 绝对名称。默认值:"" |
systemCgroups字符串 | systemCgroups 是放置所有尚未在容器中的非内核进程的 cgroups 绝对名称。留空表示不在容器中。回退此标志需要重启。如果此字段不为空,则必须指定 cgroupRoot。默认值:"" |
cgroupRoot字符串 | cgroupRoot 是用于 Pod 的根 cgroup。这由容器运行时尽力而为地处理。 |
cgroupsPerQOSbool | cgroupsPerQOS 启用基于 QoS 的 CGroup 层级结构:为 QoS 级别提供顶级 CGroup,并且所有 Burstable 和 BestEffort Pod 都在其特定的顶级 QoS CGroup 下启动。默认值:true |
cgroupDriver字符串 | cgroupDriver 是 kubelet 用来在主机上操作 CGroup 的驱动程序 (cgroupfs 或 systemd)。默认值:"cgroupfs" |
cpuManagerPolicy字符串 | cpuManagerPolicy 是要使用的策略名称。默认值:"None" |
singleProcessOOMKillbool | singleProcessOOMKill 如果为 true,将防止在 cgroups v2 中为容器 cgroup 设置 |
cpuManagerPolicyOptionsmap[string]string | cpuManagerPolicyOptions 是一组 key=value,允许设置额外选项来微调 CPU 管理策略的行为。默认值:nil |
cpuManagerReconcilePeriodmeta/v1.Duration | cpuManagerReconcilePeriod 是 CPU 管理器的对账周期。默认值:"10s" |
memoryManagerPolicy字符串 | memoryManagerPolicy 是内存管理器使用的策略名称。需要启用 MemoryManager 特性门控。默认值:"none" |
topologyManagerPolicy字符串 | topologyManagerPolicy 是要使用的拓扑管理器策略名称。有效值包括:
默认值:"none" |
topologyManagerScope字符串 | topologyManagerScope 代表拓扑管理器请求和提示提供者生成的拓扑提示生成范围。有效值包括:
默认值:"container" |
topologyManagerPolicyOptionsmap[string]string | TopologyManagerPolicyOptions 是一组 key=value,允许设置额外选项来微调拓扑管理器策略的行为。需要同时启用 "TopologyManager" 和 "TopologyManagerPolicyOptions" 特性门控。默认值:nil |
qosReservedmap[string]string | qosReserved 是一组资源名称到百分比的对,指定保留供 Guaranteed QoS 级别独占使用的资源最小百分比。当前支持的资源:"memory"。需要启用 QOSReserved 特性门控。默认值:nil |
runtimeRequestTimeoutmeta/v1.Duration | runtimeRequestTimeout 是除长时间运行请求(pull、logs、exec 和 attach)之外的所有运行时请求的超时时间。默认值:"2m" |
hairpinMode字符串 | hairpinMode 指定 Kubelet 应如何为发夹(hairpin)数据包配置容器网桥。设置此标志允许 Service 中的端点在尝试访问其自身 Service 时负载均衡回自身。值:
通常,必须设置 |
maxPodsint32 | maxPods 是可以在此 Kubelet 上运行的最大 Pod 数量。值必须是非负整数。默认值:110 |
podCIDR字符串 | podCIDR 是用于 Pod IP 地址的 CIDR,仅在独立模式下使用。在集群模式下,这是从控制平面获取的。默认值:"" |
podPidsLimitint64 | podPidsLimit 是任何 Pod 中的最大 PID 数量。默认值:-1 |
resolvConf字符串 | resolvConf 是用作容器 DNS 解析配置基础的解析器配置文件。如果设置为空字符串,将覆盖默认值并有效地禁用 DNS 查找。默认值:"/etc/resolv.conf" |
runOncebool | runOnce 使 Kubelet 向 API 服务器检查一次 Pod,运行这些 Pod 以及静态 Pod 文件指定的 Pod,然后退出。默认值:false |
cpuCFSQuotabool | cpuCFSQuota 为指定 CPU 限制的容器启用 CPU CFS 配额强制执行。默认值:true |
cpuCFSQuotaPeriodmeta/v1.Duration | cpuCFSQuotaPeriod 是 CPU CFS 配额周期值, |
nodeStatusMaxImagesint32 | nodeStatusMaxImages 限制 Node.status.images 中报告的镜像数量。该值必须大于 -2。注意:如果指定 -1,则不应用限制。如果指定 0,则不返回镜像。默认值:50 |
maxOpenFilesint64 | maxOpenFiles 是 Kubelet 进程可以打开的文件数量。值必须是非负数。默认值:1000000 |
contentType字符串 | contentType 是发送到 apiserver 的请求的内容类型。默认值:"application/vnd.kubernetes.protobuf" |
kubeAPIQPSint32 | kubeAPIQPS 是与 kubernetes apiserver 通信时使用的 QPS。默认值:50 |
kubeAPIBurstint32 | kubeAPIBurst 是与 kubernetes API 服务器通信时允许的突发量。该字段不能为负数。默认值:100 |
serializeImagePullsbool | serializeImagePulls 启用时,告诉 Kubelet 每次只拉取一个镜像。我们建议不要在运行 Docker 守护进程版本 < 1.9 或使用 Aufs 存储后端的节点上更改默认值。问题 #10959 提供了更多详细信息。默认值:true |
maxParallelImagePullsint32 | MaxParallelImagePulls 设置并行拉取镜像的最大数量。如果 SerializeImagePulls 为 true,则不能设置此字段。将其设置为 nil 表示不限制。默认值:nil |
evictionHardmap[string]string | evictionHard 是信号名称到数量的映射,定义了硬驱逐阈值。例如: |
evictionSoftmap[string]string | evictionSoft 是信号名称到数量的映射,定义了软驱逐阈值。例如: |
evictionSoftGracePeriodmap[string]string | evictionSoftGracePeriod 是信号名称到数量的映射,定义了每个软驱逐信号的宽限期。例如: |
evictionPressureTransitionPeriodmeta/v1.Duration | evictionPressureTransitionPeriod 是 kubelet 在退出驱逐压力状态前必须等待的时长。0s 的时长将被转换为默认值 5m。默认值:"5m" |
evictionMaxPodGracePeriodint32 | evictionMaxPodGracePeriod 是响应满足软驱逐阈值而终止 Pod 时允许使用的最大宽限期(以秒为单位)。此值有效地限制了软驱逐期间 Pod 的 terminationGracePeriodSeconds 值。默认值:0 |
evictionMinimumReclaimmap[string]string | evictionMinimumReclaim 是信号名称到数量的映射,定义了最小回收量,描述了在资源面临压力执行 Pod 驱逐时,kubelet 将回收的给定资源的最小数量。例如: |
mergeDefaultEvictionSettingsbool | mergeDefaultEvictionSettings 指示 evictionHard、evictionSoft、evictionSoftGracePeriod 和 evictionMinimumReclaim 字段的默认值应合并到此配置中为这些字段指定的值。此配置中指定的信号具有优先级。此配置中未指定的信号继承其默认值。如果为 false,且此配置中指定了任何信号,则未在此配置中指定的其他信号将被设置为 0。它适用于合并存在默认值的字段,目前只有 evictionHard 有默认值。默认值:false |
podsPerCoreint32 | podsPerCore 是每个核心的最大 Pod 数量。不能超过 maxPods。该值必须是非负整数。如果为 0,则不限制 Pod 数量。默认值:0 |
enableControllerAttachDetachbool | enableControllerAttachDetach 启用 Attach/Detach 控制器来管理调度到此节点的卷的挂载/卸载,并禁用 kubelet 执行任何挂载/卸载操作。注意:kubelet 不支持挂载/卸载 CSI 卷,因此在这种用例下此选项需要为 true。默认值:true |
protectKernelDefaultsbool | protectKernelDefaults 如果为 true,则在内核参数不符合预期时导致 Kubelet 报错。否则,Kubelet 将尝试修改内核参数以符合其预期。默认值:false |
makeIPTablesUtilChainsbool | makeIPTablesUtilChains 如果为 true,导致 Kubelet 在 iptables 中创建 KUBE-IPTABLES-HINT 链,作为对系统中其他组件关于 iptables 配置的提示。默认值:true |
iptablesMasqueradeBitint32 | iptablesMasqueradeBit 以前控制 KUBE-MARK-MASQ 链的创建。已弃用:不再有任何效果。默认值:14 |
iptablesDropBitint32 | iptablesDropBit 以前控制 KUBE-MARK-DROP 链的创建。已弃用:不再有任何效果。默认值:15 |
featureGatesmap[string]bool | featureGates 是功能名称到布尔值的映射,用于启用或禁用实验性功能。此字段逐项修改 "k8s.io/kubernetes/pkg/features/kube_features.go" 中的内置默认值。默认值:nil |
failSwapOnbool | failSwapOn 告诉 Kubelet 如果节点上启用了交换分区,则启动失败。默认值:true |
memorySwapMemorySwapConfiguration | memorySwap 配置容器工作负载可用的交换内存。 |
containerLogMaxSize字符串 | containerLogMaxSize 是定义容器日志文件在轮换前的最大大小的数量。例如:"5Mi" 或 "256Ki"。默认值:"10Mi" |
containerLogMaxFilesint32 | containerLogMaxFiles 指定一个容器可以存在的最大容器日志文件数量。默认值:5 |
containerLogMaxWorkersint32 | ContainerLogMaxWorkers 指定为执行日志轮换操作而生成的最大并发工作线程数。将此数值设置为 1 以禁用并发日志轮换工作流。默认值:1 |
containerLogMonitorIntervalmeta/v1.Duration | ContainerLogMonitorInterval 指定监视容器日志以执行日志轮换操作的时长。默认为 10 * time.Seconds。但可以根据日志生成速率和所需轮换的大小自定义为较小的值。默认值:10s |
configMapAndSecretChangeDetectionStrategyResourceChangeDetectionStrategy | configMapAndSecretChangeDetectionStrategy 是 ConfigMap 和 Secret 管理器运行的模式。有效值包括:
默认值:"Watch" |
systemReservedmap[string]string | systemReserved 是一组 ResourceName=ResourceQuantity(例如 cpu=200m,memory=150G)对,描述为非 kubernetes 组件保留的资源。目前仅支持 cpu 和 memory。有关更多详细信息,请参阅 https://kubernetes.ac.cn/docs/tasks/administer-cluster/reserve-compute-resources。默认值:nil |
kubeReservedmap[string]string | kubeReserved 是一组 ResourceName=ResourceQuantity(例如 cpu=200m,memory=150G)对,描述为 kubernetes 系统组件保留的资源。目前支持 cpu、memory 和根文件系统的本地存储。有关更多详细信息,请参阅 https://kubernetes.ac.cn/docs/tasks/administer-cluster/reserve-compute-resources。默认值:nil |
reservedSystemCPUs [必填]字符串 | reservedSystemCPUs 选项指定为主机级系统线程和 kubernetes 相关线程保留的 CPU 列表。这提供了“静态”CPU 列表,而不是 systemReserved 和 kubeReserved 提供的“动态”列表。此选项不支持 systemReservedCgroup 或 kubeReservedCgroup。 |
showHiddenMetricsForVersion字符串 | showHiddenMetricsForVersion 是你想要显示隐藏指标的上一个版本。只有上一个次要版本是有意义的,不允许其他值。格式为 |
systemReservedCgroup字符串 | systemReservedCgroup 帮助 kubelet 识别顶级 CGroup 的绝对名称,用于对操作系统系统守护进程强制执行 |
kubeReservedCgroup字符串 | kubeReservedCgroup 帮助 kubelet 识别顶级 CGroup 的绝对名称,用于对 Kubernetes 节点系统守护进程强制执行 |
enforceNodeAllocatable[]string | 此标志指定 Kubelet 需要执行的各种节点可分配资源强制执行。此标志接受一个选项列表。可接受的选项为 |
allowedUnsafeSysctls[]string | 逗号分隔的不安全 sysctl 或 sysctl 模式(以 |
volumePluginDir字符串 | volumePluginDir 是搜索额外第三方卷插件的目录全路径。默认值:"/usr/libexec/kubernetes/kubelet-plugins/volume/exec/" |
providerID字符串 | providerID 如果设置,则设置实例的唯一 ID,外部提供商(即云提供商)可以使用该 ID 识别特定节点。默认值:"" |
kernelMemcgNotificationbool | kernelMemcgNotification 如果设置,指示 kubelet 与内核 memcg 通知集成,以确定是否超过内存驱逐阈值,而不是通过轮询。默认值:false |
logging [必填]LoggingConfiguration | logging 指定日志选项。有关更多信息,请参阅 日志选项 (Logs Options)。默认值:Format: text |
enableSystemLogHandlerbool | enableSystemLogHandler 通过 Web 界面 host:port/logs/ 启用系统日志。默认值:true |
enableSystemLogQuerybool | enableSystemLogQuery 在 /logs 端点上启用节点日志查询功能。要使此功能工作,还必须启用 EnableSystemLogHandler。启用此功能具有安全影响。建议根据调试需要启用它,否则禁用。默认值:false |
shutdownGracePeriodmeta/v1.Duration | shutdownGracePeriod 指定节点应延迟关机的总时长,以及节点关机期间 Pod 终止的总宽限期。默认值:"0s" |
shutdownGracePeriodCriticalPodsmeta/v1.Duration | shutdownGracePeriodCriticalPods 指定节点关机期间用于终止关键 (critical) Pod 的时长。这应该小于 shutdownGracePeriod。例如,如果 shutdownGracePeriod=30s 且 shutdownGracePeriodCriticalPods=10s,则在节点关机期间,前 20 秒将保留用于优雅地终止普通 Pod,最后 10 秒将保留用于终止关键 Pod。默认值:"0s" |
shutdownGracePeriodByPodPriority[]ShutdownGracePeriodByPodPriority | shutdownGracePeriodByPodPriority 根据 Pod 关联的优先级类值指定 Pod 的关机宽限期。收到关机请求后,Kubelet 将开始关闭节点上运行的所有 Pod,宽限期取决于 Pod 的优先级,然后等待所有 Pod 退出。数组中的每个条目代表当节点关机时,优先级类值处于该值与列表中下一个更高条目之间范围内的 Pod 的优雅关机时间。例如,允许关键 Pod 10s 关机,priority>=10000 的 Pod 20s 关机,其余所有 Pod 30s 关机。 shutdownGracePeriodByPodPriority
Kubelet 退出前等待的时间最多是节点上代表的每个优先级类范围的所有 shutdownGracePeriodSeconds 的最大值。当所有 Pod 都已退出或达到其宽限期时,Kubelet 将释放关机抑制锁。需要启用 GracefulNodeShutdown 特性门控。如果设置了 ShutdownGracePeriod 或 ShutdownGracePeriodCriticalPods,则此配置必须为空。默认值:nil |
crashLoopBackOffCrashLoopBackOffConfig | CrashLoopBackOff 包含修改容器重启行为节点级参数的配置 |
reservedMemory[]MemoryReservation | reservedMemory 指定 NUMA 节点的内存保留逗号分隔列表。该参数仅在内存管理器特性的背景下有意义。内存管理器不会为容器工作负载分配保留内存。例如,如果您有一个具有 10Gi 内存的 NUMA0,并且 reservedMemory 指定在 NUMA0 保留 1Gi 内存,则内存管理器将假设只有 9Gi 可用于分配。您可以指定不同数量的 NUMA 节点和内存类型。您可以完全省略此参数,但您应该意识到,所有 NUMA 节点的保留内存总量应等于 节点可分配资源 (node allocatable) 指定的内存量。如果至少有一个节点可分配资源参数具有非零值,则您需要指定至少一个 NUMA 节点。此外,请避免指定:
默认值:nil |
enableProfilingHandlerbool | enableProfilingHandler 通过 Web 界面 host:port/debug/pprof/ 启用分析功能。默认值:true |
enableDebugFlagsHandlerbool | enableDebugFlagsHandler 通过 Web 界面 host:port/debug/flags/v 启用标志 (flags) 端点。默认值:true |
seccompDefaultbool | SeccompDefault 启用将 |
memoryThrottlingFactorfloat64 | MemoryThrottlingFactor 指定在设置 cgroupv2 memory.high 值以强制执行 MemoryQoS 时,乘以内存限制或节点可分配内存的因子。减小此因子将为容器 cgroup 设置较低的高水位限制并施加更重的回收压力,而增大则会减轻回收压力。有关更多详细信息,请参阅 https://kep.k8s.io/2570。默认值:0.9 |
registerWithTaints[]core/v1.Taint | registerWithTaints 是在 kubelet 注册自身时要添加到节点对象的一组污点 (taints)。这仅在 registerNode 为 true 且在节点初始注册时生效。默认值:nil |
registerNodebool | registerNode 启用向 apiserver 自动注册。默认值:true |
tracingTracingConfiguration | Tracing 指定 OpenTelemetry 跟踪客户端的版本化配置。有关更多详细信息,请参阅 https://kep.k8s.io/2832。默认值:nil |
localStorageCapacityIsolationbool | LocalStorageCapacityIsolation 启用本地临时存储隔离功能。默认设置为 true。此功能允许用户为容器的临时存储设置 request/limit,并以类似于 CPU 和内存的方式进行管理。它还允许为 emptyDir 卷设置 sizeLimit,如果卷的磁盘使用量超过限制,将触发 Pod 驱逐。此功能取决于检测正确根文件系统磁盘使用情况的能力。对于某些系统,如 kind rootless,如果无法支持此能力,则应禁用 LocalStorageCapacityIsolation 功能。一旦禁用,用户不应为容器的临时存储设置 request/limit,或为 emptyDir 设置 sizeLimit。默认值:true |
containerRuntimeEndpoint [必填]字符串 | ContainerRuntimeEndpoint 是容器运行时的端点。Linux 支持 Unix 域套接字,而 Windows 支持 npipe 和 TCP 端点。示例:'unix:///path/to/runtime.sock', 'npipe:////./pipe/runtime' |
imageServiceEndpoint字符串 | ImageServiceEndpoint 是容器镜像服务的端点。Linux 支持 Unix 域套接字,而 Windows 支持 npipe 和 TCP 端点。示例:'unix:///path/to/runtime.sock', 'npipe:////./pipe/runtime'。如果未指定,则使用 containerRuntimeEndpoint 中的值。 |
failCgroupV1bool | FailCgroupV1 防止 kubelet 在使用 cgroup v1 的主机上启动。默认情况下,此项设置为 'true',这意味着除非显式禁用此选项,否则 kubelet 将不会在 cgroup v1 主机上启动。默认值:true |
userNamespacesUserNamespaces | UserNamespaces 包含用户命名空间 (User Namespace) 配置。 |
SerializedNodeConfigSource
SerializedNodeConfigSource 允许我们序列化 v1.NodeConfigSource。此类型由 Kubelet 内部用于跟踪检查点动态配置。它存在于 kubeletconfig API 组中,因为它被归类为 Kubelet 的版本化输入。
| 字段 | 描述 |
|---|---|
apiVersion字符串 | kubelet.config.k8s.io/v1beta1 |
kind字符串 | SerializedNodeConfigSource |
sourcecore/v1.NodeConfigSource | source 是我们正在序列化的源。 |
CrashLoopBackOffConfig
出现于
| 字段 | 描述 |
|---|---|
maxContainerRestartPeriodmeta/v1.Duration | maxContainerRestartPeriod 是容器重启退避延迟可以累计的最大时长,最小 1 秒,最大 300 秒。如果未设置,则默认为内部 crashloopbackoff 最大值 (300s)。 |
CredentialProvider
出现于
CredentialProvider 代表 kubelet 将调用的 exec 插件。仅当正在拉取的镜像与插件处理的镜像匹配(请参阅 matchImages)时,才会调用该插件。
| 字段 | 描述 |
|---|---|
name [必需]字符串 | 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 存在匹配时,必须满足以下所有条件
matchImages 的示例值
|
defaultCacheDuration [必需]meta/v1.Duration | defaultCacheDuration 是插件将在内存中缓存凭据的默认持续时间,如果插件响应中未提供缓存持续时间。此字段是必需的。 |
apiVersion [必需]字符串 | 所需的 exec CredentialProviderRequest 输入版本。返回的 CredentialProviderResponse 必须使用与输入相同的编码版本。当前支持的值是
|
args[]string | 在执行时传递给命令的参数。 |
env[]ExecEnvVar | Env 定义要暴露给进程的附加环境变量。这些环境变量与主机环境以及 client-go 用于将参数传递给插件的环境变量合并。 |
ExecEnvVar
出现于
ExecEnvVar 用于在执行基于 exec 的凭据插件时设置环境变量。
| 字段 | 描述 |
|---|---|
name [必需]字符串 | 未提供描述。 |
value [必需]字符串 | 未提供描述。 |
ImagePullCredentials
出现于
ImagePullCredentials 描述了可用于拉取镜像的凭据。
| 字段 | 描述 |
|---|---|
kubernetesSecrets[]ImagePullSecret | KubernetesSecretCoordinates 是用于拉取镜像的所有 kubernetes secret 坐标的索引。 |
kubernetesServiceAccounts[]ImagePullServiceAccount | KubernetesServiceAccounts 是用于拉取镜像的所有 kubernetes service account 坐标的索引。 |
nodePodsAccessiblebool | NodePodsAccessible 是一个标志,表示拉取凭据可供节点上的所有 Pod 访问,或者拉取不需要凭据。 如果为 true,它与 |
ImagePullCredentialsVerificationPolicy
(string 的别名)
出现于
ImagePullCredentialsVerificationPolicy 是一个枚举,用于定义当 Pod 请求系统中已存在的镜像时强制执行的策略
ImagePullSecret
出现于
ImagePullSecret 是 Kubernetes secret 对象坐标的表示,以及此对象包含的拉取 secret 凭据的凭据哈希值。
| 字段 | 描述 |
|---|---|
uid [必填]字符串 | 未提供描述。 |
namespace [必填]字符串 | 未提供描述。 |
name [必需]字符串 | 未提供描述。 |
credentialHash [必填]字符串 | CredentialHash 是通过对由 UID/Namespace/Name 坐标指定的 secret 的镜像拉取凭据内容进行哈希处理而检索到的 SHA-256 值。 |
ImagePullServiceAccount
出现于
ImagePullServiceAccount 是 Kubernetes service account 对象坐标的表示,kubelet 为其向凭据提供程序插件发送了 service account token 以获取镜像拉取凭据。
| 字段 | 描述 |
|---|---|
uid [必填]字符串 | 未提供描述。 |
namespace [必填]字符串 | 未提供描述。 |
name [必需]字符串 | 未提供描述。 |
KubeletAnonymousAuthentication
出现于
| 字段 | 描述 |
|---|---|
enabledbool | enabled 允许对 kubelet 服务器进行匿名请求。未被其他身份验证方法拒绝的请求将被视为匿名请求。匿名请求的用户名是 |
KubeletAuthentication
出现于
| 字段 | 描述 |
|---|---|
x509KubeletX509Authentication | x509 包含与 x509 客户端证书身份验证相关的设置。 |
webhookKubeletWebhookAuthentication | webhook 包含与 Webhook 持票人令牌 (bearer token) 身份验证相关的设置。 |
anonymousKubeletAnonymousAuthentication | anonymous 包含与匿名身份验证相关的设置。 |
KubeletAuthorization
出现于
| 字段 | 描述 |
|---|---|
modeKubeletAuthorizationMode | mode 是应用于对 kubelet 服务器请求的授权模式。有效值为 |
webhookKubeletWebhookAuthorization | webhook 包含与 Webhook 授权相关的设置。 |
KubeletAuthorizationMode
(string 的别名)
出现于
KubeletWebhookAuthentication
出现于
| 字段 | 描述 |
|---|---|
enabledbool | enabled 允许由 tokenreviews.authentication.k8s.io API 支持的持票人令牌身份验证。 |
cacheTTLmeta/v1.Duration | cacheTTL 启用身份验证结果的缓存 |
KubeletWebhookAuthorization
出现于
| 字段 | 描述 |
|---|---|
cacheAuthorizedTTLmeta/v1.Duration | cacheAuthorizedTTL 是缓存来自 Webhook 授权者的“已授权”响应的时长。 |
cacheUnauthorizedTTLmeta/v1.Duration | cacheUnauthorizedTTL 是缓存来自 Webhook 授权者的“未授权”响应的时长。 |
KubeletX509Authentication
出现于
| 字段 | 描述 |
|---|---|
clientCAFile字符串 | clientCAFile 是 PEM 编码的证书包的路径。如果设置,任何提供由包中颁发机构之一签名的客户端证书的请求都将使用对应于 CommonName 的用户名和对应于客户端证书中 Organization 的组进行身份验证。 |
MemoryReservation
出现于
MemoryReservation 为每个 NUMA 节点指定不同类型的内存保留
| 字段 | 描述 |
|---|---|
numaNode [必填]int32 | 未提供描述。 |
limits [必填]core/v1.ResourceList | 未提供描述。 |
MemorySwapConfiguration
出现于
| 字段 | 描述 |
|---|---|
swapBehavior字符串 | swapBehavior 配置容器工作负载可用的交换内存。可以是 "", "NoSwap": 工作负载不能使用交换内存,默认选项;"LimitedSwap": 工作负载交换内存使用受到限制。交换内存限制与容器的内存请求成比例。 |
ResourceChangeDetectionStrategy
(string 的别名)
出现于
ResourceChangeDetectionStrategy 表示内部管理器(secret、configmap)发现对象更改的模式。
ShutdownGracePeriodByPodPriority
出现于
ShutdownGracePeriodByPodPriority 根据 Pod 关联的优先级类值指定 Pod 的关机宽限期
| 字段 | 描述 |
|---|---|
priority [必填]int32 | priority 是与关机宽限期关联的优先级值 |
shutdownGracePeriodSeconds [必填]int64 | shutdownGracePeriodSeconds 是关机宽限期(秒) |
UserNamespaces
出现于
UserNamespaces 包含用户命名空间 (User Namespace) 配置。
| 字段 | 描述 |
|---|---|
idsPerPodint64 | IDsPerPod 是 UID 和 GID 的映射长度。长度必须是 65536 的倍数,并且必须小于 1<<32。在非 Linux(如 Windows)上,仅允许 null / 缺失。 更改此值可能需要重新创建节点上的所有容器。 默认值:65536 |
本页面是自动生成的。
如果您打算报告此页面的问题,请在您的问题描述中提及该页面是自动生成的。修复可能需要在 Kubernetes 项目的其他地方进行。