自定义Kubelet参数
更新时间:2026-03-19
概述
Kubelet 提供了一系列参数用于调整节点行为。本文档介绍如何在创建节点时自定义 Kubelet 参数。
前提条件
- 已创建 CCE 集群,具体操作请参见 创建 CCE 集群。
操作步骤
导航路径:产品服务->云原生->容器引擎 CCE->集群管理->集群列表->目标集群->节点管理->节点。1. 登录百度智能云管理控制台,进入 产品服务->云原生->容器引擎 CCE->集群管理->集群列表,单击目标集群名称,进入 节点管理->节点 页面,并确认可见 【添加节点】。


-
在节点列表页单击 【添加节点】,展开 高级设置(节点)。在 自定义 Kubelet 参数 区域单击 【添加参数】,按业务需求配置参数。


-
单击 【确定】 提交节点配置。返回 节点 列表后,新节点状态显示为 创建中,表示节点创建任务已发起,Kubelet 参数配置已随任务提交。


支持的 Kubelet 参数
目前支持配置如下表所示的 Kubelet 自定义参数。
注意:
- 修改 topologyManagerPolicy、topologyManagerScope 和特性门控(featurGates)中的 QoSResourceManager 参数会重启 Kubelet,并且以更改后的策略重新计算容器实例的资源分配,因此可能会导致已经运行的容器实例重启,甚至无法进行资源分配。请谨慎操作。
- 随着 Kubernetes 版本的演进,可能会有部分参数或 featureGates 被标记弃用或者从代码移除。如果受容器服务 Kubernetes 版管理的自定义参数在新的版本不再适用时,相关配置会在集群升级期间被移除弃用。
| 字段(参数) | 必填 | 说明 | 默认值 | 建议取值范围 |
|---|---|---|---|---|
| kubeReserved | 否 | kubernetes 系统预留的资源配置。 | 根据节点规格自动设置。 | 详情请参见 CCE 资源预留说明。 |
| systemReserved | 否 | 系统预留的资源配置。 | 根据节点规格自动设置。 | 详情请参见 CCE 资源预留说明。 |
| allowedUnsafeSysctls | 否 | 设置允许使用的非安全 sysctl 或 sysctl 通配符(以 * 结尾的通配符模式),使用英文半角逗号(,)分隔。使用此参数前,请仔细评估相关风险并自行保证可用性。 |
不涉及 | 支持前缀:kernel.shm、kernel.msg、kernel.sem、fs.mqueue.、net.。注意: 这些 sysctl 参数都支持容器化,但是默认容器内不允许配置。 |
| containerLogMaxFiles | 否 | 容器的日志文件个数上限。此值必须大于等于 2,且容器运行时需为 containerd。 | 5 | 2~10 |
| containerLogMaxSize | 否 | 容器日志文件轮换生成新文件的最大阈值,容器运行时需为 containerd。 | 10Mi | 不涉及 |
| cpuCFSQuota | 否 | 允许为设置了 CPU 限制的容器实施 CPU CFS 配额约束。 | true | 可选值:true、false |
| cpuCFSQuotaPeriod | 否 | 设置 CPU CFS 配额周期值。需确保 CustomCPUCFSQuotaPeriod 特性门控已被启用。 | 100ms | 介于 1 毫秒和 1 秒之间,包含 1 毫秒和 1 秒。 |
| cpuManagerPolicy | 否 | 指定节点的 CPU 管理器策略。 | none | 可选值:none、static |
| eventBurst | 否 | 事件记录个数的突发峰值上限。在遵从 event-qps 阈值约束的前提下临时允许事件记录达到此数目。仅在 event-qps 大于 0 时使用。 | 50 | 1~100 |
| eventRecordQPS | 否 | 每秒可生成的事件数量。 | 50 | 1~50 |
| evictionHard | 否 | 触发 Pod 驱逐操作的一组硬性门限。 | "imagefs.available": "15%", "memory.available": "100Mi", "nodefs.inodesFree": "5%", "nodefs.available": "7%" |
不涉及 |
| evictionSoft | 否 | 设置一组驱逐阈值。 | 无 | 不涉及 |
| evictionSoftGracePeriod | 否 | 设置一组驱逐宽限期,需已设置 evictionSoft。 | "5m" |
不涉及 |
| featureGates | 否 | 实验性特性的特性开关组。每个开关以 key=value 的形式表示。更多信息,请参见 Feature Gates。使用此参数前,请仔细评估相关风险并自行保证可用性。 |
不涉及 | 不涉及 |
| ImageGCHighThresholdPercent | 否 | 配置镜像的磁盘用量百分比阈值。一旦镜像用量超过此阈值,镜像垃圾收集会一直运行。此字段取值必须介于 0 和 100 之间(含 0 和 100),且需大于 imageGCLowThresholdPercent。 | 85 | 60~95 |
| ImageGCLowThresholdPercent | 否 | 配置镜像的磁盘用量百分比阈值。镜像用量低于此阈值时不会执行镜像垃圾收集操作,垃圾收集也将其作为最低磁盘用量边界。此字段取值必须介于 0 和 100 之间(含 0 和 100),且需小于 imageGCHighThresholdPercent。 | 80 | 30~90 |
| kubeAPIBurst | 否 | 每秒发送到 APIServer 的突发请求数量上限。 | 500 | 1~500 |
| kubeAPIQPS | 否 | 与 APIServer 通信的每秒查询个数。 | 500 | 1~500 |
| maxPods | 否 | Kubelet 上可以运行的最大 Pod 数量。 | 128 | 不涉及,取决于机器规格和容器网络规划等物理资源配置。 |
| memoryManagerPolicy | 否 | 内存管理器需要使用的策略。仅 Kubernetes 1.21 及以上版本支持该参数。 | None | 可选值:None、Static。使用 Static 时,需启用 MemoryManager 特性门控,并手动管理内存资源预留(systemReserved、kubeReserved、evictionHard、reservedMemory)且确保配置正确,即 kube-reserved + system-reserved + eviction-hard = sum(reserved-memory),以避免节点不可用。更多信息,请参见 预留内存标志。 |
| podPidsLimit | 否 | 单 Pod 最大进程数。 | -1 | 取值根据实际情况确定,推荐默认值,-1 表示无限制。 |
| readOnlyPort | 否 | kubelet 无鉴权只读端口。此端口上的服务不支持身份认证或鉴权。端口号必须介于 1 到 65535 之间(含 1 和 65535),设置为 0 会禁用只读服务。注意: 关于开放kubelet容器监控只读端口(10255)的风险。 | 0 | 0 |
| registryPullQPS | 否 | 镜像仓库的 QPS 上限。如果 --registry-qps 大于 0,用来限制镜像仓库的 QPS 上限。设置为 0 表示不受限制。 |
5 | 1~50 |
| registryBurst | 否 | 突发性镜像拉取的个数上限。在不超过 registration-qps 设置值的前提下暂时允许此参数所给的镜像拉取个数。仅在 --registry-qps 大于 0(默认值为 10)时使用。 |
10 | 1~100 |
| reservedMemory | 否 | NUMA 节点内存预留列表。仅 Kubernetes 1.21 及以上版本支持该参数。 | 不涉及 | 不涉及 |
| resolvConf | 否 | 容器内使用的 DNS 解析配置文件。注意:如果此值设置为空字符串,则会覆盖 DNS 解析的默认配置,本质上相当于禁用了 DNS 查询。 | /etc/resolv.conf | 不涉及 |
| runtimerequesttimeout | 否 | 用来设置除长期运行的请求(pull、logs、exec 和 attach)之外所有运行时请求的超时时长。 | 120s | 不涉及 |
| serializeImagePulls | 否 | 串行拉取镜像。建议不要在 docker 守护进程版本低于 1.9 或启用了 Aufs 存储后端的节点上更改默认值。 | true | 可选值:false(支持并行拉取镜像,提高 Pod 启动速度);true(建议值,支持串行拉取镜像)。 |
| topologyManagerPolicy | 否 | 拓扑管理器策略。借助 NUMA 架构,数据可以被分配到相同 NUMA 节点,以减少跨节点访问并提高系统性能。拓扑管理器可以作出与拓扑结构相对应的资源分配决定。更多信息,请参见 控制节点上的拓扑管理策略。 | none | 可选值:none(默认,不执行拓扑管理策略);restricted(当同一 NUMA 节点无法满足资源请求时,kubelet 不允许跨 Pod 实现资源请求);best-effort(当同一 NUMA 节点无法满足资源请求时,kubelet 允许跨 Pod 实现资源请求);single-numa-node(kubelet 仅允许在同一 NUMA 节点的 Pod 上分配 CPU 和设备资源)。 |
| topologyManagerScope | 否 | 拓扑管理器作用范围。拓扑提示信息由提示提供者生成并提供给拓扑管理器。 | container | 可选值:container、Pod |
评价此篇文章
