更新时间:2024-10-14 GMT+08:00

更新节点池

注意事项

  • 修改节点池容器引擎、操作系统、安装前/后执行脚本时,修改后的配置仅对新增节点生效,存量节点如需同步配置,需要手动重置存量节点。
  • 修改资源标签、K8s标签和污点数据会根据“存量节点标签及污点”开关状态决定是否自动同步已有节点,无需重置节点。

更新节点池

  1. 登录CCE控制台。
  2. 单击集群名称进入集群,在左侧选择“节点管理”,在右侧选择“节点池”页签。
  3. 单击节点池名称后的“更新”,在弹出的“更新节点池”页面中配置参数。

    基础配置
    表1 基础配置

    参数

    参数说明

    节点池名称

    自定义节点池名称。

    企业项目

    该参数仅对开通企业项目的企业客户账号显示。

    选择某企业项目(如:default)后,节点可以通过对应的企业项目进行资源管理,但不支持企业项目管理的权限功能。默认为集群所选的企业项目。

    企业项目是一种云资源管理方式,企业项目管理服务提供统一的云资源按项目管理,以及项目内的资源管理、成员管理。

    节点配置
    表2 节点配置参数

    参数

    参数说明

    节点规格

    请根据业务需求选择相应的节点规格。

    容器引擎

    CCE支持Docker和Containerd容器引擎,不同的集群类型、集群版本、操作系统可能导致支持的容器引擎类型不同,请根据控制台呈现进行选择。

    说明:

    修改“容器引擎”配置后,对新增的节点自动生效,存量节点需要手动重置节点后生效。

    操作系统

    选择操作系统类型,不同类型节点支持的操作系统有所不同。
    • 公共镜像:请选择节点对应的操作系统。
    说明:
    • 由于业务容器运行时共享节点的内核及底层调用,为保证兼容性,建议节点的操作系统选择与最终业务容器镜像相同或接近的Linux发行版本。
    • 修改“操作系统”配置后,对新增的节点自动生效,存量节点需要手动重置节点后生效。
    存储配置
    表3 存储配置参数

    参数

    参数说明

    系统盘

    节点云服务器使用的系统盘,供操作系统使用。您可以设置系统盘的规格为40GiB-1024GiB之间的数值,缺省值为50GiB。

    说明:

    修改系统盘“规格”配置时,仅对新增节点生效,存量节点即使重置也无法同步配置。

    数据盘

    至少需要一块数据盘,供容器运行时和Kubelet组件使用,该数据盘不能被删除卸载,否则会导致节点不可用。

    • 第一块数据盘:供容器运行时和Kubelet组件使用。您可以自行设置数据盘的规格为20GiB-32768GiB之间的数值,缺省值为100GiB。
    • 其他数据盘,您可以设置数据盘的规格为10GiB-32768GiB之间的数值,缺省值为100GiB。
    说明:

    修改数据盘“规格”配置时,仅对新增节点生效,存量节点即使重置也无法同步配置。

    高级配置

    单击后方的“展开高级设置”可进行如下设置:

    • 数据盘空间分配:对数据盘上存在的容器引擎、镜像、临时存储等进行空间划分,避免因磁盘空间不足导致业务异常。数据盘空间分配详细说明请参见数据盘空间分配说明
      说明:

      修改“数据盘空间分配”配置时,仅对新增节点生效,存量节点即使重置也无法同步配置。

    • 加密:数据盘加密功能可为您的数据提供强大的安全防护,加密磁盘生成的快照及通过这些快照创建的磁盘将自动继承加密功能。
      • 默认不加密。
      • 点选“加密”后,可在弹出的“加密设置”对话框中,选择已有的密钥,若没有可选的密钥,请单击后方的链接创建新密钥,完成创建后单击刷新按钮。
      说明:

      修改“数据盘加密”配置时,仅对新增节点生效,存量节点即使重置也无法同步配置。

    增加数据盘

    弹性云服务器最多可以添加16块。默认情况直接创建为裸盘,不做任何处理。您也可以展开高级配置,选择如下配置。

    • 默认:默认情况直接创建为裸盘,不做任何处理。
    • 挂载到指定目录:将数据盘挂载到指定目录。
    • 作为持久存储卷:适用于对PV有性能要求的场景。持久存储卷的节点会添加上node.kubernetes.io/local-storage-persistent标签,取值为linear或striped。
    • 作为临时存储卷:适用于对EmptyDir有性能要求的场景。
    说明:
    • 本地持久卷仅在集群版本 >= v1.21.2-r0 时支持,且需要everest插件版本>=2.1.23,推荐使用>=2.1.23版本。
    • 本地临时卷仅在集群版本 >= v1.21.2-r0 时支持,且需要everest插件版本>=1.2.29。
    本地持久卷本地临时卷支持如下两种写入模式。
    • 线性(linear):线性逻辑卷是将一个或多个物理卷整合为一个逻辑卷,实际写入数据时会先往一个基本物理卷上写入,当存储空间占满时再往另一个基本物理卷写入。
    • 条带化(striped):创建逻辑卷时指定条带化,当实际写入数据时会将连续数据分成大小相同的块,然后依次存储在多个物理卷上,实现数据的并发读写从而提高读写性能。条带化模式的存储池不支持扩容。多块存储卷才能选择条带化。

    本地盘说明

    节点规格为“磁盘增强型”或“超高I/O型”时,有一块数据盘可以是本地盘。

    本地磁盘实例有宕机风险,不保证数据可靠性,建议您使用云硬盘存储您的业务数据。

    高级配置
    表4 高级配置

    参数

    参数说明

    资源标签

    通过为资源添加标签,可以对资源进行自定义标记,实现资源的分类。

    您可以在TMS中创建“预定义标签”,预定义标签对所有支持标签功能的服务资源可见,通过使用预定义标签可以提升标签创建和迁移效率。

    CCE服务会自动帮您创建CCE-Dynamic-Provisioning-Node=节点id的标签。

    说明:

    修改“资源标签”后,对新增的节点自动生效,存量节点会根据“存量节点标签及污点”开关状态决定是否同步更新。

    K8S标签(Labels)

    设置附加到Kubernetes对象(比如Pod)上的键值对,填写键值对后,单击“确认添加”。最多可以添加20条标签。

    使用该标签可区分不同节点,可结合工作负载的亲和能力实现容器Pod调度到指定节点的功能。详细请参见Labels and Selectors

    说明:

    修改“K8s标签”后,对新增的节点自动生效,节点池下的存量节点会根据“存量节点标签及污点”开关状态决定是否同步更新。

    K8S污点(Taints)

    默认为空。支持给节点加污点来设置反亲和性,每个节点最多配置20条污点,每条污点包含以下3个参数:
    • Key:必须以字母或数字开头,可以包含字母、数字、连字符、下划线和点,最长63个字符;另外可以使用DNS子域作为前缀。
    • Value:必须以字符或数字开头,可以包含字母、数字、连字符、下划线和点,最长63个字符。
    • Effect:只可选NoSchedule,PreferNoSchedule或NoExecute。

    污点的使用请参见管理节点污点

    说明:

    修改“污点(Taints)”后,对新增的节点自动生效,节点池下的存量节点会根据“存量节点标签及污点”开关状态决定是否同步更新。

    存量节点标签及污点

    勾选后,更新节点池的资源标签、K8s标签及污点时,会将节点池配置中的资源标签、K8s标签或污点修改同步至节点池中已有的节点。

    说明:

    节点池更新时,如果修改“同步资源标签”开关状态,需要注意如下事项:

    • 开关从“不同步”更改为“同步”时:
      • CCE会基于当前节点池的资源标签配置,对存量节点进行更新。如果用户已在ECS侧设置了与当前节点池的资源标签配置中同key值的资源标签,则该标签的value值将被刷新成节点池中的配置保持一致。
      • 存量节点的资源标签同步需要一定的处理时间(通常为10分钟以内,与节点池的节点规模相关)。
      • 请等待上一次资源标签同步完成之后,再下发同步资源标签的请求,否则可能会导致存量节点的资源标签不一致。

    节点池更新时,如果修改“同步K8s标签”“同步污点”开关状态,需要注意以下事项:

    • 开关状态从“同步”更改为“不同步”时,可能会出现节点池中的新旧节点标签或污点不一致的情况。当业务调度依赖节点标签或污点时,可能会出现调度失败或节点池弹性扩容能力失效。
    • 开关状态从“不同步”更改为“同步”时:
      • 如果在未开启同步时用户修改新增了节点池配置中的标签或污点,重新开启同步后,配置会在一定时间内(一般为10分钟内)自动同步到存量节点上。
      • 如果在未开启同步时用户删除了节点池配置中的标签或污点,重新开启同步后,需要前往节点列表界面手动删除节点已有的标签或污点。
      • 如果在未开启同步时对已有节点的污点手动修改key或effect,在开启同步后,会在已有节点上增加一个全新的污点(key不同但value和effect相同或effect不同但key和value相同)。这是由于K8s污点原生逻辑使用key和effect作为一组匹配键值,即key或effect不同的污点会被认为是两个污点。

    新增节点调度策略

    节点池中新增节点的默认调度策略。勾选“设置为不可调度”之后,该节点池新增的节点在创建完成之后均会被打上不可调度的标签。以方便用户在工作负载被调度到节点上之前,对节点进行一些操作。

    定时开启调度时间:若设置定时开启调度功能,在超过自定义时间后,节点将会自动开启调度。

    • 不设置:默认情况下,将不设置超时时间,此时节点需要您前往“节点管理”界面,手动选择节点开启调度,详情请参见一键设置节点调度策略
    • 自定义:该参数可配置节点不可调度的默认超时时间,取值范围为0-99min。
    说明:
    • 如果需要同时使用节点池的自动扩缩容能力,定时开启调度时间应小于15min。因为通过autoscaler扩容的节点如果处于不可调度状态超过15min,autoscaler会认为本次扩容失败,触发再次扩容。同时,原节点处于不可调度状态超过20min,节点将被列入缩容备选节点,被autoscaler缩容。
    • 开启该开关后,节点池的创建/更新过程中,节点会被打上node.cloudprovider.kubernetes.io/uninitialized的污点。

    编辑密钥对

    仅使用密钥对登录的节点池支持编辑,您可重新选择一个密钥对。

    说明:

    编辑密钥对后,对新增的节点自动生效,存量节点需要手动重置节点后生效。

    安装前执行脚本

    请输入脚本命令,命令中不能包含中文字符。脚本命令会进行Base64转码。安装前/后执行脚本统一计算字符,转码后的字符总数不能超过10240。

    脚本将在Kubernetes软件安装前执行,可能导致Kubernetes软件无法正常安装,需谨慎使用。

    说明:

    修改“安装前执行脚本”后,对新增的节点自动生效,存量节点需要手动重置节点后生效。

    安装后执行脚本

    请输入脚本命令,命令中不能包含中文字符。脚本命令会进行Base64转码。安装前/后执行脚本统一计算字符,转码后的字符总数不能超过10240。

    脚本将在Kubernetes软件安装后执行,不影响Kubernetes软件安装。

    说明:

    修改“安装后执行脚本”后,对新增的节点自动生效,存量节点需要手动重置节点后生效。

    委托

    委托是由租户管理员在统一身份认证服务上创建的。通过委托,可以将云主机资源共享给其他账号,或委托更专业的人或团队来代为管理。

    如果没有委托请单击右侧“新建委托”创建。

    说明:

    修改“委托”后,对新增的节点自动生效,存量节点重置后也不会生效。

    自定义节点名称前后缀

    节点池下的节点名称自定义前后缀,支持配置前缀和后缀。配置完成之后,该节点池下的节点名称将带上配置的前后缀信息。例如前缀为prefix-,后缀为-suffix,那么最终该节点池下的节点名称为prefix-nodepoolName-五位随机数-suffix。

    • 自定义前后缀名称前后缀仅支持创建节点池时指定,不支持修改。
    • 前缀支持以特殊字符结尾,后缀支持以特殊字符开头。
    • 节点名称由三部分组成:前缀+节点池名称-五位随机字符+后缀,总长度不超过56个字符。
    • 节点名称中不支持“.”与特殊字符连用,例如“..”、“.-”、“-.”。
    • 仅v1.28.1、v1.27.3、v1.25.6、v1.23.11、v1.21.12及以上集群版本支持该特性。
    说明:

    修改“自定义节点名称前后缀”后,对新增的节点自动生效,存量节点重置后也不会生效。

  4. 配置完成后,单击“确定”

    节点池参数更新后,前往“节点管理”页面,可查看节点池所属节点存在更新,可通过重置节点同步节点配置,与节点池配置保持一致。