重置节点
操作场景
您可以通过重置节点修改节点的配置,比如修改节点操作系统、登录方式等。
重置节点会重装节点操作系统,并重新安装节点上Kubernetes软件。如果您在使用过程中修改了节点上的配置等操作导致节点不可用,可以通过重置节点进行修复。
约束与限制
- v1.13及以上版本的CCE Standard集群、CCE Turbo集群支持重置节点。
- v1.15及以上版本的鲲鹏集群支持重置节点。
注意事项
- 重置节点功能不会重置控制节点,仅能对工作节点进行重置操作,如果重置后节点仍然不可用,请删除该节点重新创建。
- 重置节点将对节点操作系统进行重置安装,推荐您在重置节点之前为节点排水,将容器优雅驱逐至其他可用节点,同时建议在业务低峰期操作。
- 节点重置后系统盘和数据盘将会被清空,如有重要数据请事先备份。
- 工作节点如在ECS侧自行挂载了数据盘,重置完后会清除挂载信息,重置完成后请重新执行挂载行为,数据不会丢失。
- 节点上的工作负载实例的IP会发生变化,但是不影响容器网络通信。
- 云硬盘必须有剩余配额。
- 操作过程中,后台会把当前节点设置为不可调度状态。
- 节点重置会清除用户单独添加的 K8S 标签和污点(通过节点池编辑功能添加的标签、污点不会丢失),可能导致与节点有绑定关系的资源(本地存储,指定调度节点的负载等)无法提供服务。
- 重置节点会导致与节点关联的本地持久卷类型的PVC/PV数据丢失,无法恢复,且PVC/PV无法再正常使用。重置节点时使用了本地持久存储卷的Pod会从重置的节点上驱逐,并重新创建Pod,Pod会一直处于pending状态,因为Pod使用的PVC带有节点标签,由于冲突无法调度成功。节点重置完成后,Pod可能调度到重置好的节点上,此时Pod会一直处于creating状态,因为PVC对应的底层逻辑卷已经不存在了。
重置DefaultPool中的节点
- 登录CCE控制台,单击集群名称进入集群。
- 在集群控制台左侧导航栏中选择“节点管理”,切换至“节点”页签。
- 在节点列表中选择一个或多个DefaultPool中的节点,单击“更多 > 重置节点”。
- 在弹出的窗口中单击“下一步”,跳转到参数配置界面。
- 配置节点参数。
计算配置
表1 计算配置参数 参数
参数说明
节点规格
重置节点时不支持修改节点规格。
容器引擎
CCE支持Docker和Containerd容器引擎,不同的集群类型、集群版本、操作系统可能导致支持的容器引擎类型不同,请根据控制台呈现进行选择。具体场景请参见节点操作系统与容器引擎对应关系。
操作系统
选择操作系统类型,不同类型节点支持的操作系统有所不同。- 公共镜像:请选择节点对应的操作系统。
- 私有镜像:支持使用私有镜像,私有镜像制作方法具体请参见制作CCE节点自定义镜像。
说明:由于业务容器运行时共享节点的内核及底层调用,为保证兼容性,建议节点的操作系统选择与最终业务容器镜像相同或接近的Linux发行版本。
登录方式
- 密码
用户名默认为“root”,请输入登录节点的密码,并确认密码。
登录节点时需要使用该密码,请妥善管理密码,系统无法获取您设置的密码内容。
- 密钥对
选择用于登录本节点的密钥对,支持选择共享密钥。
密钥对用于远程登录节点时的身份认证。若没有密钥对,可单击选项框右侧的“创建密钥对”来新建,创建密钥对操作步骤请参见创建密钥对。
- 使用镜像密码(当节点类型为弹性云服务器虚拟机或物理机,且操作系统选择私有镜像时支持)
保留所选择镜像的密码。为了保证您的正常使用,请确保所选择镜像中已经设置了密码。
存储配置
配置节点云服务器上的存储资源,方便节点上的容器软件与容器应用使用。表2 存储配置参数 参数
参数说明
系统盘
直接使用云服务器的系统盘。
系统组件存储
选择系统组件的存储位置:
- 数据盘:必须添加一块默认数据盘,供容器运行时和Kubelet组件使用,您可以自行设置数据盘的规格为20GiB-32768GiB之间的数值,缺省值为100GiB。该数据盘不能被删除卸载,否则会导致节点不可用。
- 系统盘:CCE将下载的镜像、容器的临时存储、容器的stdout标准输出日志等资源都存储在系统盘中,过多占用系统盘可能影响节点运行稳定性。
说明:v1.23.18-r0、v1.25.13-r0、v1.27.10-r0、v1.28.8-r0、v1.29.4-r0及以上版本的集群中支持选择系统组件的存储位置,且配套使用CCE节点故障检测插件时需安装1.19.2及以上版本的插件。
数据盘
v1.23.18-r0、v1.25.13-r0、v1.27.10-r0、v1.28.8-r0、v1.29.4-r0以下版本的集群中,至少需要一块数据盘,供容器运行时和Kubelet组件使用,该数据盘不能被删除卸载,否则会导致节点不可用。
v1.23.18-r0、v1.25.13-r0、v1.27.10-r0、v1.28.8-r0、v1.29.4-r0及以上版本的集群中,如果“系统组件存储”选择“系统盘”,则可以不添加默认数据盘。
单击后方的“展开高级设置”可设置数据盘空间分配,对数据盘上存在的容器引擎、镜像、临时存储等进行空间划分,避免因磁盘空间不足导致业务异常。数据盘空间分配详细说明请参见默认数据盘空间分配说明。
其他数据盘默认情况直接创建为裸盘,不做任何处理。您也可以展开高级配置,将磁盘挂载到指定目录。另外还可以作为持久存储卷或临时存储卷,具体使用请参见本地持久卷和本地临时卷。
高级配置表3 高级配置参数 参数
参数说明
资源标签
通过为资源添加标签,可以对资源进行自定义标记,实现资源的分类。最多可以添加8条资源标签。
您可以在TMS中创建“预定义标签”,预定义标签对所有支持标签功能的服务资源可见,通过使用预定义标签可以提升标签创建和迁移效率。具体请参见创建预定义标签。
CCE服务会自动帮您创建CCE-Dynamic-Provisioning-Node=节点id的标签。
K8S标签(Labels)
单击“添加标签”可以设置附加到Kubernetes 对象(比如Pods)上的键值对,最多可以添加20条标签。
使用该标签可区分不同节点,可结合工作负载的亲和能力实现容器Pod调度到指定节点的功能。详细请参见Labels and Selectors。
K8S污点(Taints)
默认为空。支持给节点加污点来设置反亲和性,每个节点最多配置20条污点,每条污点包含以下3个参数:- Key:必须以字母或数字开头,可以包含字母、数字、连字符、下划线和点,最长63个字符;另外可以使用DNS子域作为前缀。
- Value:必须以字符或数字开头,可以包含字母、数字、连字符、下划线和点,最长63个字符。
- Effect:只可选NoSchedule,PreferNoSchedule或NoExecute。
须知:- 污点配置时需要配合Pod的toleration使用,否则可能导致扩容失败或者Pod无法调度到扩容节点。
- 节点池创建后可单击列表项的“编辑”修改配置,修改后将同步到节点池下的已有节点。
最大实例数
节点最大可以正常运行的实例数(Pod),该数量包含系统默认实例,取值范围为16~256。
该设置的目的为防止节点因管理过多实例而负载过重,请根据您的业务需要进行设置。
安装前执行脚本
请输入脚本命令,命令中不能包含中文字符。脚本命令会进行Base64转码。
脚本将在Kubernetes软件安装前执行,可能导致Kubernetes软件无法正常安装,需谨慎使用。
安装后执行脚本
请输入脚本命令,命令中不能包含中文字符。脚本命令会进行Base64转码。
脚本将在Kubernetes软件安装后执行,不影响Kubernetes软件安装。
- 单击“下一步:规格确认”,确认已阅读并知晓华为云的镜像免责声明。
- 单击“提交”。
重置节点池中的节点
- 重置节点池中的节点时,仅可修改节点的存储配置,其余配置将使用节点池参数。
- 重置节点会执行当前节点池中的安装前和安装后脚本,并将安全组更新为节点池的安全组配置。
- 登录CCE控制台,单击集群名称进入集群。
- 在集群控制台左侧导航栏中选择“节点管理”,切换至“节点”页签。
- 在节点列表中选择一个节点池中的节点,单击“更多 > 重置节点”。
- 修改节点存储参数。
表4 存储配置参数 参数
参数说明
系统盘
直接使用云服务器的系统盘。
选择默认数据盘
选择一块数据盘供容器运行时和Kubelet组件使用。
数据盘
对每块数据盘进行高级配置。
默认数据盘:单击后方的“展开高级设置”可设置数据盘空间分配,对数据盘上存在的容器引擎、镜像、临时存储等进行空间划分,避免因磁盘空间不足导致业务异常。数据盘空间分配详细说明请参见默认数据盘空间分配说明。
其他普通数据盘:单击后方的“展开高级设置”,可选择挂载设置。
- 单击“确定”。
批量重置节点说明
不同场景下,批量重置节点的情况不同,具体场景如下:
批量重置场景 |
是否支持批量重置 |
说明 |
---|---|---|
批量重置DefaultPool中的节点 |
部分场景支持 |
当节点规格、AZ、磁盘配置相同时支持批量重置 当节点规格、AZ、磁盘配置不同时不支持批量重置 |
批量重置同一节点池中的节点 |
部分场景支持 |
当节点磁盘配置相同时支持批量重置 当节点磁盘配置不同时不支持批量重置 |
批量重置不同节点池中的节点 |
不支持 |
不同节点池的节点无法一起重置 |