
# 轻量算力节点资源热备管理
#### 场景描述
轻量算力节点资源热备需要用户自建k8s集群。对于k8s集群中的机器资源通过打污点的方式，完成资源热备机的处理，从而使业务Pod无法调度到该热备机上。
#### 约束限制
根据下单使用的轻量算力节点资源机器种类和台数不同，推荐您按照下面的表格进行热备机器台数准备。
表1热备机器数量 
| **资源类型\\资源台数** | **小于10台** | **10台-49台** | **50台-99台** | **100台-249台** | **250台-499台** | **500台-749台** | **750台-1000台** | **1000台以上** |
|:---|:---|:---|:---|:---|:---|:---|:---|:---|
| Snt9a          | 0         | 1           | 2           | 3             | 5             | 7             | 10             | 12          |
| Snt9b          | 0         | 1           | 2           | 3             | 4             | 5             | 6              | 10          |
| GP Ant8        | 0         | 1           | 2           | 3             | 5             | 6             | 8              | 12          |
| GP Vnt1        | 0         | 1           | 2           | 3             | 5             | 8             | 10             | 12          |
   
**示例1**：
当购买Snt9b类型的资源台数为6台时，该台数少于10台，因此根据热备机推荐表，此时不需要准备热备机，正常按照6台进行资源购买即可。
**示例2：**
当购买Snt9b类型的资源台数为600台时，该台数位于500至749台区间，因此根据热备机推荐表，此时需要额外准备热备机5台，因此需要按照605台进行资源购买。
#### 前提条件
已购买的轻量算力节点资源中用户已自建k8s集群。
#### 资源热备替换操作
当集群中的业务节点发生硬件故障等需要进行热备替换时，先进行数据备份，再进行故障机打污点和删除热备机污点的方式完成资源热备替换。
1. **数据备份**
   推荐使用rsync工具进行文件备份，rsync是一个强大的文件同步工具，支持本地和远程同步，该工具可以灵活和高效地完成数据备份。
   ```
   rsync -avz -e ssh /source/ user@remote:/destination/
   ```
   将故障机文件备份到热备机上，以backup.txt文件为例。
   ![](https://support.huaweicloud.com/resmgmt-modelarts/figure/zh-cn_image_0000002306966428.png "点击放大")
   以SSH的方式完成备份，备份完成后，可以在新的热备机上查看到该文件。
   ![](https://support.huaweicloud.com/resmgmt-modelarts/figure/zh-cn_image_0000002341046769.png "点击放大")
   
2. **热备替换**
   对发生故障的节点打污点
   ```
   kubectl taint nodes <node-name> dedicated=ops:NoSchedule
   ```
   - \<node-name\>：替换为实际节点名称。
   
   - dedicated=ops：污点的键值对。
   
   - NoSchedule：污点的效果，表示kube-scheduler不会将Pod调度到该节点。
   
   
   确认节点污点标签是否成功。
   ```
   kubectl describe node <node-name> | grep Taints
   ```
   ![](https://support.huaweicloud.com/resmgmt-modelarts/figure/zh-cn_image_0000002341055101.png "点击放大")
   可以看到该节点已成功打上不可调度的标签。
   对进行热备替换的机器去除污点。
   ```
   kubectl taint node <node-name> dedicated=ops:NoSchedule-
   ```
   ![](https://support.huaweicloud.com/resmgmt-modelarts/figure/zh-cn_image_0000002306969232.png "点击放大")
   再次确认污点已去除
   ```
   kubectl describe node <node-name> | grep Taints
   ```
   ![](https://support.huaweicloud.com/resmgmt-modelarts/figure/zh-cn_image_0000002306811172.png "点击放大")
   至此已完成机器的热备替换，替换下来的故障机可以进行正常的维修流程。
   
 
