使用 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排程器的 SlurmQueues/ComputeResources/-Name/MinCount> 0,則會啟動計算叢集。

更新原則:必須停止計算叢集和登入節點,才能變更此設定以進行更新。

當運算叢集存在或登入節點正在使用中時,無法變更這些設定。必須還原變更,或者必須停止運算叢集和登入節點 (可以使用停止運算叢集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排程器並將新的執行個體類型新增至 Instance/InstanceType,則可以更新叢集而不必停止運算叢集。若要從執行個體/移除現有的執行個體類型InstanceType,必須先停止運算叢集 (使用 pcluster)。 update-compute-fleet

注意

此更新政策從 3.2.0 AWS ParallelCluster 版開始受到支援。

更新原則:減少佇列的大小需要停止運算叢集,或者QueueUpdateStrategy必須設定為「終止」,才能變更此設定以進行更新。

您可以變更這些設定,但是如果變更會減少佇列的大小,則必須停止運算叢集 (使用 pcluster update-compute-fleet),或者QueueUpdateStrategy必須設定為「終止」。在計算叢集停止或設定QueueUpdateStrategy為「終止」之後,您可以更新叢集 (pcluster 更新叢集以啟動變更。

調整叢集容量大小時設定的「終止」設定,只會從節點清單的背面終止節點,而且不會影響同一個分割區的所有其他節點。

例如,如果叢集初始容量為MinCount = 5MaxCount = 10,則節點為st-[1-5]; dy-[1-5]。將叢集大小調整為MinCount = 3和時MaxCount = 5,新的叢集容量將由節點組成st-[1-3]; dy-[1-2],這些節點在更新期間將不會觸及。只st-[4-5]; dy-[3-5]有節點會在更新期間終止。

支援下列變更,且不需要停止運算叢集,也不需要將其QueueUpdateStrategy設定為「終止」:

更新原則:對於此清單值設定,必須停止運算叢集,或者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必須設定為「終止」。在計算叢集停止或設定QueueUpdateStrategy為「終止」之後,您可以更新叢集 (pcluster 更新叢集以啟動變更。

  • 這個範例會示範包含一些允許變更的更新,而且會直接啟動更新。

    $ 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" ] } ] }
  • 這個範例會示範包含一些允許變更的 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" } ] }