操作场景
本章介绍了如何添加运行节点池以及对节点池执行操作。要了解节点池的工作原理,请参阅节点池概述。
约束与限制
- 节点弹性伸缩功能需要安装autoscaler插件。
- 仅按需计费支持节点弹性伸缩,包年/包月计费模式不支持弹性伸缩。
- 仅1.19及以上版本集群支持自定义安全组。
操作步骤
步骤 1 登录CCE控制台。
步骤 2 单击集群名称进入集群,在左侧选择“节点管理”,在右侧选择“节点池”页签。
步骤 3 单击右上角“创建节点池”。
基础配置
表 基础配置
参数 | 参数说明 |
---|---|
节点池名称 | 新建节点池的名称,默认按“集群名-nodepool-随机数”生成名称,可自定义。 |
节点数量 | 创建节点池时,创建节点的数量。 |
弹性伸缩 | 默认不开启。 包年/包月不支持弹性伸缩,仅按需支持。 开启弹性扩缩容功能要求安装AutoScaler插件。单击开启后,节点池将根据集群负载情况自动创建或删除节点池内的节点,参数设置如下: 节点数上限和节点数下限:您可设置节点数的上限和下限,保证节点数在合理的范围内伸缩。 节点池优先级:请根据业务需要设置相应数值,该数值表示节点池之间进行扩容的优先级,数值越大优先级越高,如设置为4的节点池比设置为1的节点池优先启动扩容。 若多个节点池的值设置相同,如都设置为2,表示这几个节点池之间不分优先级,系统将按最小资源浪费原则进行扩容。说明弹性扩容时CCE将按照如下策略来选择节点池进行扩容: 1. 通过预判算法判断节点池是否能满足让Pending的Pod正常调度的条件,包括节点资源大于Pod的request值、nodeSelect、nodeAffinity和taints等是否满足Pod正常调度的条件;另外还会过滤掉扩容失败(因为资源不足等原因)还处于15min冷却时间的节点池。 2. 有多个节点池满足条件时,判断节点池设置的优先级(优先级默认值为0,取值范围为0-100,其中100为最高,0为最低),选择优先级最高的节点池扩容。 3. 如果有多个节点池处于相同的优先级,或者都没有配置优先级时,通过最小浪费原则,根据节点池里设置的虚拟机规格,计算刚好能满足Pending的Pod正常调度,且浪费资源最少的节点池。 4. 如果还是有多个节点池的虚拟机规格都一样,只是AZ不同,那么会随机选择其中一个节点池触发扩容。 弹性缩容冷却时间:请设置时间,单位为分钟或小时。 弹性缩容冷却时间是指当前节点池扩容出的节点多长时间不能被缩容。 节点池中配置的缩容冷却时间和autoscaler插件中配置的缩容冷却时间之间的影响和关系如下: 节点池配置的缩容冷却时间弹性缩容冷却时间:当前节点池扩容出的节点多长时间不能被缩容,作用范围为节点池级别。 autoscaler插件配置的缩容冷却时间扩容后缩容冷却时间:autoscaler触发扩容后(不可调度、指标、周期策略等场景)整个集群多长时间内不能被缩容,作用范围为集群级别。节点删除后缩容冷却时间:autoscaler触发缩容后整个集群多长时间内不能继续缩容,作用范围为集群级别。 缩容失败后缩容冷却时间:autoscaler触发缩容失败后整个集群多长时间内不能继续缩容,作用范围为集群级别。说明节点池中的节点建议不要放置重要数据,以防止节点被弹性缩容,数据无法恢复。 |
计算配置 :
配置节点云主机的规格与操作系统,为节点上的容器应用提供基本运行环境。
表 计算配置参数
参数 | 参数说明 |
---|---|
计费模式 | 支持如下两种计费方式。 包年包月包年包月需要选择购买时长。 按需计费 |
可用区 | 节点云主机所在的可用区,集群下节点创建在不同可用区下可以提高可靠性。创建后不可修改。建议您选择“随机分配”,可根据选择的节点规格随机分配一个可以使用的可用区。可用区是在同一区域下,电力、网络隔离的物理区域,可用区之间内网互通,不同可用区之间物理隔离。如果您需要提高工作负载的高可靠性,建议您将云服务器创建在不同的可用区。 |
节点类型 | CCE集群支持弹性云主机ECS和物理机。 |
容器引擎 | CCE集群支持Docker,1.23起CentOS、Ubuntu支持Containerd。 |
节点规格 | 请根据业务需求选择相应的节点规格。 |
操作系统 | 选择操作系统类型,不同类型节点支持的操作系统有所不同。具体请参见支持的节点规格。 公共镜像:请选择节点对应的操作系统。 |
登录方式 | 密码用户名默认为“root”,请输入登录节点的密码,并确认密码。 登录节点时需要使用该密码,请妥善管理密码,系统无法获取您设置的密码内容。 密钥对选择用于登录本节点的密钥对,支持选择共享密钥。密钥对用于远程登录节点时的身份认证。若没有密钥对,可单击选项框右侧的“创建密钥对”来新建。 |
存储配置 :
配置节云主机上的存储资源,方便节点上的容器软件与容器应用使用。请根据实际场景设置磁盘大小。
表 存储配置参数
参数 | 参数说明 |
---|---|
系统盘 | 节点云主机使用的系统盘,供操作系统使用。 您可以设置系统盘的规格为40GB-1024GB之间的数值,缺省值为50GB。 加密:数据盘加密功能可为您的数据提供强大的安全防护,加密磁盘生成的快照及通过这些快照创建的磁盘将自动继承加密功能。 目前仅在部分Region显示此选项,具体以界面为准。 默认不加密。 点选“加密”后,可在弹出的“加密设置”对话框中,选择已有的密钥,若没有可选的密钥,请单击后方的链接创建新密钥,完成创建后单击刷新按钮。 |
数据盘 | 节点云主机使用的数据盘,供容器运行时和Kubelet组件使用。 您可以设置数据盘的规格为100GB-32768GB之间的数值,缺省值为100GB。 至少需要一块数据盘,供容器运行时和Kubelet组件使用,该数据盘不能被删除卸载,否则会导致节点不可用。 单击后方的“展开高级设置”可进行如下设置: 自定义空间分配:勾选后可定义容器运行时在数据盘上占用的空间比例,容器运行时的空间用于存放容器运行时工作目录、容器镜像数据以及镜像元数据。数据盘空间分配详细说明请参见数据盘空间分配说明。 加密:数据盘加密功能可为您的数据提供强大的安全防护,加密磁盘生成的快照及通过这些快照创建的磁盘将自动继承加密功能。目前仅在部分Region显示此选项,具体以界面为准。 − 默认不加密。 − 点选“加密”后,可在弹出的“加密设置”对话框中,选择已有的密钥,若没有可选的密钥,请单击后方的链接创建新密钥,完成创建后单击刷新按钮。 添加多个数据盘最多可以添加4个,默认情况直接创建为裸盘,不做任何处理。您也可以展开高级配置,选择如下配置。 默认:默认情况直接创建为裸盘,不做任何处理。 挂载到指定目录:将数据盘挂载到指定目录。 作为持久存储卷:适用于对PV有性能要求的场景。持久存储卷的节点会添加上node.kubernetes.io/local-storage-persistent标签,取值为linear或striped。 作为临时存储卷:适用于对EmptyDir有性能要求的场景。说明持久存储卷和临时存储卷仅在集群版本 >= v1.21.2-r0 时支持创建,且临时存储卷需要Everest插件版本>=1.2.29,持久存储卷需要Everest插件版本>=1.2.31。持久存储卷和临时存储卷支持如下两种写入模式。 线性(linear):线性逻辑卷是将一个或多个物理卷整合为一个逻辑卷,实际写入数据时会先往一个基本物理卷上写入,当存储空间占满时再往另一个基本物理卷写入。 条带化(striped):创建逻辑卷时指定条带化,当实际写入数据时会将连续数据分成大小相同的块,然后依次存储在多个物理卷上,实现数据的并发读写从而提高读写性能。条带化模式的存储池不支持扩容。多块存储卷才能选择条带化。 本地盘说明 节点规格为“磁盘增强型”或“超高I/O型”时,有一块数据盘可以是本地盘。本地磁盘实例有宕机风险,不保证数据可靠性,建议您使用云硬盘存储您的业务数据。 |
网络配置 :
配置节点云主机的网络资源,用于访问节点和容器应用。
表 网络配置参数
参数 | 参数说明 |
---|---|
节点子网 | 节点子网默认使用创建集群时的子网配置,也可以选择其他子网。 |
关联安全组 | 指定节点池创建出来的节点使用哪个安全组。最多选择5个安全组。 创建集群时会默认创建一个节点安全组,名称为**{集群名}-cce-node-{随机ID}** ,默认会使用该安全组。 节点安全组需要放通一些端口以保障节点通信,如选择其他安全组,需要放通这些端口。 |
高级配置 :
节点能力增强,可在此配置节点的标签、污点、启动命令等功能。
表 高级配置参数
参数 | 参数说明 |
---|---|
K8S标签 | 单击“添加标签”可以设置附加到Kubernetes 对象(比如Pods)上的键值对,最多可以添加10条标签使用该标签可区分不同节点,可结合工作负载的亲和能力实现容器Pod调度到指定节点的功能。详细请参见Labels and Selectors。 |
资源标签 | 通过为资源添加标签,可以对资源进行自定义标记,实现资源的分类。 CCE服务会自动帮您创建CCE-Dynamic-Provisioning-Node=节点id的标签。 |
污点(Taints) | 默认为空。 支持给节点加Taints来设置反亲和性,每个节点最多配置10条Taints,每条Taints包含以下3个参数: Key:必须以字母或数字开头,可以包含字母、数字、连字符、下划线和点,最长63个字符;另外可以使用DNS子域作为前缀。 Value:必须以字符或数字开头,可以包含字母、数字、连字符、下划线和点,最长63个字符。 Effect:只可选NoSchedule,PreferNoSchedule或NoExecute。Taints的使用请参见[管理节点污点tain。说明对于1.19及以下版本集群,有可能会出现污点打上之前负载已经调度到节点上,如果需要避免这种情况,请选择1.19及以上集群。 |
最大实例数 | 节点最大可以正常运行的实例数(Pod),该数量包含系统默认实例,取值范围为16~256。 该设置的目的为防止节点因管理过多实例而负载过重,请根据您的业务需要进行设置。 节点最多能创建多少个Pod还受其他因素影响,具体请参见节点最多可以创建多少个Pod。 |
云主机组 | 云主机组是对云主机的一种逻辑划分,同一云主机组中的云主机遵从同一策略。 反亲和性策略:同一云主机组中的云主机分散地创建在不同主机上,提高业务的可靠性。 选择已创建的云服务器组,或单击“新建云服务器组”创建,创建完成后单击刷新按钮。 |
安装前执行脚本 | 请输入脚本命令,大小限制为0~1000字符。 脚本将在Kubernetes软件安装前执行,可能导致Kubernetes软件无法正常安装,需谨慎使用。 |
安装后执行脚本 | 请输入脚本命令,大小限制为0~1000字符。 脚本将在Kubernetes软件安装后执行,不影响Kubernetes软件安装。 |
委托 | 委托是由租户管理员在统一身份认证服务上创建的。 通过委托,可以将云主机资源共享给其他帐号,或委托更专业的人或团队来代为管理。 如果没有委托请单击右侧“新建委托”创建。 |
步骤 4 单击“下一步:规格确认”,确认已阅读并知晓服务协议。
步骤 5 单击“提交”。