自定义Kubelet参数
更新时间:2025-04-09
Kubelet 提供了一系列参数用于调整节点行为。本文介绍如何在创建节点时自定义 Kubelet 参数。
前提条件
- 已创建 CCE 集群,具体操作请参见创建 CCE 集群。
操作步骤
- 登录百度智能云管理控制台,进入产品服务>云原生>容器引擎 CCE,单击集群管理>集群列表,单击目标集群名称,进入"集群详情"页,在侧边栏单击节点管理>节点。
-
在节点列表中单击添加节点操作,在高级设置中设置节点的自定义 Kubelet 参数,具体参数说明请见下方【支持的 Kubelet 参数】。
- 单击确定,完成节点Kubelet参数配置。
支持的 Kubelet 参数
目前支持配置如下表所示的 Kubelet 自定义参数。
注意
修改 topologyManagerPolicy、topologyManagerScope 和特性门控(featurGates)中的 QoSResourceManager 参数会重启 Kubelet,并且以更改后的策略重新计算容器实例的资源分配,因此可能会导致已经运行的容器实例重启,甚至无法进行资源分配。请谨慎操作。 随着 Kubernetes 版本的演进,可能会有部分参数或 featureGates 被标记弃用或者从代码移除。如果受容器服务 Kubernetes 版管理的自定义参数在新的版本不再适用时,相关配置会在集群升级期间被移除弃用。
字段 | 说明 | 默认值 | 建议取值范围 |
---|---|---|---|
kubeReserved | kubernetes 系统预留的资源配置。 | 根据节点规格自动设置。 | 详情请参见CCE资源预留说明。 |
systemReserved | 系统预留的资源配置。 | 根据节点规格自动设置 | 详情请参见CCE资源预留说明。 |
allowedUnsafeSysctls | 设置允许使用的非安全的sysctl或sysctl通配符(以*结尾的通配符模式)。是使用英文半角逗号(,)分隔的字符串序列。 |
不涉及 | 支持下述前缀的 sysctl 配置: |
containerLogMaxFiles | 容器的日志文件个数上限。此值必须大于等于2,且容器运行时需为containerd。 | 5 | 2~10 |
containerLogMaxSize | 容器日志文件轮换生成新文件的最大阈值。容器运行时需为containerd。 | 10Mi | 不涉及 |
cpuCFSQuota | 允许为设置了 CPU 限制的容器实施CPU CFS 配额约束。 | true | 可选值 |
cpuCFSQuotaPeriod | 设置 CPU CFS 配额周期值。 需确保CustomCPUCFSQuotaPeriod特性门控已被启用。 |
100ms | 介于1毫秒和1秒之间,包含1毫秒和1秒。 |
cpuManagerPolicy | 指定节点的CPU 管理器策略。 | none | 可选值 |
eventBurst | 事件记录的个数的突发峰值上限。在遵从 event-qps 阈值约束的前提下临时允许事件记录达到此数目。仅在 event-qps 大于 0 时使用。 | 50 | 1~100 |
eventRecordQPS | 每秒可生成的事件数量。 | 50 | 1~50 |
evictionHard | 触发Pod驱逐操作的一组硬性门限。 | memory.available: "300Mi",nodefs.available: "10%", nodefs.inodesFree: "5%",imagefs.available: "15%" | 不涉及 |
evictionSoft | 设置一组驱逐阈值。 | 无 | 不涉及 |
evictionSoftGracePeriod | 设置一组驱逐宽限期。 |
"5m" | 不涉及 |
featureGates | 实验性特性的特性开关组。每个开关以key=value的形式表示。更多信息,请参见Feature Gates。 |
不涉及 | 不涉及 |
ImageGCHighThresholdPercent | 配置镜像的磁盘用量百分比阈值,一旦镜像用量超过此阈值,镜像垃圾收集会一直运行。配置时,此值需大于imageGCLowThresholdPercent取值。 | 85 | 60~95 |
ImageGCLowThresholdPercent | 配置镜像的磁盘用量百分比阈值,镜像用量低于此阈值时不会执行镜像垃圾收集操作。配置时,此值需小于imageGCHighThresholdPercent取值。 | 80 | 30~90 |
kubeAPIBurst | 每秒发送到APIServer的突发请求数量上限。 | 500 | 1~500 |
kubeAPIQPS | 与APIServer通信的每秒查询个数。 | 500 | 1~500 |
maxPods | Kubelet 上可以运行的最大 Pod 数量。 | 110 | 不涉及,取决于机器规格和容器网络规划等物理资源配置。 |
memoryManagerPolicy | 内存管理器需要使用的策略。 |
None | 可选值:
|
podPidsLimit | 单pod最大进程数。 | -1 | 取值根据用户实际情况来定,推荐默认值,-1表示无限制。 |
readOnlyPort | kubelet无鉴权只读端口。此端口上的服务不支持身份认证或鉴权。 注意:关于开放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节点内存预留列表。 |
不涉及 | 不涉及 |
resolvConf | 容器内使用的DNS 解析配置文件。 |
/etc/resolv.conf | 不涉及 |
runtimerequesttimeout | 用来设置除长期运行的请求(pull、 logs、exec 和 attach)之外所有运行时请求的超时时长。 | 120s | 不涉及 |
serializeImagePulls | 串行拉取镜像。建议不要在 docker 守护进程版本低于 1.9 或启用了 Aufs 存储后端的节点上更改默认值。 | true | 可选值: |
topologyManagerPolicy | 拓扑管理器策略。借助NUMA架构,数据可以被分配到相同的NUMA节点,以减少跨节点访问,提高系统性能。拓扑管理器可以作出与拓扑结构相对应的资源分配决定。更多信息,请参见控制节点上的拓扑管理策略。 | none | 可选值 |
topologyManagerScope | 拓扑管理器作用范围。 | container | 可选值 |