

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 更新 AWS PCS 计算节点组
<a name="working-with_cng_update"></a>

本主题概述了可用选项，并介绍了更新 AWS PCS 计算节点组时应考虑的事项。有关 Slurm 自定义设置的信息，请参阅。[AWS PCS 计算节点组的自定义 Slurm 设置](slurm-custom-settings-cng.md)

## 更新 AWS PCS 计算节点组的选项
<a name="working-with_cng_update_options"></a>

更新 AWS PCS 计算节点组使您能够更改 AWS PCS 启动的实例的属性以及这些实例的启动规则。例如，您可以将节点组实例的 AMI 替换为另一个安装了不同软件的 AMI。或者，您可以更新安全组以更改入站或出站网络连接。您还可以更改扩展配置和首选购买选项。

以下节点组设置在创建后无法更改：
+ Name
+ 实例

## 更新 AWS PCS 计算节点组时的注意事项
<a name="working-with_cng_update_considerations"></a>

计算节点组定义了用于处理任务、提供交互式外壳访问权限和其他任务的 EC2 实例。它们通常与一个或多 AWS 个 PCS 队列相关联。在更新计算节点组以更改其行为（或其节点的行为）时，请考虑以下几点：
+  当计算节点组状态从 “**更新**” 变为 “活动” 时，对计算节点组属性的更改就会生**效**。使用更新的属性启动新实例。
+  不影响特定节点配置的更新不会影响正在运行的节点。例如，添加子网和更改分配策略。
+  如果您更新计算节点组的启动模板，则必须更新计算节点组才能使用新版本。
+  要在计算节点组的节点中添加或移除安全组，请编辑其启动模板并更新计算节点组。使用更新的安全组集启动新实例。
+  如果您直接编辑计算节点组使用的安全组，则该安全组会立即对正在运行的实例和将来的实例生效。
+  如果您在计算节点组使用的 IAM 实例配置文件中添加或删除权限，它将立即对正在运行的实例和 future 实例生效。
+  要更改计算节点组实例使用的 AMI，请更新计算节点组（或其启动模板）以使用新的 AMI，然后等待 AWS PCS 替换实例。
+  AWS 在节点组更新操作后，PCS 会替换节点组中的现有实例。如果某个节点上正在运行作业，则允许在 AWS PCS 替换该节点之前完成这些作业。交互式用户进程（例如在登录节点实例上）终止。`Active`当 AWS PCS 将实例标记为替换时，节点组状态会恢复为，但实际替换发生在实例空闲时。
+  如果您减少计算节点组中允许的最大实例数， AWS PCS 会从 Slurm 中移除节点以达到新的最大值。 AWS PCS 会终止与已移除的 Slurm 节点关联的正在运行的实例。已移除的节点上正在运行的作业失败并返回其队列。
+  AWS PCS 为每个计算节点组创建托管启动模板。他们被命名`pcs-identifier-do-not-delete`了。创建或更新计算节点组时请勿选择它们，否则节点组将无法正常运行。
+ 如果您更新计算节点组以使用**竞价**作为其购买选项，则您的账户中必须具有**AWSServiceRoleForEC2竞价**服务相关角色。有关更多信息，请参阅 [适用于 AWS PCS 的 Amazon EC2 竞价角色](spot-role.md)。

## 更新 AWS PCS 计算节点组
<a name="working-with_cng_update_update"></a>

您可以使用 AWS 管理控制台或 AWS CLI 更新节点组。

------
#### [ AWS 管理控制台 ]

**更新计算节点组**

1. 打开 AWS PCS 控制台，网址为 `https://console.aws.amazon.com/pcs/home#/clusters`

1. 选择要更新计算节点组的集群。

1. 导航到**计算节点组**，转到要更新的节点组，然后选择**编辑**。

1. 在 “**计算配置****”、“其他设置”** 和 “**Slurm自定义**设置” 部分中，更新除以下值之外的所有值：
   + **实例**-您无法更改计算节点组中的实例。

   有关 Slurm 自定义设置的更多信息，请参阅。[AWS PCS 计算节点组的自定义 Slurm 设置](slurm-custom-settings-cng.md)

1. 选择**更新**。应用更改时，“**状态**” 字段将显示 “正在*更新*”。
**重要**  
计算节点组更新可能需要几分钟时间。

------
#### [ AWS CLI ]

**更新计算节点组**

1. 使用以下命令更新您的计算节点组。在运行命令之前，进行以下替换：

   1. *region-code*替换为您要在其中创建集群的 AWS 区域。

   1. *my-node-group*替换`computeNodeGroupId`为计算节点组的名称或。

   1. *my-cluster*替换为集群`clusterId`的名称或。

   ```
   aws pcs update-compute-node-group --region region-code \
       --cluster-identifier my-cluster \
       --compute-node-group-identifier my-node-group
   ```  
**Example — 使用自定义 Slurm 设置更新计算节点组**  

   ```
   aws pcs update-compute-node-group --region region-code \
       --cluster-identifier my-cluster \
       --compute-node-group-identifier my-node-group \
       --slurm-configuration \
       'slurmCustomSettings=[{parameterName=Features,parameterValue="gpu,nvme"}]'
   ```

   有关更多信息，请参阅 [AWS PCS 计算节点组的自定义 Slurm 设置](slurm-custom-settings-cng.md)。

1. 更新除之外的所有节点组参数`--instance-configs`。例如，要设置新的 AMI ID，请传递用您选择*my-custom-ami-id*的 AMI 替换`--amiId my-custom-ami-id`的位置。

**重要**  
更新计算节点组可能需要几分钟。

您可以使用以下命令查询节点组的状态。

```
aws pcs get-compute-node-group --region region-code \
    --cluster-identifier my-cluster \ 
    --compute-node-group-identifier my-node-group
```

------