本文介绍如何在ACK托管集群Pro版添加灵骏节点池的相关操作。
ACK托管集群Pro版的灵骏节点池功能为白名单功能。如需开通,请通过客户服务经理(PDSA)联系容器服务团队。
灵骏节点池简介
ACK托管集群Pro版中的“灵骏节点池”与智能计算灵骏服务(灵骏裸金属集群)的节点分组为一对一的对应关系,即一个灵骏集群的节点分组可以对应一个ACK托管集群Pro版的灵骏节点池,意味着一个灵骏节点只能属于一个灵骏节点池。根据灵骏节点池的划分,可以实现对ACK托管集群Pro版中的灵骏节点进行不同的管理。
ACK托管集群Pro版通过灵骏节点池的形式管理灵骏节点,支持节点池生命周期管理以及节点批量添加和移除,提供与ECS节点池基本一致的管理和运维能力,包括节点配置、节点运维、调度应用至指定节点池,以及监控诊断和自动化运维等能力。
如果需要为灵骏节点提供云原生AI的增强能力,请安装云原生AI套件。灵骏节点池支持多GPU卡的拓扑感知调度,结合GPU容器虚拟化方案提供共享GPU调度和隔离;针对AI、HPC等任务特点,支持Gang、Capacity、Binpack等任务调度策略;还支持数据集编排和访问加速。
计费说明
在ACK托管集群Pro版中使用灵骏节点池时,费用由三部分组成:集群管理费 + 灵骏节点管理费用 + 云产品资源费。
自2025年08月05日起,灵骏节点管理能力结束免费邀测,并正式开启商业化收费,更多信息,请参见【收费公告】灵骏节点管理收费公告。邀测期间,灵骏节点池的功能可以免费使用,ACK托管集群Pro版的其他费用(集群管理费和云产品资源费)仍然正常收取,请参见 计费概述。
准备工作
创建灵骏节点池时,需已完成如下准备工作:
灵骏集群与节点:
灵骏集群:已创建集群类型为Lite的基础灵骏集群服务,并在灵骏节点分组中完成节点扩容。详见创建灵骏集群。
灵骏节点
OS kernel 版本:5.10 及以上。
OS cgroup 版本:Kubernetes 社区自 1.26 版本起开始支持 cgroup v2,自 1.35 版本起废弃对 cgroup v1 的支持。若集群版本为 1.35 及以上,节点需为使用 cgroup v2 的操作系统镜像,使用cgroup v1操作系统的节点将无法添加到ACK集群中。
1.35以下版本的ACK集群升级至1.35及以上版本时,需使用cgroup v2的操作系统,否则将无法进行集群升级。详见将节点迁移至 cgroup v2。
ACK托管集群Pro版:
集群类型:Pro版集群,与灵骏裸金属集群在相同地域及相同VPC下。
集群版本:1.31及以上版本,仅支持 IPv4 单栈集群,不支持 IPv6 双栈集群。如需升级,详见手动升级集群。
网络插件:仅支持Terway。
不同灵骏机型的底层网络存在差异,低版本 Terway 可能不兼容。建议新建灵骏节点池前,将Terway(terway-controlplane和terway-eniip)升级至最新版本。
需确保 ACK 集群灵骏节点池使用的Pod 交换机包含灵骏集群所在的可用区。
ACK 集群的Pod 交换机支持在创建集群时配置。创建ACK集群后,添加灵骏节点前,也支持通过修改terway-eniip 参数PodVswitchId来配置。操作流程,请参见修改Pod虚拟交换机。
组件:
通过组件管理页面安装ack-rdma-device-plugin组件。
若灵骏节点使用灵骏连接,则需单独申请ACK VPD CNI组件白名单,在创建灵骏节点池前,通过组件管理页面安装ACK VPD CNI组件。
创建包含灵骏连接节点的节点池时,ACK 将自动完成两项操作:在集群安全组中添加灵骏分组的网段,并允许入方向访问;为节点池添加标签
alibabacloud.com/lingjun-network-type: vpd,请勿删除。
ECS节点:集群中已创建ECS节点池,保有ECS节点(建议 3 个及以上以保证高可用),用于部署部分ACK管控组件。
创建灵骏节点池
可在控制台完成节点池配置,包括基本配置、网络配置、存储配置等。部分配置项(尤其是节点池可用性相关和网络相关的配置)创建后不支持修改,请重点关注。创建节点池不影响已有节点池内的节点和业务。
创建前请注意
灵骏节点池默认将容器运行时数据存储到系统盘,请确保为容器运行时目录预留充足可用空间,若磁盘空间不足将导致 Pod 驱逐或节点异常。
新建灵骏节点池的 VPC 网络通信将默认使用Terway独占ENI模式,请确认单节点Pod数限额满足业务需求。
灵骏节点池中的节点默认携带 Taint
node-role.alibabacloud.com/lingjun: NoSchedule,避免系统组件(非 DaemonSet)调度到灵骏节点上占用资源。若 Pod 需调度到灵骏节点,可为 Pod 添加对该Taint的容忍,实现仅特定工作负载调度到灵骏节点的效果。也可以根据业务需求,换为自定义Taint,实现相同效果。
可在组件满足最低版本要求后删除 Taint,但删除Taint后,系统组件或者其他工作负载可能调度到灵骏节点,占用昂贵的 GPU 节点资源。
节点池默认携带的完整Label列表,请参见下文节点标签(Labels)配置项说明。请勿删除默认 Label。
操作步骤
在ACK集群列表页面,单击目标集群名称,在集群详情页左侧导航栏,选择。
单击... > 创建灵骏节点池,按照页面提示完成灵骏节点池的创建。
节点池创建后,部分配置项可通过编辑节点池修改。下表中,是否支持修改代表节点池创建后对应的配置项是否支持修改。
添加已有灵骏节点
如需将灵骏分组中的灵骏节点添加到ACK集群中作为Worker节点,或将移除的Worker节点重新加入灵骏节点池,可在容器服务管理控制台,将灵骏节点池关联的分组中的灵骏节点,批量添加到灵骏节点池中。添加后,可在节点池维度进行统一管理。
添加灵骏节点不替换节点原有的操作系统、系统盘和数据盘,存储数据仍然保留。
适用范围
待添加的节点实例须已在本节点池关联的灵骏分组中,且未加入其他节点池。
灵骏节点的(OperatingState)状态为使用中(Using)状态。
操作步骤
在ACK集群列表页面,单击目标集群名称,在集群详情页左侧导航栏,选择。
在节点池页面,单击⋮ > 添加已有节点,按照页面提示完成以下配置:
添加已有灵骏节点实例:在实例列表选择待添加的实例。勾选显示不可用的实例可查看当前不可用的实例。
数据盘挂载:选择数据盘的挂载方式。
仅在已开通自定义数据盘配置白名单时开放
按节点池配置:使用节点池预设的数据盘配置初始化并挂载数据盘。
若节点池未预设数据盘配置,则保留节点原有配置。
不初始化:不对数据盘进行初始化操作,保留节点原有数据盘配置。
重要若各节点的存储配置不同,节点池升级期间,系统将按各节点的实际存储配置分别初始化数据盘,而非使用统一配置。
使用按节点池配置时,挂载目录须为空。非空目录挂载后,原有文件将无法访问。
添加完成后,ACK会自动在灵骏节点实例上添加以下标签,可在智能计算灵骏控制台查看:
ack.aliyun.com:纳管该节点的ACK托管集群Pro版ID。ack.alibabacloud.com/nodepool-id:纳管该节点的灵骏节点池ID。
移除灵骏节点
当不再需要某节点继续工作时,可将该节点从节点池中移除。移除操作可能影响业务,建议在业务低峰期进行。
注意事项
排空节点:
节点上存在 Pod 时,请勾选自动排空节点(drain),并确保集群资源充足,Pod 将自动迁移到其他节点。
若应用配置了PDB,可能导致排空失败,进而导致移除失败。建议提前手动处理。
排空后,若应用在其他节点上无法正常启动,移除任务将忽略此情况并继续执行。
移除异常状态的节点时,请勿勾选自动排空节点(drain),否则可能导致移除失败。
移除后的节点状态:
移除灵骏节点仅将节点从灵骏节点池移出,不会将节点从灵骏分组中移出,也不会自动释放或退订节点。
添加到节点池的灵骏节点实例不会随 ACK 集群或灵骏节点池的删除而释放,也不会从灵骏分组中自动缩容。请关注灵骏节点的计费状态,避免产生额外费用。
如需进行更多节点与分组的管理操作,请前往智能计算灵骏控制台操作。
移除为异步操作,请在节点列表中查看移除进度。
操作步骤
在ACK集群列表页面,单击目标集群名称,在集群详情页左侧导航栏,选择。
单击目标灵骏节点池名称,在节点管理页面移除节点。
单个节点移除:定位目标节点,在该节点右侧操作列,选择。
批量节点移除:选中目标节点,单击页面下方的批量移除。
选择是否需要自动排空节点(drain),仔细阅读页面注意事项后按照页面提示完成操作。
使用Terway独占ENI模式
使用Terway时,灵骏节点池仅支持独占ENI网络模式(Terway自v1.14.4起支持)。为兼容不同灵骏机型底层网络的差异,建议您确保Terway版本在v1.16.1及以上,若低于此版本,请参见下文的升级组件升级terway-eniip。
创建灵骏节点池时,ACK将自动为节点池添加标签k8s.aliyun.com/exclusive-mode-eni-type: eniOnly,以启用独占ENI模式,创建后请勿删除。详见为节点池配置独占ENI网络模式。
如果灵骏节点池未添加该标签,则表明该节点池使用了共享ENI网络模式。
在灵骏节点通过共享ENI模式使用VPC网络通信时,部分灵骏旧版本镜像存在偶发Pod网络不通的风险,可通过重建Pod临时恢复业务运行。如需彻底解决该问题,建议在业务空闲期升级Terway组件至最新版本,通过重新创建独占ENI模式的灵骏节点池来添加灵骏节点。
使用RDMA功能
为启用灵骏节点的RDMA通信,可在组件管理页面手动安装ack-rdma-device-plugin组件。
Pod可用的网络模式,取决于灵骏节点池关联的灵骏裸金属集群的计算网络IP版本。详见Pod在灵骏节点使用RDMA网络。
计算网络IP版本 | 配置说明 |
IPv4 | 仅支持 |
IPv6 |
|
升级组件
新建ACK托管集群Pro版时默认使用最新组件版本。在存量集群中创建灵骏节点池时,如果已使用以下组件,请升级组件至指定版本。
组件名称 | 最低版本要求 |
v1.31 | |
v1.16.1 不同灵骏机型的底层网络存在差异,低版本 Terway 可能不兼容。建议新建灵骏节点池前,将Terway(terway-controlplane和terway-eniip)升级至最新版本。 | |
v1.11.3.5-5321daf49-aliyun | |
v1.11.4-aliyun.2 | |
v0.2.1 | |
v0.16.1.0-gea4d02f-aliyun | |
v1.8.4 | |
v1.1.31 | |
v2.1.6 | |
v1.32.2 | |
v1.32.2 | |
v0.2.10 | |
ack-ai-installer(应用 > 云原生AI套件安装) | v1.12.2 |
灵骏节点常见运维场景
以下介绍灵骏节点在各运维场景中,对应的ACK侧操作流程。
场景 | 说明 |
灵骏节点更换分组 | |
灵骏节点重启 |
|
灵骏节点重装 | |
灵骏下线维修(备机替换) |
更多操作
使用共享GPU调度。
如需在ACK托管集群Pro版中的灵骏节点上使用共享GPU调度,实现GPU的共享和隔离能力,需要先在灵骏裸金属集群中开启 KuberGPU能力,再在ACK集群中安装ack-ai-installer。具体使用方法,请参见使用共享GPU调度。
开启Binpack调度策略。
在灵骏节点池运行模型训练任务,您可以在Pod调度时启用Binpack策略,即开启Pod调度时启用优先集中放置策略,以减少训练过程中的跨机通信延迟,关于如何在Kube Scheduler组件中开启binpack,请参见自定义调度器参数。
在灵骏节点池使用网络拓扑感知调度。
如果需要在灵骏节点池使用网络拓扑感知调度,请安装Kube Scheduler,并升级至v1.31及以上,详细操作可参考使用网络拓扑感知调度。
FAQ
维修后节点仍是未就绪(Not Ready)状态
灵骏节点由于硬件问题进行了下线维修,但维修完成后,ACK集群中节点状态仍然是未就绪(Not Ready)状态。
原因:灵骏节点下线维修期间将进行换机操作,不保留本地盘数据,可能会导致kubelet、containerd等容器运行时信息被清除,节点状态异常。
解决方案:维修完成后,需手动将其从节点池移除,并通过添加已有节点重新加入灵骏节点池。