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 的默认值为 |
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 设置使用分流流时信息流的大小。默认值为零,表示禁用缓冲。仅在启用了 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 是每百万个 span 收集的样本数。推荐的做法是将其设置为空。如果设置为空,则采样器将尊重其父 span 的采样率,但否则永远不会进行采样。 |
VModuleConfiguration
([]k8s.io/component-base/logs/api/v1.VModuleItem
的别名)
出现在
VModuleConfiguration 是单个文件名或模式以及对应的详细程度阈值的集合。
VerbosityLevel
(uint32
的别名)
出现在
VerbosityLevel 表示 klog 或 logr 的详细程度阈值。
CredentialProviderConfig
CredentialProviderConfig 是包含每个执行凭证提供者信息的配置。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 [必需]bool | enableServer 启用 Kubelet 的安全服务器。注意:Kubelet 的不安全端口由 readOnlyPort 选项控制。默认值:true |
staticPodPath string | staticPodPath 是包含要运行的本地(静态)Pod 的目录的路径,或者是一个单个静态 Pod 文件的路径。默认值:"" |
podLogsDir string | podLogsDir 是 kubelet 将用于放置 Pod 日志文件的自定义根目录路径。默认值:"/var/log/pods/" 注意:不建议将临时文件夹用作日志目录,因为它可能导致许多地方出现意外行为。 |
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 是一个 map,其中包含访问 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 是包含 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 |
imagePullCredentialsVerificationPolicy ImagePullCredentialsVerificationPolicy | imagePullCredentialsVerificationPolicy 确定在 Pod 请求已存在于节点上的镜像时如何验证凭据。
|
preloadedImagesVerificationAllowlist []string | preloadedImagesVerificationAllowlist 指定了在 "NeverVerifyAllowlistedImages" |
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,则启用阻塞分析。 |
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 解析,而不是使用主机的 DNS 服务器。默认值:nil |
streamingConnectionIdleTimeout meta/v1.Duration | streamingConnectionIdleTimeout 是流连接空闲的最长时间,在此时间后连接将自动关闭。默认值:"4h" |
nodeStatusUpdateFrequency meta/v1.Duration | nodeStatusUpdateFrequency 是 kubelet 计算节点状态的频率。如果未启用节点租约功能,它也是 kubelet 向 master 报告节点状态的频率。注意:当未启用节点租约功能时,更改此常量要谨慎,它必须与 nodecontroller 中的 nodeMonitorGracePeriod 一起工作。默认值:"10s" |
nodeStatusReportFrequency meta/v1.Duration | nodeStatusReportFrequency 是当节点状态不发生变化时,kubelet 向 master 报告节点状态的频率。如果检测到任何变化,kubelet 将忽略此频率并立即报告节点状态。它仅在启用节点租约功能时使用。nodeStatusReportFrequency 的默认值为 5m。但是,如果显式设置了 nodeStatusUpdateFrequency,为了向后兼容,nodeStatusReportFrequency 的默认值将设置为 nodeStatusUpdateFrequency。默认值:"5m" |
nodeLeaseDurationSeconds int32 | nodeLeaseDurationSeconds 是 Kubelet 将设置在其对应 Lease 上的持续时间。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 的 cgroups 的绝对名称。默认值:"" |
systemCgroups string | systemCgroups 是 cgroups 的绝对名称,所有未包含在容器中的非内核进程都将放入其中。为空表示不进行容器化。回滚此标志需要重启。如果此字段非空,则必须指定 cgroupRoot。默认值:"" |
cgroupRoot string | cgroupRoot 是用于 Pod 的根 cgroup。这由容器运行时尽力处理。 |
cgroupsPerQOS bool | cgroupsPerQOS 启用基于 QoS 的 CGroup 层级结构:为 QoS 类别设置顶层 CGroups,并将所有 Burstable 和 BestEffort Pod 置于其特定的顶层 QoS CGroup 下。默认值:true |
cgroupDriver string | cgroupDriver 是 kubelet 用于操作主机上的 CGroups 的驱动程序(cgroupfs 或 systemd)。默认值:"cgroupfs" |
cpuManagerPolicy string | cpuManagerPolicy 是要使用的策略名称。默认值:"None" |
singleProcessOOMKill bool | singleProcessOOMKill 如果为 true,将阻止为 cgroups v2 中的容器 cgroup 设置 |
cpuManagerPolicyOptions map[string]string | cpuManagerPolicyOptions 是一组 key=value 对,允许设置额外的选项来微调 cpu manager 策略的行为。默认值:nil |
cpuManagerReconcilePeriod meta/v1.Duration | cpuManagerReconcilePeriod 是 CPU Manager 的协调周期。默认值:"10s" |
memoryManagerPolicy string | memoryManagerPolicy 是 memory manager 使用的策略名称。需要启用 MemoryManager 功能门控。默认值:"none" |
topologyManagerPolicy string | topologyManagerPolicy 是要使用的拓扑管理器策略名称。有效值包括:
默认值:"none" |
topologyManagerScope string | topologyManagerScope 表示拓扑管理器请求和提示提供程序生成的拓扑提示的范围。有效值包括:
默认值:"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 数据包。设置此标志允许服务中的端点将流量负载均衡回自身,如果它们尝试访问自己的服务。值:
通常,必须设置 |
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 bool | runOnce 导致 Kubelet 只检查一次 API 服务器以获取 Pod,运行这些 Pod 以及由静态 Pod 文件指定的 Pod,然后退出。默认值:false |
cpuCFSQuota bool | cpuCFSQuota 启用 CPU CFS 配额强制执行,用于指定 CPU 限制的容器。默认值:true |
cpuCFSQuotaPeriod meta/v1.Duration | cpuCFSQuotaPeriod 是 CPU CFS 配额周期值, |
nodeStatusMaxImages int32 | nodeStatusMaxImages 限制 Node.status.images 中报告的镜像数量。该值必须大于 -2。注意:如果指定 -1,则不应用限制。如果指定 0,则不返回任何镜像。默认值:50 |
maxOpenFiles int64 | maxOpenFiles 是 Kubelet 进程可以打开的文件数。该值必须是非负数。默认值:1000000 |
contentType string | contentType 是发送到 apiserver 的请求的内容类型。默认值:"application/vnd.kubernetes.protobuf" |
kubeAPIQPS int32 | kubeAPIQPS 是与 kubernetes apiserver 通信时使用的 QPS。默认值:50 |
kubeAPIBurst int32 | kubeAPIBurst 是与 kubernetes API server 通信时允许的突发流量。此字段不能为负数。默认值:100 |
serializeImagePulls bool | serializeImagePulls 启用时,指示 Kubelet 逐个拉取镜像。我们建议不要在运行版本小于 1.9 的 docker daemon 或使用 Aufs 存储后端的节点上更改默认值。Issue #10959 提供了更多详细信息。默认值:true |
maxParallelImagePulls int32 | MaxParallelImagePulls 设置并行镜像拉取的最大数量。如果 SerializeImagePulls 为 true,则无法设置此字段。设置为 nil 表示无限制。默认值:nil |
evictionHard map[string]string | evictionHard 是信号名称到数量的映射,定义了硬性驱逐阈值。例如: |
evictionSoft map[string]string | evictionSoft 是信号名称到数量的映射,定义了软性驱逐阈值。例如: |
evictionSoftGracePeriod map[string]string | evictionSoftGracePeriod 是信号名称到数量的映射,定义了每个软性驱逐信号的宽限期。例如: |
evictionPressureTransitionPeriod meta/v1.Duration | evictionPressureTransitionPeriod 是 kubelet 在从驱逐压力条件转换出来之前必须等待的持续时间。0s 的持续时间将被转换为默认值 5m。默认值:"5m" |
evictionMaxPodGracePeriod int32 | evictionMaxPodGracePeriod 是在满足软性驱逐阈值以终止 Pod 时允许的最大宽限期(以秒为单位)。此值有效地限制了软性驱逐期间 Pod 的 terminationGracePeriodSeconds 值。默认值:0 |
evictionMinimumReclaim map[string]string | evictionMinimumReclaim 是信号名称到数量的映射,定义了最小的回收量,描述了当资源面临压力时,kubelet 在执行 Pod 驱逐时将回收的给定资源的最小量。例如: |
mergeDefaultEvictionSettings bool | mergeDefaultEvictionSettings 指示 evictionHard、evictionSoft、evictionSoftGracePeriod 和 evictionMinimumReclaim 字段的默认值应与此配置中为这些字段指定的值合并。此配置中指定的信号具有优先权。未在此配置中指定的信号将继承其默认值。如果为 false,并且此配置中指定了任何信号,则此配置中未指定的其他信号将设置为 0。它适用于合并具有默认值的字段,目前只有 evictionHard 有默认值。默认值:false |
podsPerCore int32 | podsPerCore 是每核的最大 Pod 数量。不能超过 maxPods。该值必须是非负整数。如果为 0,则 Pod 数量没有限制。默认值:0 |
enableControllerAttachDetach bool | enableControllerAttachDetach 启用 Attach/Detach 控制器来管理调度到此节点的卷的挂载/卸载,并禁用 kubelet 执行任何挂载/卸载操作。注意:CSI 卷的挂载/卸载不受 kubelet 支持,因此在此用例中,此选项必须为 true。默认值:true |
protectKernelDefaults bool | protectKernelDefaults 如果为 true,则当内核标志不符合预期时,Kubelet 会报错。否则,Kubelet 将尝试修改内核标志以匹配其预期。默认值:false |
makeIPTablesUtilChains bool | 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 bool | failSwapOn 告知 Kubelet,如果节点上启用了 swap,则启动失败。默认值:true |
memorySwap MemorySwapConfiguration | memorySwap 配置容器工作负载可用的 swap 内存。 |
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 管理器运行的模式。有效值包括:
默认值:"Watch" |
systemReserved map[string]string | systemReserved 是资源名称=资源数量(例如 cpu=200m,memory=150G)对的集合,描述了为非 kubernetes 组件保留的资源。目前只支持 cpu 和 memory。更多详情请参阅 https://kubernetes.ac.cn/docs/tasks/administer-cluster/reserve-compute-resources。默认值:nil |
kubeReserved map[string]string | kubeReserved 是资源名称=资源数量(例如 cpu=200m,memory=150G)对的集合,描述了为 kubernetes 系统组件保留的资源。目前支持 cpu、memory 和根文件系统的本地存储。更多详情请参阅 https://kubernetes.ac.cn/docs/tasks/administer-cluster/reserve-compute-resources。默认值:nil |
reservedSystemCPUs [必需]string | reservedSystemCPUs 选项指定为宿主级别系统线程和 kubernetes 相关线程保留的 CPU 列表。这提供了一个“静态”CPU 列表,而不是 systemReserved 和 kubeReserved 的“动态”列表。此选项不支持 systemReservedCgroup 或 kubeReservedCgroup。 |
showHiddenMetricsForVersion string | showHiddenMetricsForVersion 是您希望显示隐藏指标的先前版本。只有前一个次要版本才有意义,其他值将不被允许。格式为 |
systemReservedCgroup string | systemReservedCgroup 帮助 kubelet 识别用于强制执行 OS 系统守护进程的 |
kubeReservedCgroup string | kubeReservedCgroup 帮助 kubelet 识别用于强制执行 Kubernetes 节点系统守护进程的 |
enforceNodeAllocatable []string | 此标志指定 Kubelet 需要执行的各种 Node Allocatable 强制措施。此标志接受选项列表。可接受的选项是 |
allowedUnsafeSysctls []string | 一个逗号分隔的白名单,包含不安全的 sysctls 或 sysctl 模式(以 |
volumePluginDir string | volumePluginDir 是用于搜索第三方卷插件的目录的完整路径。默认值:"/usr/libexec/kubernetes/kubelet-plugins/volume/exec/" |
providerID string | providerID,如果设置,则设置实例的唯一 ID,外部提供程序(即 cloudprovider)可以使用此 ID 来标识特定节点。默认值:"" |
kernelMemcgNotification bool | kernelMemcgNotification,如果设置,则指示 kubelet 与内核 memcg 通知集成,以确定是否超过内存驱逐阈值,而不是轮询。默认值:false |
logging [必需]LoggingConfiguration | logging 指定日志选项。有关更多信息,请参阅 Logs Options。默认值:Format: 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 的关联优先级类别值指定 Pod 的关闭宽限期。当收到关闭请求时,Kubelet 将在节点上运行的所有 Pod 上启动关闭,其宽限期取决于 Pod 的优先级,然后等待所有 Pod 退出。数组中的每个条目代表节点关闭时,优先级类别值介于该值和列表中的下一个更高条目之间的 Pod 的优雅关闭时间。例如,允许关键 Pod 10 秒关闭,优先级 >= 10000 的 Pod 20 秒关闭,其余所有 Pod 30 秒关闭。 shutdownGracePeriodByPodPriority
Kubelet 将在退出前等待的最长时间将最多为节点上表示的所有优先级类别范围的 shutdownGracePeriodSeconds 的最大值。当所有 Pod 都已退出或达到其宽限期后,Kubelet 将释放关闭抑制锁。需要启用 GracefulNodeShutdown 功能门控。如果设置了 ShutdownGracePeriod 或 ShutdownGracePeriodCriticalPods,则此配置必须为空。默认值:nil |
crashLoopBackOff CrashLoopBackOffConfig | CrashLoopBackOff 包含修改容器重启行为的节点级参数的配置。 |
reservedMemory []MemoryReservation | reservedMemory 指定每个 NUMA 节点的内存保留的逗号分隔列表。该参数仅在内存管理器功能的上下文中才有意义。内存管理器不会为容器工作负载分配保留内存。例如,如果您有一个 NUMA0 且拥有 10Gi 内存,并且 reservedMemory 被指定为在 NUMA0 上保留 1Gi 内存,那么内存管理器将假定只有 9Gi 可用于分配。您可以指定不同数量的 NUMA 节点和内存类型。您可以完全省略此参数,但您应该知道,所有 NUMA 节点的保留内存量应等于 node allocatable 指定的内存量。如果至少有一个节点分配参数的值非零,则需要指定至少一个 NUMA 节点。此外,避免指定
默认值:nil |
enableProfilingHandler bool | enableProfilingHandler 通过 web 界面 host:port/debug/pprof/ 启用分析。默认值:true |
enableDebugFlagsHandler bool | enableDebugFlagsHandler 通过 web 界面 host:port/debug/flags/v 启用 flags 端点。默认值:true |
seccompDefault bool | SeccompDefault 启用将 |
memoryThrottlingFactor float64 | MemoryThrottlingFactor 指定了在设置 cgroupv2 memory.high 值以强制执行 MemoryQoS 时,乘以内存限制或节点分配内存的因子。减小此因子会为容器 cgroups 设置更低的高限制并施加更重的回收压力,而增加会施加较少的回收压力。更多详细信息请参阅 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 和内存的方式对其进行管理。它还允许为 emptyDir 卷设置 sizeLimit,如果卷的磁盘使用量超过限制,将触发 pod 驱逐。此功能取决于检测正确根文件系统磁盘使用量的能力。对于某些系统,例如 kind rootless,如果无法支持此功能,应禁用 LocalStorageCapacityIsolation 功能。一旦禁用,用户不应为容器的临时存储设置请求/限制,或为 emptyDir 设置 sizeLimit。默认值:true |
containerRuntimeEndpoint [必需]string | ContainerRuntimeEndpoint 是容器运行时的端点。Linux 支持 Unix Domain Sockets,而 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 bool | FailCgroupV1 可阻止 kubelet 在使用 cgroup v1 的主机上启动。默认情况下,此选项设置为 'false',表示除非显式启用,否则允许 kubelet 在 cgroup v1 主机上启动。默认值:false |
userNamespaces UserNamespaces | UserNamespaces 包含 User Namespace 配置。 |
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 调用的执行插件。仅当正在拉取的镜像与该插件处理的镜像匹配时(请参见 matchImages),才会调用该插件。
字段 | 描述 |
---|---|
name [必填]string | name 是凭证提供程序的必需名称。它必须与 kubelet 看到的提供程序可执行文件的名称匹配。可执行文件必须位于 kubelet 的 bin 目录中(由 --image-credential-provider-bin-dir 标志设置)。在所有提供程序中必需且唯一。 |
matchImages [必需][]string | matchImages 是一个必需的字符串列表,用于匹配镜像,以确定是否应调用此提供程序。如果提供的字符串之一与 kubelet 请求的镜像匹配,则将调用插件并有机会提供凭据。镜像应包含注册表域和 URL 路径。 matchImages 中的每个条目都是一个模式,可以包含端口和路径。可以在域中使用 glob,但在端口或路径中不行。Glob 支持子域(例如 '*.k8s.io' 或 'k8s.*.io')和顶级域(例如 'k8s.*')。也支持匹配部分子域(例如 'app*.k8s.io')。每个 glob 只能匹配一个子域段,因此 '*.io' 不匹配 '*.k8s.io'。 当以下所有条件都成立时,镜像和 matchImage 之间存在匹配:
matchImages 的示例值
|
defaultCacheDuration [必需]meta/v1.Duration | defaultCacheDuration 是插件在内存中缓存凭证的默认持续时间,如果插件响应中未提供缓存持续时间。此字段是必需的。 |
apiVersion [必需]string | 执行 CredentialProviderRequest 所需的输入版本。返回的 CredentialProviderResponse 必须使用与输入相同的编码版本。当前支持的值为:
|
args []string | 执行命令时要传递给命令的参数。 |
env []ExecEnvVar | Env 定义了要暴露给进程的环境变量。这些变量与主机的环境以及 client-go 用于将参数传递给插件的变量合并。 |
ExecEnvVar
出现在
ExecEnvVar 用于在执行基于 exec 的凭证插件时设置环境变量。
字段 | 描述 |
---|---|
name [必填]string | 未提供描述。 |
value [必填]string | 未提供描述。 |
ImagePullCredentialsVerificationPolicy
(string
的别名)
出现在
ImagePullCredentialsVerificationPolicy 是当 Pod 请求系统中存在的镜像时所执行策略的枚举。
KubeletAnonymousAuthentication
出现在
字段 | 描述 |
---|---|
enabled bool | enabled 允许匿名请求访问 kubelet 服务器。未被其他身份验证方法拒绝的请求被视为匿名请求。匿名请求的用户名为 |
KubeletAuthentication
出现在
字段 | 描述 |
---|---|
x509 KubeletX509Authentication | x509 包含与 x509 客户端证书身份验证相关的设置。 |
webhook KubeletWebhookAuthentication | webhook 包含与 webhook 持票人令牌身份验证相关的设置。 |
anonymous KubeletAnonymousAuthentication | anonymous 包含与匿名身份验证相关的设置。 |
KubeletAuthorization
出现在
字段 | 描述 |
---|---|
mode KubeletAuthorizationMode | mode 是应用于 kubelet 服务器请求的授权模式。有效值为 |
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 授权程序的 'authorized' 响应的持续时间。 |
cacheUnauthorizedTTL meta/v1.Duration | cacheUnauthorizedTTL 是缓存来自 webhook 授权程序的 'unauthorized' 响应的持续时间。 |
KubeletX509Authentication
出现在
字段 | 描述 |
---|---|
clientCAFile string | clientCAFile 是 PEM 编码的证书捆绑包的路径。如果设置,任何呈现由捆绑包中的一个证书颁发机构签名的客户端证书的请求都将被身份验证,用户名为证书的 CommonName,组名为证书的 Organization。 |
MemoryReservation
出现在
MemoryReservation 指定每个 NUMA 节点的各种类型的内存保留。
字段 | 描述 |
---|---|
numaNode [必需]int32 | 未提供描述。 |
limits [必需]core/v1.ResourceList | 未提供描述。 |
MemorySwapConfiguration
出现在
字段 | 描述 |
---|---|
swapBehavior string | swapBehavior 配置容器工作负载可用的 swap 内存。可以是 "", "NoSwap":工作负载不能使用 swap,默认选项。"LimitedSwap":工作负载的 swap 使用受到限制。swap 限制与容器的内存请求成比例。 |
ResourceChangeDetectionStrategy
(string
的别名)
出现在
ResourceChangeDetectionStrategy 表示内部管理器(secret、configmap)发现对象更改的模式。
ShutdownGracePeriodByPodPriority
出现在
ShutdownGracePeriodByPodPriority 根据 Pod 的关联优先级类别值指定 Pod 的关闭宽限期。
字段 | 描述 |
---|---|
priority [必需]int32 | priority 是与关闭宽限期相关的优先级值。 |
shutdownGracePeriodSeconds [必需]int64 | shutdownGracePeriodSeconds 是以秒为单位的关闭宽限期。 |
UserNamespaces
出现在
UserNamespaces 包含 User Namespace 配置。
字段 | 描述 |
---|---|
idsPerPod int64 | IDsPerPod 是 UID 和 GID 的映射长度。长度必须是 65536 的倍数,且必须小于 1<<32。在非 Linux(如 Windows)上,只允许 null / absent。 更改此值可能需要重新创建节点上的所有容器。 默认值:65536 |
本页面是自动生成的。
如果你打算报告此页面存在的问题,请在问题描述中提及此页面是自动生成的。修复可能需要在 Kubernetes 项目的其他地方进行。