# 重置节点
#### 操作场景
您可以通过重置节点修改节点的配置，比如修改节点操作系统、登录方式等。
重置节点会重装节点操作系统，并重新安装节点上Kubernetes软件。如果您在使用过程中修改了节点上的配置等操作导致节点不可用，可以通过重置节点进行修复。
#### 约束与限制
- v1.13及以上版本的CCE Standard集群、CCE Turbo集群支持重置节点。
- v1.15及以上版本的鲲鹏集群支持重置节点。
 
#### 注意事项
- 重置节点功能不会重置控制节点，仅能对工作节点进行重置操作，如果重置后节点仍然不可用，请删除该节点重新创建。
- **重置节点将对节点操作系统进行重置安装，推荐您在重置节点之前为[节点排水](https://support.huaweicloud.com/usermanual-cce/cce_10_0605.html)，将容器优雅驱逐至其他可用节点，同时建议在业务低峰期操作。** 若重置节点时节点上仍有Pod存在，CCE会进行驱逐。如果您的Pod配置了PDB（Pod Disruption Budget，即[干扰预算](https://kubernetes.io/zh/docs/tasks/run-application/configure-pdb/)），可能会导致驱逐失败，此时将在等待一段时间后强制重置节点。
- **节点重置后，系统盘和数据盘将会被清空，如有重要数据请事先备份。**
  如果节点上存在挂载设置为"挂载到指定目录"或"作为持久存储卷"的数据盘，可通过开启**保留数据盘** 开关，在重置时保留这些数据盘中的数据（**但系统盘和默认数据盘仍会被清空**）。该功能仅支持v1.29.15-r90、v1.30.14-r90、v1.31.14-r50、v1.32.13-r20、v1.33.12-r0、v1.34.8-r0、v1.35.5-r0、v1.36.1-r10及以上版本的集群。
  节点磁盘挂载类型与数据盘的保留情况如下：
   
  | 磁盘类型                     | 挂载设置      | 保留数据盘开关开启          |
  |:---|:---|:---|
  | 系统盘                     | -        | 不保留                 |
  | 默认数据盘（供容器运行时和Kubelet组件使用） | -        | 不保留                |
  | 普通数据盘                   | 默认         | 不保留挂载信息，数据本身不丢失 |
  | 普通数据盘                   | 挂载到指定目录  | 保留               |
  | 普通数据盘                   | 作为持久存储卷 | 保留                |
  | 普通数据盘                   | 作为临时存储卷   | 不保留               |
     
  
- **如果工作节点在ECS侧自行挂载了数据盘（未使用LVM，直接将裸盘用于数据存储），则在重置节点前需先卸载该磁盘。节点重置后，原有的挂载信息将被清除，需重新在ECS侧为该节点挂载原数据盘，数据本身不会丢失** **。**
- 节点上的工作负载实例的IP会发生变化，但是不影响容器网络通信。
- 操作过程中，后台会把当前节点设置为不可调度状态。
- 节点重置会清除用户单独添加的 K8S 标签和污点（通过节点池编辑功能添加的标签、污点不会丢失），可能导致与节点有绑定关系的资源（本地存储，指定调度节点的负载等）无法提供服务。对于默认节点池节点，重置节点配置页面的高级配置处会主动识别可能属于用户添加的标签、污点并自动填入以快捷配置，但仍请您确认自动填入的标签污点是否符合预期，如有不符，请手动调整。
- 重置节点会导致与节点关联的[本地持久卷](https://support.huaweicloud.com/usermanual-cce/cce_10_0391.html)类型的PVC/PV数据丢失，无法恢复，且PVC/PV无法再正常使用。重置节点时使用了本地持久存储卷的Pod会从重置的节点上驱逐，并重新创建Pod，Pod会一直处于pending状态，因为Pod使用的PVC带有节点标签，由于冲突无法调度成功。节点重置完成后，Pod可能调度到重置好的节点上，此时Pod会一直处于creating状态，因为PVC对应的底层逻辑卷已经不存在了。
 
#### 重置DefaultPool中的节点
1. 登录[CCE控制台](https://console.huaweicloud.com/cce2.0/?#/cce/cluster/list)，单击集群名称进入集群。
2. 在集群控制台左侧导航栏中选择"节点管理"，切换至"节点"页签。
3. 在节点列表中选择一个或多个DefaultPool中的节点，单击"更多 \> 重置节点"。
4. 配置节点参数。 
   **计算配置**
   表1计算配置参数 
   | 参数    | 参数说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
   |:---|:---|
   | 节点规格 | 重置节点时不支持修改节点规格。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
   | 容器运行时（原容器引擎）       | CCE支持Docker和Containerd容器运行时，不同的集群类型、集群版本、操作系统可能导致支持的容器运行时类型不同，请根据控制台呈现进行选择。具体场景请参见[节点操作系统与容器运行时对应关系](https://support.huaweicloud.com/usermanual-cce/cce_10_0462.html#cce_10_0462__section159298451879)。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
   | 操作系统  | 选择操作系统类型，不同类型节点支持的操作系统有所不同。 - 公共镜像：请选择节点对应的操作系统。 说明： Ubuntu 24.04镜像依赖的插件版本为：Everest 2.5.93、NPD 1.19.86、Volcano 1.22.40、NVIDIA GPU 2.17.1及以上版本。   - 私有镜像：支持使用私有镜像，私有镜像制作方法具体请参见[制作CCE节点自定义镜像](https://support.huaweicloud.com/bestpractice-cce/cce_bestpractice_00026.html)。  - 共享镜像：可选择其他人已共享的私有镜像。裸金属服务器、物理机节点支持。   说明： 由于业务容器运行时共享节点的内核及底层调用，为保证兼容性，建议节点的操作系统选择与最终业务容器镜像相同或接近的Linux发行版本。 |
   | cgroup版本         | v1.31及以上版本的集群中，使用Ubuntu 22.04操作系统支持选择cgroup版本。 采用cgroup v2时，对于部分直接采集cgroup文件系统的软件，可能存在兼容性问题。详情请参见[将节点迁移到cgroup v2](https://support.huaweicloud.com/usermanual-cce/cce_10_1136.html)。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
   | 安全加固            | 等保加固会对身份鉴别、访问控制、安全审计、入侵防范、恶意代码防范进行检查并加固。详情请参见[Huawei Cloud EulerOS 2.0等保2.0三级版镜像概述](https://support.huaweicloud.com/productdesc-hce/hce_sec_0001.html)。 集群版本为v1.23.12-r0、v1.25.7-r0、v1.27.4-r0、v1.28.2-r0及以上时支持该配置。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
   | 登录方式 | - **密码** 用户名默认为"root"，请输入登录节点的密码，并确认密码。 登录节点时需要使用该密码，请妥善管理密码，系统无法获取您设置的密码内容。   - **密钥对** 选择用于登录本节点的密钥对，其中私有密钥对仅限本用户使用，账户密钥对账户下其他用户也可使用。 密钥对用于远程登录节点时的身份认证。若没有密钥对，可单击选项框右侧的"创建密钥对"来新建，创建密钥对操作步骤请参见[创建密钥对](https://support.huaweicloud.com/usermanual-ecs/zh-cn_topic_0014250631.html)。   - **使用镜像密码** （当节点类型为弹性云服务器虚拟机或物理机，且操作系统选择私有镜像时支持） 保留所选择镜像的密码。为了保证您的正常使用，请确保所选择镜像中已经设置了密码。            |
      
   **存储配置**
   配置节点云服务器上的存储资源，方便节点上的容器软件与容器应用使用。
   表2存储配置参数 
   | 参数        | 参数说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
   |:---|:---|
   | 系统盘     | 直接使用云服务器的系统盘。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
   | 保留数据盘              | 开启后，挂载设置为指定目录或作为持久存储卷的普通数据盘的数据将被保留。该功能仅支持v1.29.15-r90、v1.30.14-r90、v1.31.14-r50、v1.32.13-r20、v1.33.12-r0、v1.34.8-r0、v1.35.5-r0、v1.36.1-r10及以上版本的集群。 注意： 无论是否开启保留数据盘功能，系统组件（容器运行时和 Kubelet 组件）使用的默认数据盘和挂载设置为临时存储卷的普通数据盘将会被清空，挂载设置为默认的普通数据盘的数据均会被保留。详情请参见[节点磁盘挂载类型与数据盘的保留情况说明]。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
   | 选择默认数据盘 | 选择一块供容器运行时和Kubelet组件使用的数据盘。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
   | 系统组件存储 | 选择系统组件的存储位置： - 数据盘：必须添加一块默认数据盘，供容器运行时和Kubelet组件使用。该数据盘不能被卸载，否则会导致节点不可用。  - 系统盘：CCE将下载的镜像、容器的临时存储、容器的stdout标准输出日志等资源都存储在系统盘中，过多占用系统盘可能影响节点运行稳定性。   说明： v1.23.18-r0、v1.25.13-r0、v1.27.10-r0、v1.28.8-r0、v1.29.4-r0及以上版本的集群中支持选择系统组件的存储位置，且配套使用[CCE节点故障检测](https://support.huaweicloud.com/usermanual-cce/cce_10_0132.html)插件时需安装1.19.2及以上版本的插件。                                                                                                                                                                                                                                                                                                                                                                                    |
   | 数据盘    | - 如果"系统组件存储"选择"数据盘"，**至少需要添加一块默认数据盘** ，供容器运行时和Kubelet组件使用，**该数据盘不能被卸载，否则会导致节点不可用。**v1.23.18-r0、v1.25.13-r0、v1.27.10-r0、v1.28.8-r0、v1.29.4-r0以下版本的集群支持。  - 如果"系统组件存储"选择"系统盘"，则可以不添加默认数据盘。所有数据盘均为普通数据盘。v1.23.18-r0、v1.25.13-r0、v1.27.10-r0、v1.28.8-r0、v1.29.4-r0及以上版本的集群支持。   单击"展开高级配置"可设置数据盘空间分配，对数据盘上存在的容器运行时、镜像、临时存储等进行空间划分，避免因磁盘空间不足导致业务异常。数据盘空间分配详细说明请参见[默认数据盘空间分配说明](https://support.huaweicloud.com/usermanual-cce/cce_10_0341.html)。 **其他数据盘** 默认情况直接创建为裸盘，不做任何处理。您也可以展开高级配置，将磁盘挂载到指定目录。另外还可以作为持久存储卷或临时存储卷，具体使用请参见[本地持久卷](https://support.huaweicloud.com/usermanual-cce/cce_10_0391.html)和[本地临时卷](https://support.huaweicloud.com/usermanual-cce/cce_10_0726.html)。 |
      
   **高级配置**
   表3高级配置参数 
   | 参数             | 参数说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
   |:---|:---|
   | 资源标签          | 通过为资源添加标签，可以对资源进行自定义标记，实现资源的分类。最多可以添加15条资源标签。 您可以在TMS中创建"预定义标签"，预定义标签对所有支持标签功能的服务资源可见，通过使用预定义标签可以提升标签创建和迁移效率。具体请参见[创建预定义标签](https://support.huaweicloud.com/usermanual-tms/zh-cn_topic_0144368884.html)。 CCE服务会自动帮您创建CCE-Dynamic-Provisioning-Node=节点id的标签。                                                                                                                                                                                                                                        |
   | K8S标签（Labels） | 单击"添加标签"可以设置附加到Kubernetes 对象（比如Pods）上的键值对，最多可以添加20条标签。 使用该标签可区分不同节点，可结合工作负载的亲和能力实现容器Pod调度到指定节点的功能。详细请参见[Labels and Selectors](https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/)。                                                                                                                                                                                                                                                                                                                                     |
   | K8S污点（Taints） | 默认为空。支持给节点加污点来设置反亲和性，每个节点最多配置20条污点，每条污点包含以下3个参数： - Key：必须以字母或数字开头和结尾，可以包含字母、数字、连字符、下划线和点，最长63个字符；另外可以使用DNS子域作为前缀。  - Value：必须以字母或数字开头和结尾，可以包含字母、数字、连字符、下划线和点，最长63个字符。  - Effect：只可选NoSchedule，PreferNoSchedule或NoExecute。   说明： 污点配置时需要配合Pod的toleration使用，否则可能导致扩容失败或者Pod无法调度到扩容节点。 |
   | 最大实例数        | 节点最大可以正常运行的实例数(Pod)，该数量包含系统默认实例，取值范围为16\~256。 该设置的目的为防止节点因管理过多实例而负载过重，请根据您的业务需要进行设置。                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
   | 安装前执行脚本      | 请输入脚本命令，命令中不能包含中文字符。脚本命令会进行Base64转码。安装前/后执行脚本统一计算字符，转码后的字符总数不能超过10240。 脚本将在Kubernetes软件安装前执行，可能导致Kubernetes软件无法正常安装，需谨慎使用。                                                                                                                                                                                                                                                                                                                                                                                                                    |
   | 安装后执行脚本    | 请输入脚本命令，命令中不能包含中文字符。脚本命令会进行Base64转码。安装前/后执行脚本统一计算字符，转码后的字符总数不能超过10240。 脚本将在Kubernetes软件安装后执行，不影响Kubernetes软件安装。安装后脚本执行期间，Pod可以正常调度，但如果脚本执行安装超时，会导致节点安装失败，这种情况下，您可以选择"勾选后，安装后执行脚本执行完成前节点不可调度"，避免将Pod调度到安装后脚本未执行完成的节点上。 注意： 请不要在安装后执行脚本中使用**reboot** 命令立即重启，如果需要重启，可以使用**shutdown -r 1**命令延迟1分钟重启。                                                                                                                                                                                                                                             |
      
   
   
5. 单击"下一步：规格确认"。
6. 阅读使用说明并勾选确认，单击"提交"。
 
#### 重置节点池中的节点
![](https://support.huaweicloud.com/usermanual-cce/public_sys-resources/note_3.0-zh-cn.png)
- 重置节点池中的节点时，仅可修改节点的存储配置，其余配置将使用节点池参数。
- 重置节点会执行当前节点池中的安装前和安装后脚本，并将安全组更新为节点池的安全组配置。
 
1. 登录[CCE控制台](https://console.huaweicloud.com/cce2.0/?#/cce/cluster/list)，单击集群名称进入集群。
2. 在集群控制台左侧导航栏中选择"节点管理"，切换至"节点"页签。
3. 在节点列表中选择一个节点池中的节点，单击"更多 \> 重置节点"。
4. 修改节点存储参数。 
   表4存储配置参数 
   | 参数     | 参数说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
   |:---|:---|
   | 系统盘     | 直接使用云服务器的系统盘。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
   | 保留数据盘  | 开启后，挂载设置为指定目录或作为持久存储卷的普通数据盘的数据将被保留。该功能仅支持v1.29.15-r90、v1.30.14-r90、v1.31.14-r50、v1.32.13-r20、v1.33.12-r0、v1.34.8-r0、v1.35.5-r0、v1.36.1-r10及以上版本的集群。 注意： 无论是否开启保留数据盘功能，系统组件（容器运行时和 Kubelet 组件）使用的默认数据盘和挂载设置为临时存储卷的普通数据盘将会被清空，挂载设置为默认的普通数据盘的数据均会被保留。详情请参见[节点磁盘挂载类型与数据盘的保留情况说明]。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
   | 选择默认数据盘 | 选择一块数据盘供容器运行时和Kubelet组件使用。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
   | 系统组件存储 | 选择系统组件的存储位置： - 数据盘：必须添加一块默认数据盘，供容器运行时和Kubelet组件使用。该数据盘不能被卸载，否则会导致节点不可用。  - 系统盘：CCE将下载的镜像、容器的临时存储、容器的stdout标准输出日志等资源都存储在系统盘中，过多占用系统盘可能影响节点运行稳定性。   说明： v1.23.18-r0、v1.25.13-r0、v1.27.10-r0、v1.28.8-r0、v1.29.4-r0及以上版本的集群中支持选择系统组件的存储位置，且配套使用[CCE节点故障检测](https://support.huaweicloud.com/usermanual-cce/cce_10_0132.html)插件时需安装1.19.2及以上版本的插件。                                                                                                                                                                                                                                                                                                                          |
   | 数据盘      | 对每块数据盘进行高级配置。 **默认数据盘** ：单击"展开高级配置"可设置数据盘空间分配，对数据盘上存在的容器运行时、镜像、临时存储等进行空间划分，避免因磁盘空间不足导致业务异常。数据盘空间分配详细说明请参见[默认数据盘空间分配说明](https://support.huaweicloud.com/usermanual-cce/cce_10_0341.html)。 **其他普通数据盘**：单击"展开高级配置"，可选择挂载设置。 - 默认：挂载为裸盘，不做任何设置。  - 挂载到指定目录：将数据盘挂载到业务目录路径，不可设置为空或根目录等操作系统关键路径。  - 作为持久存储卷：将数据盘作为持久存储卷供PVC使用，具体使用请参见[本地持久卷](https://support.huaweicloud.com/usermanual-cce/cce_10_0391.html)。  - 作为临时存储卷：将数据盘作为临时存储卷供PVC使用，具体使用请参见[本地临时卷](https://support.huaweicloud.com/usermanual-cce/cce_10_0726.html)。   |
      
   
   
5. 阅读使用说明并勾选确认，单击"确定"。
 
#### 批量重置节点说明
不同场景下，批量重置节点的情况不同，具体场景如下：
| 批量重置场景           | 是否支持批量重置 | 说明                                                                          |
|:---|:---|:---|
| 批量重置DefaultPool中的节点 | 部分场景支持      | 当节点规格、AZ、磁盘配置相同时支持批量重置 当节点规格、AZ、磁盘配置不同时不支持批量重置 |
| 批量重置同一节点池中的节点    | 部分场景支持    | 当节点磁盘配置相同时支持批量重置 当节点磁盘配置不同时不支持批量重置            |
| 批量重置不同节点池中的节点      | 不支持          | 不同节点池的节点无法一起重置                                                               |
   
#### 常见问题
#### 找不到未分区磁盘导致重置节点失败
**问题现象**
重置节点失败，提示找不到未分区磁盘，报错内容如下：
```
disk /dev/vda has been partition, will skip this device\nRaw disk /dev/vdb has been partition, will skip this device\nwarning: selector can not match any evs volume
```
![](https://support.huaweicloud.com/usermanual-cce/zh-cn_image_0000002595644329.png "点击放大")
**问题根因**
报错中提示/dev/vda和/dev/vdb磁盘均被分区，节点选择数据盘时会跳过已分区磁盘，导致重置失败。
进入对应节点查看磁盘信息：
```
lsblk
```
![](https://support.huaweicloud.com/usermanual-cce/zh-cn_image_0000002564965026.png)
确认是否存在可用于CCE节点数据盘的磁盘。如上图所示，vda被分区为vda1，vdb被分区为vdb1。由于CCE选盘逻辑会跳过已分区的磁盘，导致节点选盘失败，最终重置失败。
**解决方案**
清理原磁盘分区后，重试节点重置。
![](https://support.huaweicloud.com/usermanual-cce/public_sys-resources/caution_3.0-zh-cn.png)
清理磁盘分区会导致磁盘数据清空，请确认影响和风险后谨慎执行。
运行 **fdisk** **\<数据盘名称\>** 命令，再输入"d"，输入分区编号，输入"w"保存。
运行结果示例如下：
![](https://support.huaweicloud.com/usermanual-cce/zh-cn_image_0000002595604389.png "点击放大")
#### 节点磁盘属性（数量、容量等）发生变化，不支持开启保留数据盘功能
**问题现象**
节点重置时不支持开启保留数据盘功能，提示"节点磁盘属性（数量、容量等）发生变化，不支持开启保留数据盘功能"。
**问题根因**
用户在ECS侧对磁盘进行挂载、卸载或扩缩容，例如将磁盘从40G扩容至60G，无法使用保留数据盘功能。
**解决方案**
该场景下不支持开启保留数据盘功能，如确实需要保留数据盘，只能将需要保留数据的磁盘卸载后重置节点。
