最近更新时间:2026-08-26 17:37:40
本文主要介绍星流平台自运维资源组中 Kubernetes 节点将 kubelet 数据目录独立挂载至数据盘的实践教程,依此能够释放节点系统盘空间,避免训练任务或开发任务因磁盘空间不足导致中断或重启。主要涵盖存储空间隔离、IO 负载分离、故障隔离及运维便利性等配置收益,同时说明新节点与存量节点的处理建议。
kubelet 默认数据目录 /var/lib/kubelet 集中存放容器镜像、容器可写层、EmptyDir 临时存储、容器运行日志、存储挂载缓存等数据。AI 训练节点的大模型镜像与中间计算临时文件会产生数十 GB 甚至上百 GB 的磁盘占用。系统盘容量普遍偏小,一旦磁盘写满至 100%,kubelet 将无法正常创建 Pod、写入节点状态,节点直接变为 NotReady,严重时操作系统因无法写入临时文件而彻底卡死失联。
在星流平台上进行训练任务或开发任务时,通过设置自运维资源组内节点的数据盘挂载,将任务数据存储到数据盘内,从而释放系统盘空间,避免任务因磁盘不足导致 Pod 被驱逐,进而防止训练任务中断与开发任务重启,保障平台任务稳定性。
将 kubelet 数据目录挂载至独立数据盘,容器镜像、可写层、日志等所有业务数据与系统盘物理隔离。系统盘仅承载操作系统与基础服务,避免业务数据增长导致系统盘写满,杜绝节点因磁盘空间耗尽而变为 NotReady 的风险。
容器批量拉取镜像、业务高频读写、海量日志刷盘会产生大量随机 IO 压力。若与系统盘共用同一块磁盘,将导致磁盘 iowait 居高不下,系统内核、系统服务、SSH 及监控进程响应阻塞。kubelet 数据独立挂载数据盘后,业务 IO 全部下沉至数据盘,系统盘仅承载基础系统运行,从底层规避节点因磁盘阻塞而异常重启的风险。此外,数据盘可单独配置 ESSD、NVMe 等高速云盘,进一步提升容器读写性能。
故障隔离:数据盘出现坏道、挂载异常或文件系统损坏时,仅影响容器业务,操作系统完好无损,只需修复数据盘即可恢复,无需重建整台节点。
扩容简单:数据盘容量不足时,可直接在线扩容磁盘并扩展文件系统,操作简便。系统盘分区扩容则操作复杂,且存在损坏分区表的风险。
清理安全:清理冗余镜像、残留 Pod 目录或截断超大日志时,仅操作独立数据目录,不会误删操作系统关键文件,降低人为运维失误风险。
容器 overlay2 存储驱动与 CSI 存储挂载会产生大量层级挂载、inode 消耗与文件碎片。独立磁盘可减少系统盘 inode 耗尽与文件系统碎片化问题,降低运行时存储层报错概率,更适配训推平台大量临时卷、数据集缓存的业务场景。
创建新节点时,建议在节点加入集群前完成数据盘挂载与 kubelet 目录配置。
存量节点迁移时,需先备份节点关键数据,再执行数据迁移与 kubelet 配置变更。
数据盘扩容后,需扩展文件系统以使新增容量生效。
定期清理冗余镜像与残留 Pod 目录时,仅操作独立数据目录,避免误删系统文件。
登录星流平台,在顶部导航栏,选择训推与仿真。
在左侧导航栏,选择资源管理 > 资源组。
点击目标资源组名称/ID,进入其详情页面。
在资源配置区域,在集群名称旁,点击查看集群详情,进入容器服务集群详情页面。
延续上述操作,进入容器集群详情页面。
在左侧到导航栏,选择节点管理>节点,点击新增节点。
根据页面提示,进入节点配置步骤。
在Worker机型配置区域,点击添加数据盘,选择合适类型并设置容量,勾选格式化并挂载,设置挂载路径(本示例为/DATA/DISK),并选择容器存储目录盘。
数据挂载方式中默认格式化类型为ext4,可根据实际情况进行修改。
勾选容器存储目录盘后,当该数据盘将作为容器、镜像、日志等存储目录。
其他参数,根据实际情况完成配置后,依次完成节点新增即可。后续,运行在该节点上的训练任务或开发任务,相应的文件数据将自动保存在相应数据盘内,不再占用节点系统盘空间。
详细操作,可参考容器服务-新增节点相关内容。
务必提前备份待加入容器集群节点上的数据。
延续上述操作,进入容器集群详情页面。
在左侧到导航栏,选择节点管理>节点,点击添加已有节点。
在添加已有节点页面,按照如下要求配置各项参数。
数据盘挂载:勾选设置数据盘挂载路径,仅针对第一块数据盘生效。
选择相应格式化类型,默认为ext4,也可根据实际情况选择其他类型。
输入相应挂载路径,本示例为/DATA/DISK。
容器存储目录:勾选自定义容器和镜像存储目录,建议存储到数据盘。
输入数据盘挂载设置中的路径,本示例为/DATA/DISK。
其他参数,根据实际情况完成配置即可。
依次根据页面提示完成已有节点的添加即可。
详细操作,可参考容器服务-添加已有节点相关内容。
纯净模式
