更新节点池
约束与限制
- 仅v1.19及以上版本的集群支持修改容器引擎、操作系统、系统盘/数据盘大小、数据盘空间分配、安装前/后执行脚本配置。
- 修改节点池、容器引擎、操作系统、安装前/后执行脚本时,修改后的配置仅对新增节点生效,存量节点如需同步配置,需要手动重置存量节点。
- 修改节点池系统盘/数据盘大小、数据盘空间分配则仅对新增节点生效,即使重置存量节点也无法同步配置。
- 修改K8s标签和污点数据会根据“存量节点标签及污点”开关状态决定是否自动同步已有节点,无需重置节点。
更新节点池
- 登录CCE控制台。
- 单击集群名称进入集群,在左侧选择“节点管理”,在右侧选择“节点池”页签。
- 单击节点池名称后的“更新”,在弹出的“更新节点池”页面中配置参数。
基础配置
表1 基础配置 参数
参数说明
节点池名称
自定义节点池名称。
期望节点数量
请根据业务需求调整节点个数。
节点配置表2 节点配置参数 参数
参数说明
容器引擎
CCE支持Docker和Containerd容器引擎,不同的集群类型、集群版本、操作系统可能导致支持的容器引擎类型不同,请根据控制台呈现进行选择。具体场景请参见节点操作系统与容器引擎对应关系。
说明:修改“容器引擎”配置后,对新增的节点自动生效,存量节点需要手动重置节点后生效。
操作系统
选择操作系统类型,不同类型节点支持的操作系统有所不同。- 公共镜像:请选择节点对应的操作系统。
- 私有镜像:支持使用私有镜像。
说明:- 由于业务容器运行时共享节点的内核及底层调用,为保证兼容性,建议节点的操作系统选择与最终业务容器镜像相同或接近的Linux发行版本。
- 修改“操作系统”配置后,对新增的节点自动生效,存量节点需要手动重置节点后生效。
存储配置表3 存储配置参数 参数
参数说明
系统盘
节点云服务器使用的系统盘,供操作系统使用。您可以设置系统盘的规格为40GB-1024GB之间的数值,缺省值为50GB。
说明:修改系统盘“规格”配置时,仅对新增节点生效,存量节点即使重置也无法同步配置。
数据盘
至少需要一块数据盘,供容器运行时和Kubelet组件使用,该数据盘不能被删除卸载,否则会导致节点不可用。
- 第一块数据盘:供容器运行时和Kubelet组件使用。您可以自行设置数据盘的规格为20GB-32768GB之间的数值,缺省值为100GB。
- 其他数据盘,您可以设置数据盘的规格为10GB-32768GB之间的数值,缺省值为100GB。
说明:修改数据盘“规格”配置时,仅对新增节点生效,存量节点即使重置也无法同步配置。
高级配置
单击后方的“展开高级设置”可进行如下设置:
- 数据盘空间分配:对数据盘上存在的容器引擎、镜像、临时存储等进行空间划分,避免因磁盘空间不足导致业务异常。数据盘空间分配详细说明请参见数据盘空间分配说明。
说明:
修改“数据盘空间分配”配置时,仅对新增节点生效,存量节点即使重置也无法同步配置。
增加数据盘
最多可以添加4个,默认情况直接创建为裸盘,不做任何处理。您也可以展开高级配置,选择如下配置。
- 默认:默认情况直接创建为裸盘,不做任何处理。
- 挂载到指定目录:将数据盘挂载到指定目录。
- 作为持久存储卷:适用于对PV有性能要求的场景。持久存储卷的节点会添加上node.kubernetes.io/local-storage-persistent标签,取值为linear或striped。
- 作为临时存储卷:适用于对EmptyDir有性能要求的场景。
本地盘说明
节点规格为“磁盘增强型”或“超高I/O型”时,有一块数据盘可以是本地盘。
本地磁盘实例有宕机风险,不保证数据可靠性,建议您使用云硬盘存储您的业务数据。
高级配置表4 高级配置 参数
参数说明
K8S标签(Labels)
设置附加到Kubernetes对象(比如Pod)上的键值对,填写键值对后,单击“确认添加”。最多可以添加20条标签。
使用该标签可区分不同节点,可结合工作负载的亲和能力实现容器Pod调度到指定节点的功能。详细请参见Labels and Selectors。
说明:修改“K8s标签”后,对新增的节点自动生效,节点池下的存量节点会根据“存量节点标签及污点”开关状态决定是否同步更新。
K8S污点(Taints)
默认为空。支持给节点加污点来设置反亲和性,每个节点最多配置20条污点,每条污点包含以下3个参数:- Key:必须以字母或数字开头,可以包含字母、数字、连字符、下划线和点,最长63个字符;另外可以使用DNS子域作为前缀。
- Value:必须以字符或数字开头,可以包含字母、数字、连字符、下划线和点,最长63个字符。
- Effect:只可选NoSchedule,PreferNoSchedule或NoExecute。
污点的使用请参见管理节点污点(Taint)。
说明:修改“污点(Taints)”后,对新增的节点自动生效,节点池下的存量节点会根据“存量节点标签及污点”开关状态决定是否同步更新。
存量节点标签及污点
勾选后,更新节点池的K8s标签及污点时,会将节点池配置中的K8s标签或污点修改同步至节点池中已有的节点。
说明:节点池更新时,如果修改“同步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转码。
脚本将在Kubernetes软件安装前执行,可能导致Kubernetes软件无法正常安装,需谨慎使用。
说明:修改“安装前执行脚本”后,对新增的节点自动生效,存量节点需要手动重置节点后生效。
安装后执行脚本
请输入脚本命令,命令中不能包含中文字符。脚本命令会进行Base64转码。
脚本将在Kubernetes软件安装后执行,不影响Kubernetes软件安装。
说明:修改“安装后执行脚本”后,对新增的节点自动生效,存量节点需要手动重置节点后生效。
- 配置完成后,单击“确定”。
节点池参数更新后,前往“节点管理”页面,可查看节点池所属节点存在更新,可通过重置节点同步节点配置,与节点池配置保持一致。