节点组管理
概述
本文介绍如何通过容器引擎 CCE 控制台在集群中创建节点组,以及节点组的查看、管理及删除等操作。如需了解相关概念和使用限制,请参见 节点组介绍。
创建节点组
- 登录百度智能云容器引擎 CCE 控制台,在左侧导航栏,点击 "集群管理->集群列表",进入集群列表页,点击集群名称,进入集群管理页面。
- 在左侧导航栏,点击 "节点组",进入节点组列表页。
- 点击 "创建节点组" 按钮或者 "马上创建" 链接,进入节点组创建页面。
- 填写节点组基本配置,配置项及说明如下:
- 节点组信息
配置项 | 说明 |
---|---|
节点组名称 | 自定义,支持大小写字母、数字、中文以及“-_ /.”;必须以字母开头,长度1-65。 |
VPC 网络 | 默认是集群的 VPC 网络,不支持更改。 |
Worker 安全组 | 支持配置“使用默认安全组”和“使用自定义安全组”。使用默认安全组会绑定集群当前关联的安全组,若现有的安全组不合适,可以自定义安全组。请在实例创建后,根据实际访问需求添加或修改访问规则 CCE默认/附加安全组说明。 |
- 节点配置:后续扩容节点组将以此配置作为创建节点的模版。
配置项 | 说明 |
---|---|
节点类型 | 按需选择,目前支持云服务器 BCC、弹性裸金属服务器 EBC、裸金属服务器 BBC。 |
付费方式 | 按需选择,目前支持后付费、预付费、抢占实例。 |
可用区 | 可用区是指在同一地域下,电力和网络互相独立的物理区域,故障会被隔离在一个可用区内。用于筛选可用区下可用的子网。 |
节点子网 | 选择为节点分配 IP 地址的子网。不同可用区可用子网不同。 |
实例配置 | 根据CPU与内存比值的不同,云服务器提供了多种不同类型的实例规格族、。关于实例规格及适用的应用场景您可参考实例规格。 |
镜像类型及操作系统 | 您可根据实际需求,选择适合的镜像类型及操作系统。 |
系统盘 | 用于安装操作系统。非异构计算实例且镜像os是linux,默认大小20GB;若镜像os是windows,默认大小40GB;异构计算实例不区分操作系统默认均为40GB。根据地域以及实例规格的不同,可选择的云盘类型也不同,以页面实际提供的云盘类型为准。 |
数据盘 | 即挂载的数据盘,用于提高云服务器的存储容量,默认不选择。云磁盘挂载数量有一定上限,若您想挂载超出上限的云磁盘,请提交工单联系我们。当前,云服务器的系统盘和数据盘均为CDS云磁盘,关于CDS的磁盘类型和使用限制请查看磁盘类型和使用限制。 |
绑定快照策略 | 默认关闭绑定快照策略。通过快照,您可以实现磁盘数据备份,磁盘数据恢复以及磁盘镜像的制作。更多关于快照的使用方法和使用限制,请查看快照使用说明。快照目前是收费服务,请查看快照计费说明。 |
公网IP | 如需公网访问,请购买弹性公网IP,或在实例购买成功后绑定已有的弹性公网IP。公网带宽支持以下购买方式: |
实例名称 | 您可自定义设置实例名称或由系统随机生成实例名称。 |
Domain开关 | 用户打开后,主机名将带有domain后缀,支持DNS解析。 |
管理用户名 | Windows系统的管理员账号为Administrator,Linux系统的管理员账号为root。 |
管理员密码 | 根据实例操作系统的不同,密码可供选择的设置方式也不同。 |
数量 | 填写的节点数量即初始设置的期望节点数。数量限制如下: |
部署集 | 指定部署集中创建云服务器实例时,会和处于同一部署集中的其他云服务器实例,按照物理服务器打散,保障发生硬件故障等异常情况下时的服务高可用性。具体可参考部署集进行设置。单个实例最多可加入2个部署集。 |
自动伸缩 | 启用自动伸缩,系统将根据节点配置和自动伸缩配置,在符合扩容条件时,自动进行扩容操作。并自动计算节点费用、生成订单。扩容操作完成后,可自行查看节点和订单信息。 |
故障检测和自愈 | 支持节点故障检测,可按需配置自愈规则。 |
- 高级配置
配置项 | 说明 |
---|---|
扩缩容策略 | |
kubelet数据目录 | volume文件、plugin文件等数据存储目录,例如 /var/lib/kubelet。 |
容器数据目录 | 容器、镜像等数据存储目录。勾选即可设置容器和镜像存储目录,例如 /home/cce/containerd。 |
部署前执行脚本 | 节点部署前将自动执行该脚本,您需要自行保证脚本的可重入及重试逻辑。脚本内容和产生日志将写入节点的/usr/local/cce/scripts/目录下。 |
部署后执行脚本 | 节点部署后将自动执行该脚本,您需要自行确定脚本的执行情况。脚本内容和产生日志将写入节点的/usr/local/cce/scripts/目录下。 |
自定义 kubelet 参数 | 支持自定义配置 Kubelet参数,详情请参见 自定义 kubelet 参数介绍。 |
封锁节点 | 默认关闭。选择开启封锁节点后,节点将处于不可调度状态,新创建的Pod将不会调度到该节点上。若需要取消封锁,请执行kubectl uncordon命令。封锁节点将减少该节点所属集群的剩余可用资源配额,若集群本身预留的可用资源不足,将会影响后续正常业务的调度和存量业务的运行。 |
资源标签 | 资源标签支持您按各种标准(如用途、所有者或项目)对云上资源进行分类,每个标签包含键和值两部分,具体可参考标签功能进行设置。 |
IAM 角色 | 为云服务器实例设置IAM角色。更多信息详见 设置IAM角色。 |
标签(Labels) | K8S标签(Label)是管理和选择K8S对象的标识, 将自动绑定到节点组创建的节点;每个Label包含键和值两部分。更多信息详见K8S标签说明。 |
污点(Taints) | 节点污点和Pod容忍共同作用。节点设置污点后,可避免Pod调度到节点上,或者将Pod从节点驱逐。除非Pod容忍能够节点污点相匹配。更多信息详见污点和容忍说明。 |
注解(Annotations) | Annotations(注解)是一种将非标识性元数据附加到对象上的机制,每个Annotation包含键和值两部分。。更多信息详见注解说明。 |
- 点击“完成”按钮,完成节点组的创建。
查看节点组
- 创建完成后,返回节点组列表,即可查看节点组。
- 节点组列表中展示可查看以下信息:
列名 | 说明 |
---|---|
节点组名称/ID | 节点组 ID 作为节点组的唯一标识,可用于在集群的节点列表中,搜索节点组中的具体节点。 |
付费方式 | 默认为后付费。 |
实例配置 | 创建节点组时所选节点配置中的实例规格、类型信息。 |
实际节点数 | 实际 Ready 节点数,节点的具体状态和扩缩容进度可在节点列表中查看。 |
期望节点数 | 创建节点组时设置的节点数量,即期望节点组中保持可用的节点数量。 |
自动伸缩范围 | 若启用自动弹性伸缩可查看自动伸缩范围,将在该伸缩范围内自动调节期望节点数。 |
故障检测自愈 | 若启用故障检测自愈,可查看故障自愈的规则。 |
创建时间 | 节点组的创建时间。 |
配置自动伸缩
步骤一:开通自动伸缩
初次使用节点组功能,首次配置自动伸缩,需要先授权开通自动伸缩,才可以启用自动伸缩功能。可在节点组列表的全局配置模块中点击授权开通自动伸缩开通,也可以在首次创建节点组时开通。
步骤二:全局配置
授权开通自动伸缩后,可在节点组列表的全局配置模块中点击编辑配置,在全局配置弹窗中开启自动缩容并配置扩容算法,该配置将应用于集群中所有启用自动伸缩功能的节点组。相关配置项及说明如下:
配置项 | 可选项 | 说明 |
---|---|---|
自动缩容 | 缩容阀值 | 伸缩组内节点资源(cpu、gpu、mem)利用率均低于设定阈值时,集群可能会触发自动缩容。默认输入范围:20 - 80。 |
缩容触发时延 | 在配置的缩容触发时延内,节点资源利用率持续低于缩容阈值,集群可能会触发自动缩容。默认输入范围:1 - 60。 | |
最大并发缩容数 | 当节点的利用率为0时,并发缩容节点的数目。默认输入值范围:1 - 20。 | |
扩容后缩容启动间隔 | 扩容出来的节点经过此间隔后开始评估是否可以被缩容。默认输入值范围:1 - 60。 | |
不缩容以下节点 | 包含本地存储 Pod 包含 kube-system 命名空间下非 DaemonSet 管理的 pod。 | |
扩容算法 | 随机 | 详情参见 扩容算法介绍。 |
least-waste | ||
most-pods | ||
priority |
步骤三:自动伸缩配置
授权开通自动伸缩后,可在创建节点组时,或在节点组列表页的操作中,对节点组启用或停用自动伸缩功能,并配置相应的自动伸缩策略,以下介绍如何为已有节点组配置自动伸缩。
- 在节点组列表页中,找到目标节点组,点击操作列中的更多 > 自动伸缩配置。
- 在自动伸缩配置弹窗中启用自动伸缩,并配置伸缩范围和扩容优先级。
配置项 | 说明 |
---|---|
伸缩范围 | 启用自动弹性伸缩后,将在该伸缩范围内自动调节期望节点数。您可输入期望的最小节点数和最大节点数。 |
扩容优先级 | 自动扩容时,将以扩容优先级顺序,对已启用自动伸缩的节点组进行扩容。数值越大,优先级越高。 |
调整节点数
调整节点数即通过手动调整节点组的期望节点数,来实现节点组扩容或缩容的目的。
- 在节点组列表页中,找到需要调整节点数的目标节点组,点击操作列中的调整节点数。
- 在调整节点组弹窗中输入期望节点数,点击确定即可调整节点组的期望节点数。
说明:
- 若已启用自动伸缩,在符合扩缩容条件时,不支持手动修改期望节点数,CCE 将在伸缩范围内为节点组自动调整期望节点数。
- 若不希望自动调整期望节点数,请先在自动伸缩配置中关闭自动伸缩,再手动调整节点数。
期望的节点数不是新增节点数量。例如:扩容前节点池中已存在 3 个节点。当您配置期望节点数为 5 时,系统会自动扩容 2 个节点,满足 5 个节点的期望,而不是新增 5 个节点。
- 单个节点组容量上限为1000。
- 每次操作最多500个节点。
- 扩容上限受节点组中各子网剩余IP数量总和以及机型库存限制.
编辑节点组高级配置
创建节点组后,CCE集群支持通过控制台调整部分节点组配置。
说明:
节点组编辑高级配置过程中,不会影响节点组内已有节点和业务的运行。 节点组配置更新后,除特殊说明场景外(例如同步更新存量节点的标签(Labels)、污点(Taints)及注解(Annotations)),不会修改节点池已有节点的配置,仅作用于新增节点。 节点组配置更新后,后续节点组中新增的节点都将默认使用该配置。 更新节点组配置需参见本步骤来实现。如您通过其他方式对节点进行了更改,节点组升级时这些更改会被覆盖。 勾选同步更新存量节点的标签(Labels)、污点(Taints)及注解(Annotations)功能,在节点组中新增或修改标签、污点、注解,会自动更新到新建节点和存量节点。同时,修改存量节点上的标签和污点后,节点上的配置会被节点组的配置刷新。 关闭同步更新存量节点的标签(Labels)、污点(Taints)及注解(Annotations)功能,在节点组中新增或修改标签、污点、注解,仅会同步到新建节点,不会更新到存量节点。同时,修改存量节点上的标签和污点后,存量节点上的配置以修改后的配置为准,不会被节点组的配置刷新。
- 在节点组列表页中,找到需要移除节点的目标节点组,点击节点组名称/ID进入节点组详情页。
- 在节点组详情页高级配置点击修改,修改节点组高级配置页面,编辑节点组的配置项,并按照页面提示完成配置。
复制节点组
通过 CCE 控制台可以轻松地复制现有节点组的配置,并基于这些配置创建新的节点组。
-
在节点组列表页中,找到需要复制的目标节点组,点击操作列中的更多 > 复制。
- 在复制节点组页面中,可以看到复制的节点组配置,您可以根据需要进行修改。确定配置后单击完成即可进行节点组复制。
删除节点组
删除节点组,可根据实际需要选择是否保留/移出/释放节点,以及是否释放实例绑定的后付费公网 IP 和云磁盘。
注意: 节点组删除后无法恢复,请做好数据备份,谨慎操作。
- 在节点组列表页中,找到需要删除的目标节点组,点击操作列中的删除。
-
在删除节点组弹窗中选择是否保留/移出/释放该节点组中的节点,并选择是否释放实例绑定的后付费公网 IP 和云磁盘。在删除节点组时您可选择进行如下操作:
- 将该节点组中的节点继续保留在集群中
- 将该节点组中的节点移出集群,但保留虚机资源
- 将该节点组中的节点移出集群,并释放虚机资源(预付费不会主动释放)
- 释放实例绑定的后付费公网 IP 和云磁盘
移除节点
注意:
- 在使用节点组功能前已存在于集群中的节点,以及通过集群扩容、添加节点(非节点组方式)新建的节点,不归属于节点组,在节点管理 > 节点列表中单独管理。
- 在集群的节点组管理 > 节点列表中移出节点,即以节点为操作对象,将完全按照当前节点的操作逻辑,不会影响节点组的期望节点数,节点组将根据当前期望节点数自动进行节点数量的调整。
- 在节点管理 > 节点组 > 节点列表中移除节点会减少节点组对应的期望节点数量。
- 在节点组列表页中,找到需要移除节点的目标节点组,点击节点组名称/ID进入节点组详情页。
- 在左侧导航栏选择节点列表,查看当前节点组中的全部节点。
- 找到需要移出节点组的节点,在操作列选择移出节点。若您需要同时移出多个节点,可在当前页面中勾选多个节点后,点击上侧更多操作 > 移出节点对多个节点进行移出操作。
-
在移出节点弹窗中选择是否需要将该节点保留/移出集群,以及是否需要保留/释放节点对应的实例。
- 将该节点组中的节点继续保留在集群中
- 将该节点组中的节点移出集群,但保留虚机资源
- 将该节点组中的节点移出集群,并释放虚机资源(预付费不会主动释放)
- 释放实例绑定的后付费公网 IP 和云磁盘
- 点击确定,即可将节点移出节点组。