赛尔校园公共服务平台 Logo
平台使用
阿里云
百度云
移动云
智算服务
教育生态
登录 →
赛尔校园公共服务平台 Logo
平台使用 阿里云 百度云 移动云 智算服务 教育生态
登录
  1. 首页
  2. 阿里云
  3. ACK Edge集群
  4. 操作指南
  5. 节点池管理
  6. 云端节点池管理
  7. 节点池运维
  8. 自定义节点池kubelet配置

自定义节点池kubelet配置

  • 节点池运维
  • 发布于 2025-04-21
  • 0 次阅读
文档编辑
文档编辑

当kubelet参数默认配置无法满足业务需求、您希望对集群节点进行个性化调整时,您可以在节点池维度自定义节点的kubelet参数配置,调整节点行为。例如,您可以调整集群资源预留以调配资源用量、自定义节点压力驱逐阈值以缓解集群资源不足、调整拓扑管理器策略以提高系统性能等。

使用限制

  • 仅1.20版本及以上的ACK集群支持自定义kubelet参数。如需升级集群,请参见手动升级集群。

  • 仅1.22版本及以上的ACK灵骏集群支持自定义kubelet参数。如需升级集群,请参见升级集群。

若您的集群版本不满足限制条件,可能会出现非预期现象。

注意事项

  • 自定义kubelet参数按批次变更节点配置,节点池中已有节点将即时生效,新增节点也会使用新配置。生效时,kubelet进程将重启,可能会对节点运行和工作负载运行产生一定影响。请在业务低峰期操作。

  • 如果未配置evictionHard、kubeReserved或systemReserved,系统则会使用默认值配置资源预留。默认值的计算方式,请参见节点资源预留策略。

  • 资源预留配置的改变,可能会造成节点的可分配资源变少。对于资源水位较高的节点,可能会触发节点驱逐。

  • 强烈不建议您通过黑屏操作自行定义控制台不支持的kubelet参数。黑屏操作存在很大的稳定性风险,需要您自行保证Userdata文件内容的正确性和兼容性,避免因配置错误或者配置被新版本弃用时导致节点不可用。

支持通过控制台自定义的kubelet参数

字段

说明

默认值

建议取值范围

allowedUnsafeSysctls

设置允许使用的非安全的sysctl或sysctl通配符(以*结尾的通配符模式)。是使用英文半角逗号(,)分隔的字符串序列。

重要

使用此参数前,请仔细评估相关风险并自行保证可用性。

不涉及

支持下述前缀的 sysctl 配置:

  • kernel.shm

  • kernel.msg

  • kernel.sem

  • fs.mqueue.

  • net.

containerLogMaxFiles

容器的日志文件个数上限。此值必须大于等于2,且容器运行时需为containerd。

10

[2, 10]。

containerLogMaxSize

容器日志文件轮换生成新文件的最大阈值。容器运行时需为containerd。

100Mi

不涉及。

cpuCFSQuota

允许为设置了CPU限制的容器实施CPU CFS配额约束。

true

可选值:

  • true

  • false

cpuCFSQuotaPeriod

设置CPU CFS配额周期值。

需确保CustomCPUCFSQuotaPeriod特性门控已被启用

100ms

介于1毫秒和1秒之间,包含1毫秒和1秒。

cpuManagerPolicy

CPU管理器策略。

none

可选值:

  • none

  • static

eventBurst

事件记录的个数的突发峰值上限。

10

[1, 100],且取值必须大于等于eventRecordQPS的值。

eventRecordQPS

每秒可生成的事件数量。

5

[1, 50]。

evictionHard

触发Pod驱逐操作的一组硬性门限。

imagefs.available<15%,memory.available<300Mi,nodefs.available<10%,nodefs.inodesFree<5%

无。

evictionSoft

设置一组驱逐阈值。

无

无。

evictionSoftGracePeriod

设置一组驱逐宽限期。

说明

需已设置evictionSoft。

无

无。

featureGates

实验性特性的特性开关组。每个开关以key=value的形式表示。更多信息,请参见Feature Gates。

image.png

重要
  • 使用此参数前,请仔细评估相关风险并自行保证可用性。

  • 已移除的特性门控无法生效,请及时更新处理。详细信息,请参见Feature Gates (removed)。

不涉及

不涉及。

imageGCHighThresholdPercent

配置镜像的磁盘用量百分比阈值,一旦镜像用量超过此阈值,镜像垃圾收集会一直运行。

配置时,此值需大于imageGCLowThresholdPercent取值。

