使用 pcluster update-cluster - AWS ParallelCluster

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

使用 pcluster update-cluster

在AWS ParallelCluster 3.x 中,pcluster update-cluster分析用于创建当前集群的设置以及配置文件中的设置是否存在问题。如果发现任何问题,则会报告这些问题,并显示修复问题所采取的步骤。例如,如果更改了计算 InstanceType,则必须先停止计算队列,然后才能继续更新。发现此问题时会报告该问题。如果未发现任何阻塞问题,则启动更新过程并报告更改。

pcluster update-cluster--dryrun option运行更改之前,您可以使用查看更改。有关更多信息,请参阅pcluster update-cluster 示例

有关故障排除指南,请参阅AWS ParallelCluster 故障排除

更新政策:定义

更新策略:可以在更新期间更改此设置。

更改此设置后,可以使用更新集群pcluster update-cluster

更新策略:如果更改此设置,则不允许更新。

更改此设置后,集群无法更新。您必须恢复原始集群的设置,并使用更新的设置创建一个新集群。您可以稍后删除原始集群。要创建新集群,请使用pcluster create-cluster。要删除原始集群,请使用pcluster delete-cluster

更新策略:更新期间不分析此设置。

可以更改这些设置,也可以使用更新集群pcluster update-cluster

更新策略:必须停止计算队列才能更改此设置以进行更新。

当计算队列存在时,无法更改这些设置。要么必须恢复更改,要么必须停止计算队列(使用pcluster update-compute-fleet)。计算队列停止后,您可以更新集群 (pcluster update-cluster) 以激活更改。例如,如果您使用的Slurm调度程序为//-SlurmQueuesComputeResourcesName/MinCount> 0,则计算队列将启动。

更新政策:此设置在更新期间无法降低。

这些设置可以更改,但不能降低。如果必须降低这些设置,则必须恢复原始集群的设置并使用更新后的设置创建新集群。您可以稍后删除原始集群。要创建新集群,请使用pcluster create-cluster。要删除原始集群,请使用pcluster delete-cluster

更新策略:要将队列的大小减小到当前节点数以下,需要先停止计算队列。

这些设置可以更改,但如果更改会将队列大小减小到当前大小以下,则必须停止计算队列(使用pcluster update-compute-fleet)。计算队列停止后,您可以更新集群 (pcluster update-cluster) 以激活更改。

更新策略:减少队列中静态节点的数量需要先停止计算队列。

这些设置可以更改,但如果更改会使队列中的静态节点数量减少到当前大小以下,则必须停止计算队列(使用pcluster update-compute-fleet)。计算队列停止后,您可以更新集群 (pcluster update-cluster) 以激活更改。

更新策略:如果更改此设置,则不允许更新。如果您强制更新,则新值将被忽略并使用旧值。

更改此设置后,集群无法更新。您必须恢复原始集群的设置,并使用更新的设置创建一个新集群。您可以稍后删除原始集群。要创建新集群,请使用pcluster create-cluster。要删除原始集群,请使用pcluster delete-cluster

更新策略:必须停止计算队列或设置计算队列QueueUpdateStrategy才能更改此设置才能进行更新。

这些设置可以更改。要么必须停止(使用pcluster update-compute-fleet)计算队列,QueueUpdateStrategy要么必须设置计算队列。计算队列停止或QueueUpdateStrategy设置后,您可以更新集群 (pcluster update-cluster) 以激活更改。

注意

AWS ParallelCluster版本 3.2.0 及更高版本

更新策略:对于此列表值设置,可以在更新期间添加新值,或者在删除现有值时必须停止计算队列。

可以在更新期间为这些设置添加新值。向列表添加新值后,可以使用 (pcluster update-cluster) 更新集群。

要从列表中删除现有值,必须停止计算队列(使用pcluster update-compute-fleet)。

例如,如果您使用Slurm调度程序并将新队列添加到中 SlurmQueues,则可以在不停止计算队列的情况下更新集群。要从中移除现有队列 SlurmQueues,必须先停止计算队列(使用pcluster update-compute-fleet)。

注意

AWS ParallelCluster版本 3.2.0 及更高版本

更新策略:对于此列表值设置,必须停止计算队列或QueueUpdateStrategy设置计算队列以添加新值;删除现有值时必须停止计算队列。

