使用 pcluster update-cluster - Amazon ParallelCluster
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

使用 pcluster update-cluster

InAmazon ParallelCluster3.x,pcluster update-cluster分析用于创建当前群集的设置和配置文件中的设置以查找问题。如果发现任何问题,将报告这些问题,并显示解决问题所需的步骤。例如,如果计算InstanceType已更改,则必须先停止计算队列,然后才能继续更新。发现此问题时会报告。如果没有发现阻止问题,则启动更新过程并报告更改。

更新策略定义

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

更改此设置后,可以使用pcluster update-cluster.

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

更改此设置后,无法更新集群。要么必须恢复更改或者必须删除集群(使用pcluster delete-cluster),然后创建了一个新集群(使用pcluster create-cluster) 在旧集群的位置。

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

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

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

计算队列存在时,无法更改这些设置。要么必须恢复更改或者必须停止计算队列(使用pcluster update-compute-fleet),已更新(使用pcluster update-cluster),然后创建了一个新的计算队列(使用pcluster update-compute-fleet)。

更新策略:更新期间不能减少此设置。

可更改这些设置,但不能减少。如果必须减少这些设置,则必须删除集群(使用pcluster delete-cluster),然后创建新的集群(使用pcluster create-cluster)。

更新策略:将队列的大小降至低于当前节点数量需要先停止计算队列。

这些设置可以更改,但是如果更改会将队列的大小减小到当前大小以下,则必须停止计算队列(使用pcluster update-compute-fleet),已更新(使用pcluster update-cluster),然后创建了一个新的计算队列(使用pcluster update-compute-fleet)。

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

这些设置可以更改,但是如果更改将队列中的静态节点数量减少到当前大小以下,则必须停止计算队列(使用pcluster update-compute-fleet),已更新(使用pcluster update-cluster),然后创建了一个新的计算队列(使用pcluster update-compute-fleet)。

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

如果现有集群尚未删除,则无法更改这些设置。要么必须恢复更改或者必须删除集群(使用pcluster delete-cluster),然后创建了一个新集群(使用pcluster create-cluster) 在旧集群的位置。

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.1.2", "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" } ] }