85

[60, 95]。

imageGCLowThresholdPercent

配置镜像的磁盘用量百分比阈值,镜像用量低于此阈值时不会执行镜像垃圾收集操作。

配置时,此值需小于imageGCHighThresholdPercent取值。

80

[30, 90]。

kubeAPIBurst

每秒发送到APIServer的突发请求数量上限。

10

[1, 100],且取值必须大于等于kubeAPIQPS的值

kubeAPIQPS

与APIServer通信的每秒查询个数。

5

[1, 50]。

kubeReserved

Kubernetes系统预留的资源配置。

默认自动计算,详细信息请参见节点资源预留策略。

不涉及。

maxPods

Node能运行的Pod最大数量。

不涉及。取决于机器规格和容器网络规划等物理资源配置。

不涉及。

memoryManagerPolicy

内存管理器需要使用的策略。

None

可选值:

  • None

  • Static

    使用此策略时,需已完成以下操作:

    • MemoryManager特性门控已被启用。

    • 已手动管理内存资源预留(systemReserved、kubeReserved、evictionHard、reservedMemory)并确保配置正确,即kube-reserved + system-reserved + eviction-hard = sum(reserved-memory),以避免节点不可用。您可以参见下图示例。image.png更多信息,请参见预留内存标志。

podPidsLimit

每个Pod中可使用的PID个数上限。

16384

无。

readOnlyPort

kubelet无鉴权只读端口。

  • 集群版本为1.26及以上时,默认值为0。

  • 集群版本为1.26以下时,默认值为10255。

0

关于开放kubelet容器监控只读端口(10255)的风险,请参见【产品变更】迁移低版本ACK集群监控端口至鉴权端口。

registryBurst

突发性镜像拉取的个数上限。

10

[1, 100],且取值必须大于等于registryPullQPS的值。

registryPullQPS

镜像仓库的QPS上限。

5

[1, 50]。

reservedMemory

NUMA节点内存预留列表。

无。

无。

serializeImagePulls

串行拉取镜像。

False

可选值:

  • False:建议值,以支持并行拉取镜像,提高Pod启动速度。

  • True:支持串行拉取镜像。

systemReserved

系统预留的资源配置。

默认自动计算,详细信息请参见节点资源预留策略。

不涉及。

topologyManagerPolicy

拓扑管理器策略。借助NUMA架构,数据可以被分配到相同的NUMA节点,以减少跨节点访问,提高系统性能。拓扑管理器可以作出与拓扑结构相对应的资源分配决定。更多信息,请参见控制节点上的拓扑管理策略。

none

  • none(默认):不执行拓扑管理策略。

  • restricted:当同一NUMA节点的Pod无法满足资源请求时,kubelet不允许跨Pod实现资源请求。

  • best-effort:当同一NUMA节点的Pod无法满足资源请求时,kubelet允许跨Pod实现资源请求。

  • single-numa-node:kubelet仅允许在同一NUMA节点的Pod上分配CPU和设备资源。

ContainerLogMonitorInterval

集群版本需为1.30及以上。白名单功能,请提交工单申请。

检测容器日志执行轮转操作的间隔时间。

10s

[3s,60s]

ContainerLogMaxWorkers

集群版本需为1.30及以上。白名单功能,请提交工单申请。

执行日志轮换操作的并发工作程序的最大数量。

1

[1,20]

通过控制台自定义节点池kubelet参数

自定义kubelet参数生效时会重启kubelet进程,可能会对业务产生一定影响。请在业务低峰期进行操作。

  1. 登录容器服务管理控制台,在左侧导航栏选择集群列表。

  2. 在集群列表页面,单击目标集群名称,然后在左侧导航栏,选择节点管理 > 节点池。

  3. 在节点池列表页面,单击目标节点池操作列下的更多> Kubelet配置。

  4. 仔细阅读当前页面上的注意事项,单击自定义参数选择需要配置的参数,设置每批次的最大并行数,然后单击提交,按照页面指引完成操作。

    配置每批次的最大并行数后(推荐设置为10),kubelet配置将按批次对节点生效。执行需要一定时间,您可以在事件列表区域查看执行进度,并控制执行过程,例如暂停、继续、取消等。

    您可以使用暂停功能对已升级的节点进行验证。执行暂停操作时,正在配置中的节点会继续完成执行;尚未执行的节点在任务继续前不会被执行自定义配置。

    说明

    建议尽快完成自定义配置任务。处于暂停状态的任务将在7天后自动取消,相关的事件和日志信息也会被清理。

