此文档中的信息可能已过时
此文档的更新日期比原文晚,因此其中的信息可能已过时。如果能阅读英文,请查看英文版本以获取最新信息: Kubelet Configuration (v1beta1)
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
出现在:
TracingConfiguration 为 OpenTelemetry 追踪客户端提供版本化的配置信息。
| 字段 | 描述 |
|---|---|
endpointstring | 采集器的端点,此组件将向其报告追踪链路。 此连接不安全,目前不支持 TLS。推荐不设置,端点是 otlp grpc 默认值 localhost:4317。 |
samplingRatePerMillionint32 |
|
VModuleConfiguration
([]k8s.io/component-base/logs/api/v1.VModuleItem 的别名)
出现在:
VModuleConfiguration 是一个集合,其中包含一个个文件名(或文件名模式) 及其对应的详细程度阈值。
VerbosityLevel
(uint32 的别名)
出现在:
VerbosityLevel 表示 klog 或 logr 的详细程度(verbosity)阈值。
CredentialProviderConfig
CredentialProviderConfig 包含有关每个 exec 凭据提供者的配置信息。 kubelet 从磁盘上读取这些配置信息,并根据 CredentialProvider 类型启用各个提供者。
| 字段 | 描述 |
|---|---|
apiVersionstring | kubelet.config.k8s.io/v1beta1 |
kindstring | CredentialProviderConfig |
providers [必需][]CredentialProvider |
|
KubeletConfiguration
KubeletConfiguration 中包含 kubelet 的配置。
| 字段 | 描述 |
|---|---|
apiVersionstring | kubelet.config.k8s.io/v1beta1 |
kindstring | KubeletConfiguration |
enableServer [必需]bool |
注意:kubelet 的不安全端口由 默认值: |
staticPodPathstring |
默认值:"" |
podLogsDirstring | podLogsDir 是 kubelet 用于放置 Pod 日志文件的自定义根目录路径。 默认值:"/var/log/pods/" 注意:不建议使用临时文件夹作为日志目录,因为它可能会在许多地方引起意外行为。 |
syncFrequencymeta/v1.Duration |
默认值:"1m" |
fileCheckFrequencymeta/v1.Duration |
默认值:"20s" |
httpCheckFrequencymeta/v1.Duration |
默认值:"20s" |
staticPodURLstring |
默认值:"" |
staticPodURLHeadermap[string][]string |
默认值:nil |
addressstring |
默认值:"0.0.0.0" |
portint32 |
默认值:10250 |
readOnlyPortint32 |
默认值:0(禁用) |
tlsCertFilestring |
默认值:"" |
tlsPrivateKeyFilestring |
默认值:"" |
tlsCipherSuites[]string |
默认值:nil |
tlsMinVersionstring |
默认值:"" |
rotateCertificatesbool |
默认值:false |
serverTLSBootstrapbool |
默认值:false |
authenticationKubeletAuthentication |
默认值:
|
authorizationKubeletAuthorization |
默认值:
|
registryPullQPSint32 |
默认值:5 |
registryBurstint32 |
默认值:10 |
imagePullCredentialsVerificationPolicyImagePullCredentialsVerificationPolicy |
|
preloadedImagesVerificationAllowlist[]string |
|
eventRecordQPSint32 |
默认值:50 |
eventBurstint32 |
默认值:100 |
enableDebuggingHandlersbool |
默认值:true |
enableContentionProfilingbool |
默认值:false |
healthzPortint32 |
默认值:10248 |
healthzBindAddressstring |
默认值:"127.0.0.1" |
oomScoreAdjint32 |
默认值:-999 |
clusterDomainstring |
默认值:"" |
clusterDNS[]string |
默认值:nil |
streamingConnectionIdleTimeoutmeta/v1.Duration |
默认值:"4h" |
nodeStatusUpdateFrequencymeta/v1.Duration |
注意:如果节点租约特性未被启用,更改此参数设置时要非常小心,
所设置的参数值必须与节点控制器的 默认值:"10s" |
nodeStatusReportFrequencymeta/v1.Duration |
此字段仅当启用了节点租约特性时才被使用。 默认值:"5m" |
nodeLeaseDurationSecondsint32 |
如果租约过期,则节点可被视作不健康。根据 KEP-0009 约定,目前的租约每 10 秒钟续约一次。 在将来,租约的续约时间间隔可能会根据租约的时长来设置。 此字段的取值必须大于零。 默认值:40 |
imageMinimumGCAgemeta/v1.Duration |
默认值:"2m" |
imageMaximumGCAgemeta/v1.Duration |
默认值:"0s"(已禁用) |
imageGCHighThresholdPercentint32 |
默认值:85 |
imageGCLowThresholdPercentint32 |
默认值:80 |
volumeStatsAggPeriodmeta/v1.Duration |
默认值:"1m" |
kubeletCgroupsstring |
默认值:"" |
systemCgroupsstring |
默认值:"" |
cgroupRootstring |
|
cgroupsPerQOSbool |
默认值:true |
cgroupDriverstring |
默认值:"cgroupfs" |
cpuManagerPolicystring |
默认值:"None" |
singleProcessOOMKillbool | 如果 |
cpuManagerPolicyOptionsmap[string]string |
默认值:nil |
cpuManagerReconcilePeriodmeta/v1.Duration |
|
memoryManagerPolicystring |
默认值:"none" |
topologyManagerPolicystring |
默认值:"none" |
topologyManagerScopestring |
默认值:"container" |
topologyManagerPolicyOptionsmap[string]string | TopologyManagerPolicyOptions 是一组 key=value 键值映射,容许设置额外的选项来微调拓扑管理器策略的行为。 需要同时启用 "TopologyManager" 和 "TopologyManagerPolicyOptions" 特性门控。 默认值:nil |
qosReservedmap[string]string |
默认值:nil |
runtimeRequestTimeoutmeta/v1.Duration |
默认值:"2m" |
hairpinModestring |
一般而言,用户必须设置 默认值:"promiscuous-bridge" |
maxPodsint32 |
默认值:110 |
podCIDRstring |
默认值:"" |
podPidsLimitint64 |
默认值:-1 |
resolvConfstring |
如果此值设置为空字符串,则会覆盖 DNS 解析的默认配置,本质上相当于禁用了 DNS 查询。 默认值:"/etc/resolv.conf" |
runOncebool |
默认值:false |
cpuCFSQuotabool |
默认值:true |
cpuCFSQuotaPeriodmeta/v1.Duration |
默认值:"100ms" |
nodeStatusMaxImagesint32 |
注意:如果设置为 -1,则不会对镜像数量做限制;如果设置为 0,则不会返回任何镜像。 默认值:50 |
maxOpenFilesint64 |
默认值:1000000 |
contentTypestring |
默认值:"application/vnd.kubernetes.protobuf" |
kubeAPIQPSint32 |
默认值:50 |
kubeAPIBurstint32 |
默认值:100 |
serializeImagePullsbool |
默认值:true |
maxParallelImagePullsint32 |
默认值:nil |
evictionHardmap[string]string |
默认值: |
evictionSoftmap[string]string |
默认值:nil |
evictionSoftGracePeriodmap[string]string |
默认值:nil |
evictionPressureTransitionPeriodmeta/v1.Duration |
默认值:"5m" |
evictionMaxPodGracePeriodint32 |
默认值:0 |
evictionMinimumReclaimmap[string]string |
默认值:nil |
mergeDefaultEvictionSettingsbool |
|
podsPerCoreint32 |
默认值:0 |
enableControllerAttachDetachbool |
注意:kubelet 不支持挂接 CSI 卷和解除挂接, 因此对于该用例,此选项必须为 true。 默认值:true |
protectKernelDefaultsbool |
默认值:false |
makeIPTablesUtilChainsbool |
默认值:true |
iptablesMasqueradeBitint32 |
已弃用:不再有任何效果。 默认值:14 |
iptablesDropBitint32 |
已弃用:不再有任何效果。 默认值:15 |
featureGatesmap[string]bool |
默认值:nil |
failSwapOnbool |
默认值:true |
memorySwapMemorySwapConfiguration |
|
containerLogMaxSizestring |
默认值:"10Mi" |
containerLogMaxFilesint32 |
默认值:"5" |
containerLogMaxWorkersint32 |
|
containerLogMonitorIntervalmeta/v1.Duration |
|
configMapAndSecretChangeDetectionStrategyResourceChangeDetectionStrategy |
默认值:"Watch" |
systemReservedmap[string]string |
目前仅支持 CPU 和内存。更多细节可参见 https://kubernetes.io/zh-cn/docs/tasks/administer-cluster/reserve-compute-resources 默认值:Nil |
kubeReservedmap[string]string |
默认值:Nil |
reservedSystemCPUs [必需]string |
|
showHiddenMetricsForVersionstring |
默认值:"" |
systemReservedCgroupstring |
默认值:"" |
kubeReservedCgroupstring |
默认值:"" |
enforceNodeAllocatable[]string | 此标志设置 kubelet 需要执行的各类节点可分配资源策略。此字段接受一组选项列表。
可接受的选项有 如果设置了 如果列表中包含 如果列表中包含 这个字段只有在 更多细节参阅节点可分配资源。 默认值:["pods"] |
allowedUnsafeSysctls[]string | 用逗号分隔的白名单列表,其中包含不安全的 sysctl 或 sysctl 模式(以 不安全的 sysctl 组有 例如:" 默认值:[] |
volumePluginDirstring |
默认值:"/usr/libexec/kubernetes/kubelet-plugins/volume/exec/" |
providerIDstring |
默认值:"" |
kernelMemcgNotificationbool |
默认值:false |
logging [必需]LoggingConfiguration |
默认值: |
enableSystemLogHandlerbool |
默认值:true |
enableSystemLogQuerybool |
默认值:false |
shutdownGracePeriodmeta/v1.Duration |
默认值:"0s" |
shutdownGracePeriodCriticalPodsmeta/v1.Duration |
默认值:"0s" |
shutdownGracePeriodByPodPriority[]ShutdownGracePeriodByPodPriority |
数组中的每个表项代表的是节点关闭时 Pod 的体面终止时间;这里的 Pod 的优先级类介于列表中当前优先级类值和下一个表项的优先级类值之间。 例如,要赋予关键 Pod 10 秒钟时间来关闭,赋予优先级 >=10000 Pod 20 秒钟时间来关闭, 赋予其余的 Pod 30 秒钟来关闭。 shutdownGracePeriodByPodPriority:
在退出之前,kubelet 要等待的时间上限为节点上所有优先级类的
当 默认值:nil |
crashLoopBackOffCrashLoopBackOffConfig |
|
reservedMemory[]MemoryReservation |
默认值:nil |
enableProfilingHandlerbool |
默认值:true |
enableDebugFlagsHandlerbool |
默认值:true |
seccompDefaultbool |
默认值:false |
memoryThrottlingFactorfloat64 | 当设置 cgroupv2 减小此系数会为容器控制组设置较低的 high 限制值,从而增大回收压力;反之, 增大此系数会降低回收压力。更多细节参见 https://kep.k8s.io/2570。 默认值:0.8 |
registerWithTaints[]core/v1.Taint |
默认值:nil |
registerNodebool |
默认值:true |
tracingTracingConfiguration | tracing 为 OpenTelemetry 追踪客户端设置版本化的配置信息。 参阅 https://kep.k8s.io/2832 了解更多细节。 |
localStorageCapacityIsolationbool | 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'。 |
imageServiceEndpointstring | imageServiceEndpoint 是容器镜像服务的端点。 Linux 支持 UNIX 域套接字,而 Windows 支持命名管道和 TCP 端点。 示例:'unix:///path/to/runtime.sock'、'npipe:////./pipe/runtime'。 如果未指定,则使用 containerRuntimeEndpoint 中的值。 |
failCgroupV1bool |
|
userNamespacesUserNamespaces |
|
SerializedNodeConfigSource
SerializedNodeConfigSource 允许对 v1.NodeConfigSource 执行序列化操作。
这一类型供 kubelet 内部使用,以便跟踪动态配置的检查点。
此资源存在于 kubeletconfig API 组是因为它被当做是对 kubelet 的一种版本化输入。
| 字段 | 描述 |
|---|---|
apiVersionstring | kubelet.config.k8s.io/v1beta1 |
kindstring | SerializedNodeConfigSource |
sourcecore/v1.NodeConfigSource |
|
CrashLoopBackOffConfig
出现在:
| 字段 | 描述 |
|---|---|
maxContainerRestartPeriodmeta/v1.Duration |
|
CredentialProvider
出现在:
CredentialProvider 代表的是要被 kubelet 调用的一个 exec 插件。
这一插件只会在所拉取的镜像与该插件所处理的镜像匹配时才会被调用(参见 matchImages)。
| 字段 | 描述 |
|---|---|
name [必需]string |
|
matchImages [必需][]string |
镜像与
|
defaultCacheDuration [必需]meta/v1.Duration |
|
apiVersion [必需]string | 要求 exec 插件 CredentialProviderRequest 请求的输入版本。 所返回的 CredentialProviderResponse 必须使用与输入相同的编码版本。当前支持的值有:
|
args[]string | 在执行插件可执行文件时要传递给命令的参数。 |
env[]ExecEnvVar |
|
ExecEnvVar
出现在:
ExecEnvVar 用来在执行基于 exec 的凭据插件时设置环境变量。
| 字段 | 描述 |
|---|---|
name [必需]string | 环境变量的名称。 |
value [必需]string | 环境变量的取值。 |
ImagePullCredentialsVerificationPolicy
(string 的别名)
出现在:
ImagePullCredentialsVerificationPolicy 是一个枚举类型,用于指定在 Pod 请求系统上已存在的镜像时所强制执行的策略。
KubeletAnonymousAuthentication
出现在:
| 字段 | 描述 |
|---|---|
enabledbool |
|
KubeletAuthentication
出现在:
| 字段 | 描述 |
|---|---|
x509KubeletX509Authentication |
|
webhookKubeletWebhookAuthentication |
|
anonymousKubeletAnonymousAuthentication |
|
KubeletAuthorization
出现在:
| 字段 | 描述 |
|---|---|
modeKubeletAuthorizationMode |
|
webhookKubeletWebhookAuthorization |
|
KubeletAuthorizationMode
(string 类型的别名)
出现在:
KubeletWebhookAuthentication
出现在:
| 字段 | 描述 |
|---|---|
enabledbool |
|
cacheTTLmeta/v1.Duration |
|
KubeletWebhookAuthorization
出现在:
| 字段 | 描述 |
|---|---|
cacheAuthorizedTTLmeta/v1.Duration |
|
cacheUnauthorizedTTLmeta/v1.Duration |
|
KubeletX509Authentication
出现在:
| 字段 | 描述 |
|---|---|
clientCAFilestring |
|
MemoryReservation
出现在:
MemoryReservation 为每个 NUMA 节点设置不同类型的内存预留。
| 字段 | 描述 |
|---|---|
numaNode [必需]int32 | NUMA 节点 |
limits [必需]core/v1.ResourceList | 资源列表 |
MemorySwapConfiguration
出现在:
| 字段 | 描述 |
|---|---|
swapBehaviorstring |
|
ResourceChangeDetectionStrategy
(string 类型的别名)
出现在:
ResourceChangeDetectionStrategy 给出的是内部管理器(Secret、ConfigMap) 用来发现对象变化的模式。
ShutdownGracePeriodByPodPriority
出现在:
ShutdownGracePeriodByPodPriority 基于 Pod 关联的优先级类数值来为其设置关闭宽限时间。
| 字段 | 描述 |
|---|---|
priority [必需]int32 |
|
shutdownGracePeriodSeconds [必需]int64 |
|
UserNamespaces
出现在:
UserNamespaces 包含用户命名空间配置。
| 字段 | 描述 |
|---|---|
idsPerPodint64 |
更改此值可能需要重新创建节点上的所有容器。 默认值:65536 |