容器服务提供托管节点池能力,以节点池为载体,以简单高效的方式帮助用户提升 GPU 型计算资源的故障管理能力,提升节点池资源利用率,使用户能够更简单地完成节点池日常运维工作。
推荐规则 托管节点池支持配置检查自愈功能,并提供系统推荐规则,方便用户选用。推荐规则基于节点池是否为 GPU 节点池,采取不同的检查项和自愈动作。
GPU 节点池 GPU 节点池推荐规则的检查项和自愈动作,如下表所示。
检查项 是否检查 开启自愈 自愈动作 GPU 掉卡故障 是 开启 节点封锁 GPU 内部故障 是 开启 节点封锁 GPU 可恢复的内存故障 是 开启 节点封锁 GPU 不可恢复的内存故障 是 开启 节点封锁 GPU 运行时故障 是 开启 节点封锁 GPU 运行时警告 是 开启 节点封锁 GPU 链路故障 是 开启 节点封锁 GPU 链路性能下降 是 开启 节点封锁 GPU 驱动故障 是 开启 节点封锁 GPU 驱动警告 是 开启 节点封锁 ECS 故障 否 - - 节点 Not Ready 否 - - Kubelet 故障 是 开启 重启 kubelet 服务 Runtime 故障 是 开启 重启 containerd 服务 时间同步服务异常 是 开启 重启 chrony 服务 节点文件系统只读 否 - - 节点内核故障 否 - - 节点内核死锁 否 - -
非 GPU 节点池 非 GPU 节点池推荐规则的检查项和自愈动作,如下表所示。
检查项 是否检查 开启自愈 自愈动作 GPU 掉卡故障 否 - - GPU 内部故障 否 - - GPU 可恢复的内存故障 否 - - GPU 不可恢复的内存故障 否 - - GPU 运行时故障 否 - - GPU 运行时警告 否 - - GPU 链路故障 否 - - GPU 链路性能下降 否 - - GPU 驱动故障 否 - - GPU 驱动警告 否 - - ECS 故障 否 - - 节点 Not Ready 否 - - Kubelet 故障 是 开启 重启 kubelet 服务 Runtime 故障 是 开启 重启 containerd 服务 时间同步服务异常 是 开启 重启 chrony 服务 节点文件系统只读 否 - - 节点内核故障 否 - - 节点内核死锁 否 - -
前提条件 已创建集群。具体操作,请参见 创建集群 。
操作步骤 登录 容器服务控制台 。
在容器服务的左侧导航栏,选择 集群 。
在集群列表,单击目标集群名称。
在集群管理页面的左侧导航栏,选择 节点管理 >节点池 。
单击节点池列表左上角的 创建节点池 ,从系统弹出的对话框中选中 托管节点池 ,然后单击 确定 。
根据系统提示并参考以下示例,配置托管节点池相关参数。
节点池信息 配置项 说明 名称 根据系统提示的命名规则,自定义节点池名称。同一个集群内,节点池名称须唯一。 计费方式
节点对应云服务器(ECS)资源的收费模式:
按量计费 :一种后付费模式,即先使用再付费。包年包月 :一种预付费模式,即先付费再使用。选择该计费方式后,还需要配置 购买时长 、是否 自动续费 。抢占式实例 :一种后付费模式,该模式下购买的云服务器实例,相比 按量计费 有较大折扣,且性能与常规服务器无异。但是当库存不足或市场价格超出配置的价格上限时,系统会自动释放实例资源,请做好数据备份工作。说明
云服务器(ECS)资源的计费详情,请参见 产品计费 。
弹性伸缩
默认不启用。勾选启用后节点池支持弹性伸缩能力,需要配置以下参数:
节点数量 :弹性伸缩时,节点数量动态调整的范围。输入数值范围:0~2000。
若节点需求超过当前集群的节点配额总数,您可登录 配额中心 申请扩容节点配额。优先级 :当弹性扩容算法选择 priority 时生效,对优先级高的节点池进行扩容,数字越大,优先级越高。输入数值范围:0~100。注意
开启 弹性伸缩 后,您还需要配置弹性伸缩规则,才能实现节点的弹性伸缩。详细操作,请参见 节点弹性伸缩 。
节点池标签
自定义的资源标签,用于从不同维度对具有相同特征的节点池进行分类、搜索和聚合,能够灵活管理节点池。
单击 添加标签 ,根据界面提示输入 键 和 值 。
Worker 节点配置 配置项 说明 可用区
可用区是同一地域下电力、网络隔离的物理区域,可用区之间内网互通,不同可用区之间物理隔离。不同地域支持的可用区不同,详情请参见 地域和可用区 。
多可用区 :若需要使用多可用区能力,将 Worker 节点随机创建在多个可用区,可选择此选项。此时,提供节点本地容灾能力。指定可用区 :若需要全部 Worker 节点创建在同一指定可用区,可选择合适的可用区。此时,实例之间网络延时更小,但无法满足容灾需求。节点子网
系统将根据所选可用区筛选可用的子网列表,选择可用区范围内一个和多个子网,为节点提供网络支撑。
若选择全部可用区,系统将筛选出所有可用区内可用的子网。不仅支持选择同可用区内的一个或多个子网,而且支持跨可用区选择一个或多个子网。 若选择某个可用区,不支持多可用区能力。系统将筛选出当前可用区内的子网,可选择当前可用区内的一个或多个子网。 说明
子网支持通过拖拽方式调整前后顺序。 单个节点池最多可关联 8 个子网。 多子网调度策略
为节点池中的多个子网设置调度优先级,用于在 Worker 节点扩容时按照子网优先级顺序进行调度。有如下两种策略:
均衡策略 :节点扩容时,新增的节点会分散到多个子网,且保证各个子网中的节点数相对均衡。此策略下,子网的前后顺序不发挥作用。优先级策略 :顺序越靠前的子网优先级越高。节点扩容时,会按子网优先级在高优先级的子网下新增节点。计算规格
系统会根据所选子网筛选可用的计算规格列表,并按照所选计算规格定义节点的计算资源配置。各计算规格的详细说明,请参见 实例规格清单 。
若所选子网属于同一可用区,将筛选出当前可用区内的计算规格。此时,所有 Worker 节点将创建到同一可用区。 若所选子网跨多个可用区,将筛选出这些可用区内的所有计算规格并集。此时,Worker 节点根据各可用区资源情况和您设置的 子网调度策略 分配到不同可用区。 注意
在 VPC-CNI 网络模型的集群下创建节点池时,系统会自动为您校验支持的 ENI 数量。您可以根据界面提示,选择合适的 计算规格 。 选择 GPU 计算型 或 高性能计算 GPU 型 规格族且 GPU 卡 为支持 NVSwitch 的多卡机型(例如:A100、A800)时,创建节点池后将自动为节点启动 NVIDIA-Fabric Manager,以保证多显卡之间的网络正常连通。若 NVIDIA-Fabric Manager 启动失败,请参见:FAQ 。 公共镜像已经内置 NVIDIA-Fabric Manager 软件包。当使用公共镜像创建节点时,将自动启动 NVIDIA-Fabric Manager,以保证多显卡之间的 NVSwitch 互联。 高性能计算集群
计算规格 选择 高性能计算 GPU 型 规格后显示该参数。
选择高性能计算 GPU 型节点所属的高性能计算集群。若无可用的高性能计算集群,请单击 创建高性能计算集群 创新。详细操作,请参见 通过向导购买实例 。
注意
所选的高性能计算集群若已配置 VPC,则必须和容器集群 VPC 一致;若未配置 VPC,则不影响。 高性能计算集群仅支持单可用区。 节点数量
配置集群起始节点数量,为工作负载运行提供计算存储等资源。
推荐创建节点池时就配置合适的节点数量。 填写 0 表示创建节点池时不添加节点,此时无法正常运行工作负载,创建完成后需自行添加节点才能正常使用。 注意
在不同业务(VKE 或 ECS)侧对节点进行操作时,期望的节点数量会有不同变化。详情请参见 FAQ 。
ECS 实例标签
容器服务为新增的 ECS 实例绑定火山引擎平台标签,用于搜索、管理 ECS 实例。
单击 添加标签 ,根据界面提示输入 键 和 值 。
说明
后续节点池扩容后新增的节点,将绑定该 ECS 实例标签。
部署集
勾选后表示将节点池中节点对应的 ECS 实例添加到部署集中。
部署集可以实现物理层级的安全隔离,将实例强制分散部署在不同的底层硬件上,保障业务的底层容灾能力及高可用性。更多说明,请参见 部署集概述 。
节点池所属项目 为托管节点池指定所属项目,从项目纬度管理节点池资源的运维、授权等操作。默认选择 default(默认项目) 。更多项目相关操作和说明,请参见 项目管理 。
系统配置 配置项 说明 操作系统
根据实际情况,选择节点使用的系统镜像,包括:公共镜像、自定义镜像、共享镜像。
公共镜像 :火山引擎官方提供的正版版权镜像,包含基础操作系统和火山引擎提供的初始化组件,安全稳定性高且所有用户均可使用。
容器服务支持的公共镜像及其关联的规格族参见:容器服务支持的公共镜像 。自定义镜像 :【邀测·申请试用 】用户自行制作并上传的镜像,除操作系统外,还可以预装公共应用或私有应用,具有更高的定制化性,适用于需要重新部署复杂初始化系统或多次部署同样配置的场景。
容器服务支持自定义镜像作为节点操作系统,更多详细介绍参见:如何打包和使用自定义镜像? 共享镜像 :其他火山引擎账户共享的镜像,可使用共享镜像快速部署与其他用户已创建节点相同的软件环境,也可以将自己创建或上传的自定义镜像共享给其他火山引擎账户使用。注意
自定义镜像和共享镜像仅支持基于容器服务基础镜像制作的镜像,请根据需求确认是否需要 GPU 版本。 自定义镜像会根据节点池项目进行数据过滤。 启动时安装批量作业 Agent 默认安装 Agent,不支持修改。托管节点池使用 Agent 进行节点管理,方便该节点池中节点的故障监测和自愈。 系统云盘
提供操作系统运行、日志存储相关工作需要使用的存储空间。
说明
不同地域支持的云盘类型可能不同,请按需使用。云盘类型介绍,请参见 云盘规格 。 极速型 SSD 提供性能级别选择。不同性能的极速型 SSD 云盘提供的最大 IOPS、最大吞吐量、时延等性能值不同。 数据盘
提供额外存储空间,可用于日常工作中的数据存储。单个节点最多可挂载 15 块数据盘。
不同地域支持的云盘类型可能不同,请按需使用。云盘类型介绍,请参见 云盘规格 。说明
极速型 SSD 提供性能级别选择。不同性能的极速型 SSD 云盘提供的最大 IOPS、最大吞吐量、时延等性能值不同。 【邀测·申请试用 】部分计算规格,支持挂载本地盘。具体支持挂载本地盘的计算规格,请参见 实例规格清单 。 格式化并挂载到容器、镜像存储目录 :第一个数据云盘默认支持格式化并挂载给容器、镜像、Kubelet 组件相关的/var/lib/containerd
和/var/lib/kubelet
目录使用。
若取消勾选,表示将/var/lib/containerd
和/var/lib/kubelet
目录挂载到系统盘操作系统所在分区中,请密切关注系统盘剩余可用容量风险。文件系统 :【邀测·申请试用 】选择第一个数据云盘的文件系统,支持 Ext4 和 Xfs 。指定挂载目录 :默认不勾选,勾选后指定挂载目录,将数据云盘挂载到该目录。
例如,指定挂载目录为/vke
,第一个数据云盘同时格式化并挂载到容器和镜像存储目录时,/var/lib/containerd
和/var/lib/kubelet
目录会被关联绑定(Bind Mount)到/vke/var/lib/containerd
和/vke/var/lib/kubelet
。用快照创建 :选择已经存在的快照创建数据盘,可将快照中的数据快速复制到数据盘进行使用。更多详细介绍参见:创建快照 和 使用快照创建新云盘 。
运维功能设置 配置项 说明 检查和自愈
【邀测·申请试用 】配置是否开启节点检查自愈功能。
开启 :通过配置节点检查自愈规则,系统会自动检查节点状态,当节点故障时及时封锁节点或重启组件,防止造成业务损失。关闭: (默认)不开启节点检查自愈功能。检查和自愈规则
【邀测·申请试用 】配置节点池的检查和自愈规则,包括:
推荐规则 :为节点池启用推荐的检查自愈规则。推荐规则的详情和自愈动作,请参见 推荐规则 。自定义规则 :在下拉菜单中选择自定义的检查自愈规则。如果未配置规则,可以单击 新建检查自愈规则 ,创建新的规则。详细说明,请参见 节点池节点检查自愈 。说明
当节点池使用 推荐规则 时,系统会自动生成检查自愈规则,其名称格式为:
GPU 节点池的检查自愈规则名称为GPU 节点池自愈规则-{节点池名称}-{随机数}
。 非 GPU 节点池的检查自愈规则名称为节点池自愈规则-{节点池名称}-{随机数}
。
安全配置 配置项 说明 安全组
为保证集群和节点本身功能的正常运作,容器服务默认提供一个安全组(命名格式为<集群ID>-common
)。
若需要添加自定义安全组规则,请勿与集群默认安全组规则冲突。集群默认安全组相关说明,请参见 集群默认安全组 。
说明
自定义安全组时,单个节点池最多支持关联 4 个安全组。
登录方式
配置节点登录方式,以确保容器服务集群内节点可以登录。
密码 :使用 root 用户登录认证,需配置 root 密码 并二次确认。SSH 密钥对 :一种安全的登录认证方式,包括公钥和私钥,仅支持 Linux 实例。选择该方式后需要选择目标 SSH 密钥对 。若无可用密钥对,请参见 创建密钥对 创建。安全加固
配置主机安全加固。
开启 :(默认)HIDS 主机防护免费提供异常登录等风险告警服务,在保证主机系统镜像兼容性的基础上,为节点(云服务器实例)提供实时监控、文件监控、进程监控、系统动态分析等安全加固功能。关闭 :关闭主机安全加固。
更多配置 配置项 说明 节点标签 (Labels)
对应 Kubernetes 中的 Label,能够为节点定义不同的属性,方便批量筛选等需求,可为节点池中的节点批量添加相同标签。
单击 添加节点标签 ,根据界面提示输入 键 和 值 。
注意
自定义的节点标签,不能与系统标签重复。系统标签说明,请参见 系统标签和污点 。
节点污点 (Taints)
污点(Taints)能够使节点排斥某些特定的 Pod,避免 Pod 调度到该节点上,可为节点池中的节点批量添加相同污点。
单击 添加 Taints ,根据界面提示输入 键 、值 和 效果 。其中污点 效果 选项说明如下:
NoSchedule :如果节点上存在至少一个该污点,则系统不会将 Pod 分配到该节点。NoExecute :任何不能忍受该污点的 Pod 都会被驱逐,任何可以忍受该污点的 Pod 都不会被驱逐。PreferNoSchedule :系统会尽量避免将 Pod 调度到存在其不能容忍污点的节点上,但不会强制执行。注意
自定义的节点污点,不能与系统污点重复。系统污点说明,请参见 系统标签和污点 。
节点标签及污点自动更新
配置节点标签和污点的自动更新功能。
勾选(默认) :开启节点标签和污点自动更新功能。在节点池中新增或修改标签或污点,会自动更新到新建节点和存量节点。同时,修改存量节点上的标签和污点后,节点上的配置会被节点池的配置刷新。取消勾选 :关闭节点标签和污点自动更新功能。在节点池中新增或修改标签或污点 ,仅会同步到新建节点,不会更新到存量节点。同时,修改存量节点上的标签和污点后,存量节点上的配置以修改后的配置为准,不会被节点池的配置刷新。注意
关闭节点标签和污点自动更新功能,可能导致某些使用固定节点标签的功能异常,请谨慎操作!
高级配置 配置项 说明 Kubelet 自定义参数 配置节点池中节点的 kubelet 自定义参数,用于调整节点行为。详细操作,请参见 kubelet 自定义参数 。 节点名称自定义 默认不开启,开启后设置 节点名称前缀 ,用于在容器服务或云服务器中快速识别节点。后续该节点池中新增扩容的节点将自动使用此处定义的节点名称前缀。 抢占式实例补偿 计费方式 选择 抢占式实例 后显示该参数。开启后,在抢占式实例回收前 5 分钟左右,将主动创建新实例进行替换。更多说明,请参见 抢占式实例节点池 。按量实例补充抢占式容量 计费方式 选择 抢占式实例 后显示该参数。开启后,当抢占式实例因库存、价格等原因不足时,将使用按量实例进行补充。按量实例运行期间,即使抢占式实例符合条件也不会进行再次均衡,仅在当前节点池缩容时,优先释放这部分按量实例。更多说明,请参见 抢占式实例节点池 。节点分布比例策略 计费方式 选择 抢占式实例 后显示该参数。开启后,设置节点池中按量实例和抢占式实例的比例。更多说明,请参见 抢占式实例节点池 。节点元数据名称自定义 默认不开启,开启后设置 节点元数据名称前缀 (metadata.name),用于在监控、告警等外部系统中标识资源。后续该节点池中新增扩容的节点将自动使用此处定义的节点元数据名称前缀。 镜像懒加载
【邀测·申请试用 】默认不开启。开启后,节点池中的节点具备按需使用容器加速镜像的能力。更多说明,请参见 容器镜像懒加载方案 。
注意
仅 Containerd 版本为 1.4.13-vke.3 及以上版本的节点才可用该功能。Containerd 版本查看方法,请参见 FAQ 。
部署执行脚本 输入 Shell 格式的脚本,节点部署 Kubernetes 组件后将自动执行该脚本。需要您自行实现脚本命令,并保证脚本的可重入及重试逻辑。脚本及其日志文件可在节点的/usr/local/vke/userscripts
目录下查看。该功能常用于修改 kubelet 配置参数等场景。
节点自动绑定公网 IP
是否为集群中的节点自动绑定公网 IP(EIP):
不开启:(默认)系统不会自动为节点分配 EIP。若后续需要访问公网,请参考 申请公网 IP 并绑定云服务器 。 开启:系统自动为集群下的节点分配 EIP,此时您还需要自定义 EIP:
计费类型 :EIP 支持 按量计费-按带宽上限 、按量计费-按实际流量 两种计费类型。线路类型 :当前仅支持 BGP 类型。带宽上限 :自定义设置带宽上限。 说明
使用 EIP 将产生费用,资费详情请参见 公网 IP 计费指引 。若 EIP 配额不足,请在 EIP 产品侧提交申请,更多说明,请参见 EIP 约束限制 。 节点被删除或缩容时,已绑定的 EIP 会被同步释放。 封锁节点
默认不开启。开启封锁节点后,将节点池中的节点调整到已封锁且不可调用状态,新创建的 Pod 无法调度到该节点池中的节点上,已经运行在该节点上的 Pod 不受影响。可手动执行kubectl uncordon
命令取消封锁。
封锁节点将减少该节点所属集群的剩余可用资源配额,若集群本身预留的可用资源不足,将会影响后续正常业务的调度和存量业务的运行。
单击页面右下角 下一步:确认配置 ,确认配置。
检查创建节点池相关参数配置,确保符合预期。若需要更新配置,可单击页面右下角 上一步:节点池配置 。 确认 配置费用 ,可单击费用右侧帮助按钮,查看费用明细,包括:收费项、计费方式、数量、原价和折扣价。 请仔细阅读 《容器服务专用服务条款》 并勾选同意,单击页面右下角 确定 ,完成创建节点池并添加相关配置。
资源监控 托管节点池创建完成后,您可以使用资源监控功能,查看节点池资源的使用情况。
说明
资源监控功能依赖集群开启云原生观测功能,您可以基于页面提示完成开通或接入,也可以参考 开启云原生观测 。 更多集群资源监控看板和指标,请参考 容器服务观测 。 登录 容器服务控制台 。 在容器服务的左侧导航栏,选择 集群 。 在集群列表,单击目标集群名称。 在集群管理页面的左侧导航栏,选择 节点池 。 在节点池列表中,单击目标托管节点池名称,进入节点池详情页。 选择 资源监控 页签,查看该节点池的资源使用情况。支持设置查询的时间段,并指定刷新方式(手动刷新、自动刷新)。