可以在更新期间为这些设置添加新值。要么必须停止(使用pcluster update-compute-fleet)计算队列,QueueUpdateStrategy要么必须设置计算队列。计算队列停止或QueueUpdateStrategy设置后,您可以更新集群 (pcluster update-cluster) 以激活更改。

要从列表中删除现有值,必须停止计算队列(使用pcluster update-compute-fleet)。

注意

AWS ParallelCluster版本 3.2.0 及更高版本

更新政策:必须停止所有计算节点才能删除托管置放群组。必须停止计算队列或QueueUpdateStrategy设置计算队列才能更改此设置以进行更新。

必须停止(使用pcluster update-compute-fleet)计算队列才能删除托管置放群组。如果您在停止计算队列之前运行集群更新以删除托管置放群组,则会返回无效的配置消息,并且更新无法继续。停止计算队列可确保没有实例在运行。

pcluster update-cluster 示例

  • 此示例演示了包含一些允许更改的更新,更新是直接启动的。

    $ pcluster update-cluster --cluster-name cluster_name --cluster-config ~/.parallelcluster/test_cluster --region us-east-1 { "cluster": { "clusterName": cluster_name, "cloudformationStackStatus": "UPDATE_IN_PROGRESS", "cloudformationStackArn": stack_arn, "region": "us-east-1", "version": "3.5.1", "clusterStatus": "UPDATE_IN_PROGRESS" }, "changeSet": [ { "parameter": "HeadNode.Networking.AdditionalSecurityGroups", "requestedValue": [ "sg-0cd61884c4ad11234" ], "currentValue": [ "sg-0cd61884c4ad16341" ] } ] }
  • 此示例演示了包含一些允许更改的 dryrun 更新。Dryrun 可用于在不开始更新的情况下报告更改集。

    $ pcluster update-cluster --cluster-name cluster_name --cluster-config ~/.parallelcluster/test_cluster --region us-east-1 --dryrun true { "message": "Request would have succeeded, but DryRun flag is set.", "changeSet": [ { "parameter": "HeadNode.Networking.AdditionalSecurityGroups", "requestedValue": [ "sg-0cd61884c4ad11234" ], "currentValue": [ "sg-0cd61884c4ad16341" ] } ] }
  • 此示例演示了包含一些阻止更新的更改的更新。

    $ pcluster update-cluster --cluster-name cluster_name --cluster-config ~/.parallelcluster/test_cluster --region us-east-1 { "message": "Update failure", "updateValidationErrors": [ { "parameter": "HeadNode.Ssh.KeyName", "requestedValue": "mykey_2", "message": "Update actions are not currently supported for the 'KeyName' parameter. Restore 'KeyName' value to 'jenkinsjun'. If you need this change, please consider creating a new cluster instead of updating the existing one.", "currentValue": "mykey_1" }, { "parameter": "Scheduling.SlurmQueues[queue1].ComputeResources[queue1-t2micro].InstanceType", "requestedValue": "c4.xlarge", "message": "All compute nodes must be stopped. Stop the compute fleet with the pcluster update-compute-fleet command", "currentValue": "t2.micro" }, { "parameter": "SharedStorage[ebs1].MountDir", "requestedValue": "/my/very/very/long/shared_dir", "message": "Update actions are not currently supported for the 'MountDir' parameter. Restore 'MountDir' value to '/shared'. If you need this change, please consider creating a new cluster instead of updating the existing one.", "currentValue": "/shared" } ], "changeSet": [ { "parameter": "HeadNode.Networking.AdditionalSecurityGroups", "requestedValue": [ "sg-0cd61884c4ad11234" ], "currentValue": [ "sg-0cd61884c4ad16341" ] }, { "parameter": "HeadNode.Ssh.KeyName", "requestedValue": "mykey_2", "currentValue": "mykey_1" }, { "parameter": "Scheduling.SlurmQueues[queue1].ComputeResources[queue1-t2micro].InstanceType", "requestedValue": "c4.xlarge", "currentValue": "t2.micro" }, { "parameter": "SharedStorage[ebs1].MountDir", "requestedValue": "/my/very/very/long/shared_dir", "currentValue": "/shared" } ] }