本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 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) 以激活更改。例如,如果您要在 SlurmQueues/ComputeResources/ - Name/MinCount > 0 的情况下使用 Slurm 调度器,则会启动一个计算实例集。
- 更新策略:必须停止计算队列和登录节点,才能更改此设置以进行更新。
-
当计算队列存在或登录节点正在使用时,无法更改这些设置。要么必须恢复更改,要么必须停止计算队列和登录节点(可以使用停止计算队列pcluster update-compute-fleet)。停止计算队列和登录节点后,您可以更新集群 (pcluster update-cluster) 以激活更改。
- 更新策略:更新期间不能减小此设置。
-
这些设置可以更改,但不能减小。如果必须减小这些设置,您必须还原原始集群的设置,并使用更新的设置创建一个新集群。您可以在将来删除原始集群。要创建新集群,请使用 pcluster create-cluster。要删除原始集群,请使用 pcluster delete-cluster。
- 更新策略:如果更改此设置,则不允许更新。如果您强制更新,则将忽略新值并使用旧值。
-
更改此设置后,无法更新集群。您必须还原原始集群的设置,并使用更新的设置创建一个新集群。您可以在将来删除原始集群。要创建新集群,请使用 pcluster create-cluster。要删除原始集群,请使用 pcluster delete-cluster。
- 更新策略:必须停止计算实例集或必须设置 QueueUpdateStrategy 才能更改此设置以进行更新。
-
可以更改这些设置。必须停止计算实例集(使用 pcluster update-compute-fleet),或者必须设置 QueueUpdateStrategy。停止计算实例集或设置 QueueUpdateStrategy 后,您可以更新集群 (pcluster update-cluster) 以激活更改。
注意
从 3.2.0 AWS ParallelCluster 版开始支持此更新政策。
- 更新策略:对于此列表值设置,可以在更新期间添加新值,或者在删除现有值时必须停止计算实例集。
-
可以在更新期间为这些设置添加新值。向列表中添加新值后,可以使用 (pcluster update-cluster) 更新集群。
要从列表中删除现有值,必须停止计算实例集(使用 pcluster update-compute-fleet)。
例如,如果您正在使用Slurm调度程序并向 Instances/ 添加新的实例类型InstanceType,则可以在不停止计算队列的情况下更新集群。要从 Instances/ 中移除现有实例类型InstanceType,必须先停止计算队列(使用 pcluster)。 update-compute-fleet
注意
从 3.2.0 AWS ParallelCluster 版开始支持此更新政策。
- 更新策略:要缩小队列的大小,需要停止计算队列或者QueueUpdateStrategy必须将其设置为 TERMINATE 才能更改此设置以进行更新。
-
可以更改这些设置,但是如果更改会减小队列的大小,则必须停止计算队列(使用 pcluster update-compute-fleet)或QueueUpdateStrategy必须将其设置为 TERMINATION。在计算队列停止或设置QueueUpdateStrategy为终止后,您可以更新集群(pcluster update-cluster)以激活更改。
调整集群容量大小时设置的 TERMINATE 只会从节点列表的后面终止节点,而同一分区的所有其他节点将保持不变。
例如,如果集群的初始容量为
MinCount = 5
和MaxCount = 10
,则节点为st-[1-5]; dy-[1-5]
。将集群大小调整为MinCount = 3
和时MaxCount = 5
,新的集群容量将由节点构成st-[1-3]; dy-[1-2]
,更新期间不会触及这些容量。更新期间st-[4-5]; dy-[3-5]
,只有节点会被终止。支持以下更改,不需要停止计算队列,也不要求将其QueueUpdateStrategy设置为 TERMINATION:
-
添加了一个新SlurmQueue的
-
添加了一个新ComputeResource的
-
MaxCount增加了
-
注意:从 3.9.0 AWS ParallelCluster 版开始支持此更新政策。
-
- 更新策略:对于此列表值设置,必须停止计算实例集或必须设置 QueueUpdateStrategy 才能添加新值;删除现有值时必须停止计算实例集。
-
可以在更新期间为这些设置添加新值。必须停止计算实例集(使用 pcluster update-compute-fleet),或者必须设置 QueueUpdateStrategy。停止计算实例集或设置 QueueUpdateStrategy 后,您可以更新集群 (pcluster update-cluster) 以激活更改。
要从列表中删除现有值,必须停止计算实例集(使用 pcluster update-compute-fleet)。
注意
从 3.3.0 AWS ParallelCluster 版开始支持此更新政策。
- 更新策略:必须停止所有计算节点才能删除托管置放群组。必须停止计算实例集或必须设置 QueueUpdateStrategy 才能更改此设置以进行更新。
-
必须停止计算实例集(使用 pcluster update-compute-fleet)才能删除托管置放群组。如果您在停止计算实例集之前运行集群更新以删除托管置放群组,则会返回一条配置无效消息,并且不会继续更新。停止计算实例集可以保证没有实例在运行。
pcluster update-cluster
示例
可以更改这些设置,但是如果更改会减小队列的大小,则必须停止计算队列(使用 pcluster update-compute-fleet)或QueueUpdateStrategy必须将其设置为 TERMINATION。在计算队列停止或设置QueueUpdateStrategy为终止后,您可以更新集群(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.7.0", "clusterStatus": "UPDATE_IN_PROGRESS" }, "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 --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" } ] }