- Kubelet 配置 (v1beta1)
- 资源类型
FormatOptions
JSONOptions
LogFormatFactory
LoggingConfiguration
LoggingOptions
OutputRoutingOptions
TextOptions
TimeOrMetaDuration
``` `` `TracingConfiguration` `` ```
`` `VModuleConfiguration` ``
`` `VerbosityLevel` ``
`` `CredentialProviderConfig` ``
`` `KubeletConfiguration` ``
`` `SerializedNodeConfigSource` ``
`` `CredentialProvider` ``
`` `ExecEnvVar` ``
`` `KubeletAnonymousAuthentication` ``
`` `KubeletAuthentication` ``
`` `KubeletAuthorization` ``
`` `KubeletAuthorizationMode` ``
`` `KubeletWebhookAuthentication` ``
`` `KubeletWebhookAuthorization` ``
`` `KubeletX509Authentication` ``
`` `MemoryReservation` ``
`` `MemorySwapConfiguration` ``
`` `ResourceChangeDetectionStrategy` ``
`` `ShutdownGracePeriodByPodPriority` ``
Kubelet 配置 (v1beta1)
资源类型
FormatOptions
出现在:
FormatOptions 包含为不同日志格式提供的选项。
字段 | 描述 |
---|---|
text [必需]TextOptions | [Alpha] 文本包含用于记录 “text” 格式的选项。 仅当 LoggingAlphaOptions 特性门控被启用时可用。 |
json [必需]JSONOptions | [Alpha] |
JSONOptions
出现在:
JSONOptions 包含为 “json” 日志格式提供的选项。
字段 | 描述 |
---|---|
OutputRoutingOptions [必需]OutputRoutingOptions | (OutputRoutingOptions 的成员嵌入到此类型中。) 没有提供描述。 |
LogFormatFactory
LogFormatFactory 提供了对某些附加的、非默认的日志格式的支持。
LoggingConfiguration
出现在:
LoggingConfiguration 包含日志选项。
字段 | 描述 |
---|---|
format [必需]string |
|
flushFrequency [必需]TimeOrMetaDuration | 日志清洗之间的最大时间间隔。 如果是字符串,则解析为持续时间(例如 “1s”)。 如果是整数,则表示为最大纳秒数(例如 1s = 1000000000)。 如果所选的日志后端在写入日志消息时未缓冲,则被忽略。 |
verbosity [必需]VerbosityLevel |
|
vmodule [必需]VModuleConfiguration |
|
options [必需]FormatOptions | [Alpha] |
LoggingOptions
LoggingOptions
可以与 ValidateAndApplyWithOptions
一起使用,以覆盖某些全局默认值。
字段 | 描述 |
---|---|
ErrorStream [必需]io.Writer |
|
InfoStream [必需]io.Writer |
|
OutputRoutingOptions
OutputRoutingOptions 包含 “text” 和 “json” 支持的选项。
Field | 描述< |
---|---|
splitStream [必需]bool | [Alpha] SplitStream 将错误消息重定向到 stderr,而信息消息则转到 stdout,并进行缓冲。 默认是将两者都写入 stdout,而不进行缓冲。仅在 LoggingAlphaOptions 特性门控启用时可用。 |
infoBufferSize [必需]k8s.io/apimachinery/pkg/api/resource.QuantityValue | [Alpha] InfoBufferSize 设置使用分割流时信息流的大小。默认值为零,表示禁用缓冲。 仅在 LoggingAlphaOptions 特性门控启用时可用。 |
TextOptions
出现在:
TextOptions 包含用于记录 “text” 格式的选项。
Field | 描述 |
---|---|
OutputRoutingOptions [必需]OutputRoutingOptions | (OutputRoutingOptions 的成员嵌入到此类型中。) 未提供描述。 |
TimeOrMetaDuration
出现在:
TimeOrMetaDuration
仅出于向后兼容 flushFrequency ``` 字段而存在, 新字段应使用 `` metav1.Duration`。` `` ```
字段 | 描述 |
---|---|
Duration [必需]meta/v1.Duration |
|
- [必需]bool |
|
``` `` `TracingConfiguration` `` ```
`**出现在:**`
`[KubeletConfiguration](#kubelet-config-k8s-io-v1beta1-KubeletConfiguration)`
`TracingConfiguration 为 OpenTelemetry 追踪客户端提供版本化的配置信息。`
字段 | 描述 |
---|---|
endpoint string | 采集器的端点,此组件将向其报告追踪链路。 此连接不安全,目前不支持 TLS。推荐不设置,端点是 otlp grpc 默认值 localhost:4317。 |
samplingRatePerMillion int32 |
|
`` `VModuleConfiguration` ``
``(`[]k8s.io/component-base/logs/api/v1.VModuleItem` 的别名)``
`**出现在:**`
`[LoggingConfiguration](#LoggingConfiguration)`
`VModuleConfiguration 是一个集合,其中包含一个个文件名(或文件名模式) 及其对应的详细程度阈值。`
`` `VerbosityLevel` ``
``(`uint32` 的别名)``
`**出现在:**`
`[LoggingConfiguration](#LoggingConfiguration)`
`VerbosityLevel 表示 klog 或 logr 的详细程度(verbosity)阈值。`
`` `CredentialProviderConfig` ``
`CredentialProviderConfig 包含有关每个 exec 凭据提供者的配置信息。 Kubelet 从磁盘上读取这些配置信息,并根据 CredentialProvider 类型启用各个提供者。`
字段 | 描述 |
---|---|
apiVersion string | kubelet.config.k8s.io/v1beta1 |
kind string | CredentialProviderConfig |
providers [必需][]CredentialProvider |
|
`` `KubeletConfiguration` ``
`KubeletConfiguration 中包含 Kubelet 的配置。`
字段 | 描述 |
---|---|
apiVersion string | kubelet.config.k8s.io/v1beta1 |
kind string | KubeletConfiguration |
enableServer [必需]bool |
注意:kubelet 的不安全端口由 默认值: |
staticPodPath string |
默认值:”” |
podLogsDir string | podLogsDir 是 kubelet 用于放置 Pod 日志文件的自定义根目录路径。 默认值:”/var/log/pods/“ 注意:不建议使用临时文件夹作为日志目录,因为它可能会在许多地方引起意外行为。 |
syncFrequency meta/v1.Duration |
默认值:”1m” |
fileCheckFrequency meta/v1.Duration |
默认值:”20s” |
httpCheckFrequency meta/v1.Duration |
默认值:”20s” |
staticPodURL string |
默认值:”” |
staticPodURLHeader map[string][]string |
默认值:nil |
address string |
默认值:”0.0.0.0” |
port int32 |
默认值:10250 |
readOnlyPort int32 |
默认值:0(禁用) |
tlsCertFile string |
默认值:”” |
tlsPrivateKeyFile string |
默认值:”” |
tlsCipherSuites []string |
默认值:nil |
tlsMinVersion string |
默认值:”” |
rotateCertificates bool |
默认值:false |
serverTLSBootstrap bool |
默认值:false |
authentication KubeletAuthentication |
默认值:
|
authorization KubeletAuthorization |
默认值:
|
registryPullQPS int32 |
默认值:5 |
registryBurst int32 |
默认值:10 |
eventRecordQPS int32 |
默认值:50 |
eventBurst int32 |
默认值:100 |
enableDebuggingHandlers bool |
默认值:true |
enableContentionProfiling bool |
默认值:false |
healthzPort int32 |
默认值:10248 |
healthzBindAddress string |
|
oomScoreAdj int32 |
默认值:-999 |
clusterDomain string |
默认值:”” |
clusterDNS []string |
默认值:nil |
streamingConnectionIdleTimeout meta/v1.Duration |
默认值:”4h” |
nodeStatusUpdateFrequency meta/v1.Duration |
注意:如果节点租约特性未被启用,更改此参数设置时要非常小心, 所设置的参数值必须与节点控制器的 默认值:”10s” |
nodeStatusReportFrequency meta/v1.Duration |
此字段仅当启用了节点租约特性时才被使用。 默认值:”5m” |
nodeLeaseDurationSeconds int32 |
如果租约过期,则节点可被视作不健康。根据 KEP-0009 约定,目前的租约每 10 秒钟续约一次。 在将来,租约的续约时间间隔可能会根据租约的时长来设置。 此字段的取值必须大于零。 默认值:40 |
imageMinimumGCAge meta/v1.Duration |
默认值:”2m” |
imageMaximumGCAge meta/v1.Duration |
|
imageGCHighThresholdPercent int32 |
默认值:85 |
imageGCLowThresholdPercent int32 |
默认值:80 |
volumeStatsAggPeriod meta/v1.Duration |
默认值:”1m” |
kubeletCgroups string |
默认值:”” |
systemCgroups string |
默认值:”” |
cgroupRoot string |
|
cgroupsPerQOS bool |
默认值:true |
cgroupDriver string |
默认值:”cgroupfs” |
cpuManagerPolicy string |
默认值:”None” |
cpuManagerPolicyOptions map[string]string |
默认值:nil |
cpuManagerReconcilePeriod meta/v1.Duration |
|
memoryManagerPolicy string |
默认值:”none” |
topologyManagerPolicy string |
默认值:”none” |
topologyManagerScope string |
默认值:”container” |
topologyManagerPolicyOptions map[string]string | TopologyManagerPolicyOptions 是一组 key=value 键值映射,容许设置额外的选项来微调拓扑管理器策略的行为。 需要同时启用 “TopologyManager” 和 “TopologyManagerPolicyOptions” 特性门控。 默认值:nil |
qosReserved map[string]string |
默认值:nil |
runtimeRequestTimeout meta/v1.Duration |
默认值:”2m” |
hairpinMode string |
一般而言,用户必须设置 默认值:”promiscuous-bridge” |
maxPods int32 |
默认值:110 |
podCIDR string |
默认值:”” |
podPidsLimit int64 |
默认值:-1 |
resolvConf string |
如果此值设置为空字符串,则会覆盖 DNS 解析的默认配置,本质上相当于禁用了 DNS 查询。 默认值:”/etc/resolv.conf” |
runOnce bool |
默认值:false |
cpuCFSQuota bool |
默认值:true |
cpuCFSQuotaPeriod meta/v1.Duration |
默认值:”100ms” |
nodeStatusMaxImages int32 |
注意:如果设置为 -1,则不会对镜像数量做限制;如果设置为 0,则不会返回任何镜像。 默认值:50 |
maxOpenFiles int64 |
默认值:1000000 |
contentType string |
默认值:”application/vnd.kubernetes.protobuf” |
kubeAPIQPS int32 |
默认值:50 |
kubeAPIBurst int32 |
默认值:100 |
serializeImagePulls bool |
默认值:true |
maxParallelImagePulls int32 | maxParallelImagePulls 设置并行拉取镜像的最大数量。 如果 serializeImagePulls 为 true,则无法设置此字段。 把它设置为 nil 意味着没有限制。 默认值:true |
evictionHard map[string]string |
默认值:
|
evictionSoft map[string]string |
默认值:nil |
evictionSoftGracePeriod map[string]string |
默认值:nil |
evictionPressureTransitionPeriod meta/v1.Duration |
默认值:”5m” |
evictionMaxPodGracePeriod int32 |
注意:由于 Issue #64530 的原因,系统中存在一个缺陷,即此处所设置的值会在软性逐出时覆盖 Pod 的宽限期设置,从而有可能增加 Pod 上原本设置的宽限期限时长。 这个缺陷会在未来版本中修复。 默认值:0 |
evictionMinimumReclaim map[string]string |
默认值:nil |
podsPerCore int32 |
默认值:0 |
enableControllerAttachDetach bool |
注意:kubelet 不支持挂接 CSI 卷和解除挂接, 因此对于该用例,此选项必须为 true。 默认值:true |
protectKernelDefaults bool |
默认值:false |
makeIPTablesUtilChains bool |
默认值:true |
iptablesMasqueradeBit int32 |
已弃用:不再有任何效果。 默认值:14 |
iptablesDropBit int32 |
已弃用:不再有任何效果。 默认值:15 |
featureGates map[string]bool |
默认值:nil |
failSwapOn bool |
默认值:true |
memorySwap MemorySwapConfiguration |
|
containerLogMaxSize string |
默认值:”10Mi” |
containerLogMaxFiles int32 |
默认值:”5” |
containerLogMaxWorkers int32 | containerLogMaxWorkers 指定执行日志轮换操作所需的并发工作程序的最大数量。 将此计数设置为 1,以禁用并发日志轮换工作流程。 默认值:1 |
containerLogMonitorInterval meta/v1.Duration | ContainerLogMonitorInterval 指定监视容器日志以执行日志轮转操作的持续时间。 默认为 10s,但可以根据日志生成率和需要轮换的大小定制为较小的值。 默认值:10s |
configMapAndSecretChangeDetectionStrategy ResourceChangeDetectionStrategy |
默认值:”Watch” |
systemReserved map[string]string |
目前仅支持 CPU 和内存。更多细节可参见 https://kubernetes.io/zh-cn/docs/concepts/configuration/manage-resources-containers/ 。 默认值:Nil |
kubeReserved map[string]string |
默认值:Nil |
reservedSystemCPUs [必需]string |
|
showHiddenMetricsForVersion string |
|
systemReservedCgroup string |
默认值:”” |
kubeReservedCgroup string |
默认值:”” |
enforceNodeAllocatable []string | 此标志设置 kubelet 需要执行的各类节点可分配资源策略。此字段接受一组选项列表。 可接受的选项有 如果设置了 如果列表中包含 如果列表中包含 这个字段只有在 参阅Node Allocatable 了解进一步的信息。 默认值:[“pods”] |
allowedUnsafeSysctls []string | 用逗号分隔的白名单列表,其中包含不安全的 sysctl 或 sysctl 模式(以 不安全的 sysctl 组有 例如:” 默认值:[] |
volumePluginDir string |
默认值:”/usr/libexec/kubernetes/kubelet-plugins/volume/exec/“ |
providerID string |
默认值:”” |
kernelMemcgNotification bool |
默认值:false |
logging [必需]LoggingConfiguration |
默认值:
|
enableSystemLogHandler bool |
默认值:true |
enableSystemLogQuery bool |
默认值:false |
shutdownGracePeriod meta/v1.Duration |
默认值:”0s” |
shutdownGracePeriodCriticalPods meta/v1.Duration |
|
shutdownGracePeriodByPodPriority []ShutdownGracePeriodByPodPriority |
数组中的每个表项代表的是节点关闭时 Pod 的体面终止时间;这里的 Pod 的优先级类介于列表中当前优先级类值和下一个表项的优先级类值之间。 例如,要赋予关键 Pod 10 秒钟时间来关闭,赋予优先级 >=10000 Pod 20 秒钟时间来关闭, 赋予其余的 Pod 30 秒钟来关闭。 shutdownGracePeriodByPodPriority:
在退出之前,kubelet 要等待的时间上限为节点上所有优先级类的 当 默认值:nil |
reservedMemory []MemoryReservation |
此参数仅在内存管理器功能特性语境下有意义。内存管理器不会为容器负载分配预留内存。 例如,如果你的 NUMA0 节点内存为 10Gi, 你可以设置不同数量的 NUMA 节点和内存类型。你也可以完全忽略这个字段,不过你要清楚, 所有 NUMA 节点上预留内存的总量要等于通过 node allocatable 设置的内存量。 如果至少有一个节点可分配参数设置值非零,则你需要设置至少一个 NUMA 节点。 此外,避免如下设置:
默认值:nil |
enableProfilingHandler bool |
默认值:true |
enableDebugFlagsHandler bool |
默认值:true |
seccompDefault bool |
默认值:false |
memoryThrottlingFactor float64 | 当设置 cgroupv2 减小此系数会为容器控制组设置较低的 high 限制值,从而增大回收压力;反之, 增大此系数会降低回收压力。更多细节参见 https://kep.k8s.io/2570。 默认值:0.8 |
registerWithTaints []core/v1.Taint |
默认值:nil |
registerNode bool |
默认值:true |
tracing TracingConfiguration | tracing 为 OpenTelemetry 追踪客户端设置版本化的配置信息。 参阅 https://kep.k8s.io/2832 了解更多细节。 |
localStorageCapacityIsolation bool | localStorageCapacityIsolation 启用本地临时存储隔离特性。默认设置为 true。 此特性允许用户为容器的临时存储设置请求/限制,并以类似的方式管理 cpu 和 memory 的请求/限制。 此特性还允许为 emptyDir 卷设置 sizeLimit,如果卷所用的磁盘超过此限制将触发 Pod 驱逐。 此特性取决于准确测定根文件系统磁盘用量的能力。对于 kind rootless 这类系统, 如果不支持此能力,则 LocalStorageCapacityIsolation 特性应被禁用。 一旦禁用,用户不应该为容器的临时存储设置请求/限制,也不应该为 emptyDir 设置 sizeLimit。 默认值:true |
containerRuntimeEndpoint [必需]string | containerRuntimeEndpoint 是容器运行时的端点。 Linux 支持 UNIX 域套接字,而 Windows 支持命名管道和 TCP 端点。 示例:’unix:///path/to/runtime.sock’, ‘npipe:////./pipe/runtime’。 |
imageServiceEndpoint string | imageServiceEndpoint 是容器镜像服务的端点。 Linux 支持 UNIX 域套接字,而 Windows 支持命名管道和 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 |
|
`` `CredentialProvider` ``
`**出现在:**`
`[CredentialProviderConfig](#kubelet-config-k8s-io-v1beta1-CredentialProviderConfig)`
``CredentialProvider 代表的是要被 kubelet 调用的一个 exec 插件。 这一插件只会在所拉取的镜像与该插件所处理的镜像匹配时才会被调用(参见 `matchImages`)。``
字段 | 描述 |
---|---|
name [必需]string |
|
matchImages [必需][]string |
对类似 镜像与
|
defaultCacheDuration [必需]meta/v1.Duration |
|
apiVersion [必需]string | 要求 exec 插件 CredentialProviderRequest 请求的输入版本。 所返回的 CredentialProviderResponse 必须使用与输入相同的编码版本。当前支持的值有:
|
args []string | 在执行插件可执行文件时要传递给命令的参数。 |
env []ExecEnvVar |
|
`` `ExecEnvVar` ``
`**出现在:**`
`[CredentialProvider](#kubelet-config-k8s-io-v1beta1-CredentialProvider)`
`ExecEnvVar 用来在执行基于 exec 的凭据插件时设置环境变量。`
字段 | 描述 |
---|---|
name [必需]string | 环境变量的名称。 |
value [必需]string | 环境变量的取值。 |
`` `KubeletAnonymousAuthentication` ``
`**出现在:**`
`[KubeletAuthentication](#kubelet-config-k8s-io-v1beta1-KubeletAuthentication)`
字段 | 描述 |
---|---|
enabled bool |
|
`` `KubeletAuthentication` ``
`**出现在:**`
`[KubeletConfiguration](#kubelet-config-k8s-io-v1beta1-KubeletConfiguration)`
字段 | 描述 |
---|---|
x509 KubeletX509Authentication |
|
webhook KubeletWebhookAuthentication |
|
anonymous KubeletAnonymousAuthentication |
|
`` `KubeletAuthorization` ``
`**出现在:**`
`[KubeletConfiguration](#kubelet-config-k8s-io-v1beta1-KubeletConfiguration)`
字段 | 描述 |
---|---|
mode KubeletAuthorizationMode |
|
webhook KubeletWebhookAuthorization |
|
`` `KubeletAuthorizationMode` ``
``(`string` 类型的别名)``
`**出现在:**`
`[KubeletAuthorization](#kubelet-config-k8s-io-v1beta1-KubeletAuthorization)`
`` `KubeletWebhookAuthentication` ``
`**出现在:**`
`[KubeletAuthentication](#kubelet-config-k8s-io-v1beta1-KubeletAuthentication)`
字段 | 描述 |
---|---|
enabled bool |
|
cacheTTL meta/v1.Duration |
|
`` `KubeletWebhookAuthorization` ``
`**出现在:**`
`[KubeletAuthorization](#kubelet-config-k8s-io-v1beta1-KubeletAuthorization)`
字段 | 描述 |
---|---|
cacheAuthorizedTTL meta/v1.Duration |
|
cacheUnauthorizedTTL meta/v1.Duration |
|
`` `KubeletX509Authentication` ``
`**出现在:**`
`[KubeletAuthentication](#kubelet-config-k8s-io-v1beta1-KubeletAuthentication)`
字段 | 描述 |
---|---|
clientCAFile string |
|
`` `MemoryReservation` ``
`**出现在:**`
`[KubeletConfiguration](#kubelet-config-k8s-io-v1beta1-KubeletConfiguration)`
`MemoryReservation 为每个 NUMA 节点设置不同类型的内存预留。`
字段 | 描述 |
---|---|
numaNode [必需]int32 | NUMA 节点 |
limits [必需]core/v1.ResourceList | 资源列表 |
`` `MemorySwapConfiguration` ``
`**出现在:**`
`[KubeletConfiguration](#kubelet-config-k8s-io-v1beta1-KubeletConfiguration)`
字段 | 描述 |
---|---|
swapBehavior string |
|
`` `ResourceChangeDetectionStrategy` ``
``(`string` 类型的别名)``
`**出现在:**`
`[KubeletConfiguration](#kubelet-config-k8s-io-v1beta1-KubeletConfiguration)`
`ResourceChangeDetectionStrategy 给出的是内部管理器(Secret、ConfigMap) 用来发现对象变化的模式。`
`` `ShutdownGracePeriodByPodPriority` ``
`**出现在:**`
`[KubeletConfiguration](#kubelet-config-k8s-io-v1beta1-KubeletConfiguration)`
`ShutdownGracePeriodByPodPriority 基于 Pod 关联的优先级类数值来为其设置关闭宽限时间。`
字段 | 描述 |
---|---|
priority [必需]int32 |
|
shutdownGracePeriodSeconds [必需]int64 |
|