创建节点池
操作场景
本章介绍了如何添加运行节点池以及对节点池执行操作。要了解节点池的工作原理,请参阅节点池概述。
操作步骤
- 登录CCE控制台。
- 单击集群名称进入集群,在左侧选择“节点管理”,在右侧选择“节点池”页签。
- 单击右上角“创建节点池”。
基础配置
表1 基础配置 参数
参数说明
节点池名称
新建节点池的名称,默认按“集群名-nodepool-随机数”生成名称,可自定义。
企业项目
该参数仅对开通企业项目的企业客户账号显示,且集群版本要求v1.21.15-r0、v1.23.14-r0、v1.25.9-r0、v1.27.6-r0、v1.28.4-r0及以上。
选择某企业项目(如:default)后,节点可以通过对应的企业项目进行资源管理,但不支持企业项目管理的权限功能。默认为集群所选的企业项目。
企业项目是一种云资源管理方式,企业项目管理服务提供统一的云资源按项目管理,以及项目内的资源管理、成员管理。
节点配置:
配置节点云服务器的规格与操作系统,为节点上的容器应用提供基本运行环境。表2 节点配置参数 参数
参数说明
节点类型
请根据不同的业务诉求选择节点类型,然后您可以在“节点规格”列表中进一步选择合适的规格。
CCE Standard集群支持以下类型:- 弹性云服务器-虚拟机:使用虚拟化技术的弹性云服务器作为集群节点。
- 弹性云服务器-物理机:使用擎天架构的裸金属服务器作为集群节点。
节点规格
请根据业务需求选择相应的节点规格,不同区域/可用区支持的节点规格不同,请以CCE控制台呈现为准。说明:- 节点池同时配置多个节点规格时,同一节点池仅支持同类型节点规格(可位于不同可用区)。例如,选择“通用计算增强型”的节点池只支持选择该类型下的规格,不支持选择“通用计算型”等其他类型的规格。
- 一个节点池最多可添加 10 种节点规格配置(每个可用区为一条配置)。添加同一个节点规格时,支持选择不同可用区。添加节点规格时需要明确指定可用区,不支持随机可用区。
- 新创建的节点池,仅按照默认规格创建节点,当默认规格资源不足时,会导致节点创建失败。
- 节点池创建后,已存在节点的规格不可删除。
容器引擎
CCE支持Docker和Containerd容器引擎,不同的集群类型、集群版本、操作系统可能导致支持的容器引擎类型不同,请根据控制台呈现进行选择。
操作系统
选择操作系统类型,不同类型节点支持的操作系统有所不同。- 公共镜像:请选择节点对应的操作系统。
- 私有镜像:支持使用私有镜像。
说明:由于业务容器运行时共享节点的内核及底层调用,为保证兼容性,建议节点的操作系统选择与最终业务容器镜像相同或接近的Linux发行版本。
登录方式
- 密码
用户名默认为“root”,请输入登录节点的密码,并确认密码。
登录节点时需要使用该密码,请妥善管理密码,系统无法获取您设置的密码内容。
- 密钥对
选择用于登录本节点的密钥对,支持选择共享密钥。
密钥对用于远程登录节点时的身份认证。若没有密钥对,可单击选项框右侧的“创建密钥对”来新建。
存储配置:
配置节点云服务器上的存储资源,方便节点上的容器软件与容器应用使用。请根据实际场景设置磁盘类型及大小。表3 存储配置参数 参数
参数说明
系统盘
节点云服务器使用的系统盘,供操作系统使用。您可以设置系统盘的规格为40GiB-1024GiB之间的数值,缺省值为50GiB。
数据盘
至少需要一块数据盘,供容器运行时和Kubelet组件使用,该数据盘不能被删除卸载,否则会导致节点不可用。
- 第一块数据盘:供容器运行时和Kubelet组件使用。您可以自行设置数据盘的规格为20GiB-32768GiB之间的数值,缺省值为100GiB。
- 其他数据盘,您可以设置数据盘的规格为10GiB-32768GiB之间的数值,缺省值为100GiB。
说明:- 节点规格为“磁盘增强型”或“超高I/O型”时,有一块数据盘可以是本地盘。
- 本地磁盘实例有宕机风险,不保证数据可靠性,建议您使用云硬盘存储您的业务数据。
高级配置
单击后方的“展开高级设置”可进行如下设置:
- 数据盘空间分配:对数据盘上存在的容器引擎、镜像、临时存储等进行空间划分,避免因磁盘空间不足导致业务异常。数据盘空间分配详细说明请参见数据盘空间分配说明。
- 数据盘加密:数据盘加密功能可为您的数据提供强大的安全防护,加密磁盘生成的快照及通过这些快照创建的磁盘将自动继承加密功能。
- 默认不加密。
- 选择“加密-从密钥中选择”后,可选择已有的密钥,若没有可选的密钥,请单击后方的链接创建新密钥,完成创建后单击刷新按钮。
- 选择“加密-输入KMS密钥ID”后,您需要输入的KMS密钥ID(包含他人共享的KMS密钥),且该密钥必须位于当前Region下。
增加数据盘
弹性云服务器最多可以添加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。
网络配置:
配置节点云服务器的网络资源,用于访问节点和容器应用。表4 网络配置参数 参数
参数说明
虚拟私有云
默认为集群所在VPC,不可修改。
节点子网
节点子网默认使用创建集群时的子网配置,也可以选择其他子网。
- 多个子网:可选择同一VPC下的多个子网作为节点可用网段,扩容节点会优先消耗排序靠前的子网IP资源。
- 单个子网:当节点池关联的单个子网IP资源较为紧张时,推荐配置多个子网,否则可能会出现节点池扩容失败的问题。
节点IP
支持随机分配。
关联安全组
指定节点池创建出来的节点使用哪个安全组。最多选择5个安全组。
创建集群时会默认创建一个节点安全组,名称为{集群名}-cce-node-{随机ID},默认会使用该安全组。
节点安全组需要放通一些端口以保障节点通信,如选择其他安全组,需要放通这些端口。
说明:节点池创建完成后,关联安全组不可修改。
高级配置:
节点能力增强,可在此配置节点的标签、污点、启动命令等功能。表5 高级配置参数 参数
参数说明
资源标签
通过为资源添加标签,可以对资源进行自定义标记,实现资源的分类。
您可以在TMS中创建“预定义标签”,预定义标签对所有支持标签功能的服务资源可见,通过使用预定义标签可以提升标签创建和迁移效率。
CCE服务会自动帮您创建CCE-Dynamic-Provisioning-Node=节点id的标签。
K8S标签(Labels)
设置附加到Kubernetes对象(比如Pod)上的键值对,填写键值对后,单击“确认添加”。最多可以添加20条标签。
使用该标签可区分不同节点,可结合工作负载的亲和能力实现容器Pod调度到指定节点的功能。详细请参见Labels and Selectors。
K8S污点(Taints)
默认为空。支持给节点加污点来设置反亲和性,每个节点最多配置20条污点,每条污点包含以下3个参数:- Key:必须以字母或数字开头,可以包含字母、数字、连字符、下划线和点,最长63个字符;另外可以使用DNS子域作为前缀。
- Value:必须以字符或数字开头,可以包含字母、数字、连字符、下划线和点,最长63个字符。
- Effect:只可选NoSchedule,PreferNoSchedule或NoExecute。
污点的使用请参见管理节点污点。
说明:对于1.19及以下版本集群,有可能会出现污点打上之前负载已经调度到节点上,如果需要避免这种情况,请选择1.19及以上集群。
存量节点标签及污点
勾选后,更新节点池的资源标签、K8s标签及污点时,会将节点池配置中的资源标签、K8s标签或污点修改同步至节点池中已有的节点。
新增节点调度策略
节点池中新增节点的默认调度策略。勾选“设置为不可调度”之后,该节点池新增的节点在创建完成之后均会被打上不可调度的标签。以方便用户在工作负载被调度到节点上之前,对节点进行一些操作。
定时开启调度时间:若设置定时开启调度功能,在超过自定义时间后,节点将会自动开启调度。
- 不设置:默认情况下,将不设置超时时间,此时节点需要您前往“节点管理”界面,手动选择节点开启调度,详情请参见一键设置节点调度策略。
- 自定义:该参数可配置节点不可调度的默认超时时间,取值范围为0-99min。
说明:- 如果需要同时使用节点池的自动扩缩容能力,定时开启调度时间应小于15min。因为通过autoscaler扩容的节点如果处于不可调度状态超过15min,autoscaler会认为本次扩容失败,触发再次扩容。同时,原节点处于不可调度状态超过20min,节点将被列入缩容备选节点,被autoscaler缩容。
- 开启该开关后,节点池的创建/更新过程中,节点会被打上node.cloudprovider.kubernetes.io/uninitialized的污点。
最大实例数
节点最大可以正常运行的实例数(Pod),该数量包含系统默认实例。
该设置的目的为防止节点因管理过多实例而负载过重,请根据您的业务需要进行设置。
节点最多能创建多少个Pod还受其他因素影响,具体请参见节点可创建的最大Pod数量说明。
云服务器组
云服务器组是对云服务器的一种逻辑划分,同一云服务器组中的云服务器遵从同一策略。
反亲和性策略:同一云服务器组中的云服务器分散地创建在不同主机上,提高业务的可靠性。
选择已创建的云服务器组,或单击“新建云服务器组”创建,创建完成后单击刷新按钮。
安装前执行脚本
请输入脚本命令,命令中不能包含中文字符。脚本命令会进行Base64转码。安装前/后执行脚本统一计算字符,转码后的字符总数不能超过10240。
脚本将在Kubernetes软件安装前执行,可能导致Kubernetes软件无法正常安装,需谨慎使用。
安装后执行脚本
请输入脚本命令,命令中不能包含中文字符。脚本命令会进行Base64转码。安装前/后执行脚本统一计算字符,转码后的字符总数不能超过10240。
脚本将在Kubernetes软件安装后执行,不影响Kubernetes软件安装。
说明:请不要在安装后执行脚本中使用reboot命令立即重启,如果需要重启,可以使用shutdown -r 1命令延迟1分钟重启。
委托
委托是由租户管理员在统一身份认证服务上创建的。通过委托,可以将云主机资源共享给其他账号,或委托更专业的人或团队来代为管理。
如果没有委托请单击右侧“新建委托”创建。
自定义节点名称前后缀
节点池下的节点名称自定义前后缀,支持配置前缀和后缀。配置完成之后,该节点池下的节点名称将带上配置的前后缀信息。例如前缀为prefix-,后缀为-suffix,那么最终该节点池下的节点名称为prefix-nodepoolName-五位随机数-suffix。
须知:- 自定义前后缀名称前后缀仅支持创建节点池时指定,不支持修改。
- 前缀支持以特殊字符结尾,后缀支持以特殊字符开头。
- 节点名称由三部分组成:前缀+节点池名称-五位随机字符+后缀,总长度不超过56个字符。
- 节点名称中不支持“.”与特殊字符连用,例如“..”、“.-”、“-.”。
- 仅v1.28.1、v1.27.3、v1.25.6、v1.23.11、v1.21.12及以上集群版本支持该特性。
- 单击“下一步:规格确认”。
- 单击“提交”。