FAQ

自定义配置会被弃用吗?

随着Kubernetes版本的演进,可能会有部分参数或FeatureGate被标记弃用或者从代码移除。如果受容器服务 Kubernetes 版管理的自定义参数在新的版本不再适用时,相关配置会在集群升级期间被移除弃用。

如何启用配置文件的方式管理kubelet?

容器服务 Kubernetes 版会根据社区的最佳实践调整kubelet配置的管理方式。在1.20版本之后,逐步将已经被标记弃用的kubelet启动命令(Command-Line Flags)改为配置文件。更多信息,请参见Kubelet Configuration (v1beta1)。

新增节点(新创建的节点和新添加的节点)会同时保留配置文件和原有的配置方式;存量节点不受影响。如需将节点统一为配置文件管理的方式,您可以参见支持通过控制台自定义的kubelet参数触发自定义配置,以统一节点池内全量节点的配置。

如何自定义控制台不支持的参数?

强烈不建议您通过黑屏操作自行定义控制台不支持的kubelet参数。如需执行此操作,请在充分评估变更风险后,执行以下命令,修改节点池的Userdata。Userdata修改完成后,新扩容的节点将会带有您自行定义的配置。

echo 'KUBELET_CUSTOMIZED_ARGS=""' > /etc/kubernetes/kubelet-customized-args.conf
systemctl daemon-reload
systemctl restart kubelet

此外,针对支持通过控制台自定义的kubelet参数,请避免通过黑屏修改Userdata的方式来自行定义,避免配置冲突,继而导致节点池运维过程中产生非预期结果。

重要

黑屏操作存在很大的稳定性风险,需要您自行保证Userdata文件内容的正确性和兼容性,避免因配置错误或者配置被新版本弃用时导致节点不可用。

相关文档

  • 关于托管节点池支持的更多配置项,请参见托管节点池概述、创建和管理节点池。

  • 当您的节点、Pod、kubelet等产生报错或运行异常时,请参见节点异常问题排查、Pod异常问题排查、节点与节点池FAQ自助排查。

相关文章

节点池生命周期 2025-04-21 11:17

ACK集群节点池的生命周期涉及多个阶段和状态,从节点池的创建部署、运行维护(扩容缩容、更新升级、节点移除等),到最终的删除。本文介绍节点池的全生命周期,帮助您更好地理解和管理节点。 ACK集群节点池在不同状态下的含义和集群的状态流转图如下。

升级节点池 2025-04-21 11:17

升级集群Kubernetes版本时,请在控制面升级后及时在业务低峰期完成节点池的升级。节点池升级包括kubelet升级和容器运行时升级。执行升级操作前,ACK会提供前置检查,识别并提示可能影响升级的风险因素,以便实现平滑升级。 注意事项

更换操作系统 2025-04-21 11:17

ACK集群会定期发布新的操作系统镜像版本,带来新的功能特性、功能优化和缺陷修复,请及时升级节点池的操作系统镜像版本。您也可以按需切换操作系统类型,例如将已经停止维护(EOL)的操作系统更换为支持中的操作系统。 您可以参见操作系统镜像发布记录了解ACK支持的操作系统类型、操作系统镜像最新版本,以及部分

开启节点池节点故障自动恢复 2025-04-21 11:17

托管节点池自动监控节点状态,确保节点正常运行。当节点发生异常时,ACK会自动执行恢复操作。将节点池设置为托管模式会为所有节点同时开启自动恢复功能,简化节点运维工作。本文介绍节点自动恢复的应用场景和处理流程。 前提条件

修复节点池操作系统CVE漏洞 2025-04-21 11:17

节点操作系统中的CVE漏洞可能带来集群数据泄露、服务中断等问题,对集群的稳定性、安全性、合规性造成威胁。您可以启用操作系统(OS)CVE漏洞修复功能,扫描节点上存在的安全漏洞,获得修复建议与方法,并在控制台上完成快速修复。 前提条件

自定义节点池kubelet配置 2025-04-21 11:17

当kubelet参数默认配置无法满足业务需求、您希望对集群节点进行个性化调整时,您可以在节点池维度自定义节点的kubelet参数配置,调整节点行为。例如,您可以调整集群资源预留以调配资源用量、自定义节点压力驱逐阈值以缓解集群资源不足、调整拓扑管理器策略以提高系统性能等。 使用限制

目录
Copyright © 2025 your company All Rights Reserved. Powered by 赛尔网络.
京ICP备14022346号-15
gongan beian 京公网安备11010802041014号