Amazon ECS 服務參數的最佳實務 - Amazon Elastic Container Service

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

Amazon ECS 服務參數的最佳實務

為了確保沒有應用程式停機時間,部署程序如下所示:

  1. 啟動新的應用程式容器,同時讓現有容器保持執行。

  2. 檢查新容器是否正常運作。

  3. 停止舊容器。

根據您的部署組態和叢集中可用、未預留的空間量,可能需要多回合才能完成以新任務取代所有舊任務。

您可以使用兩種服務組態選項來修改號碼:

  • minimumHealthyPercent:100% (預設)

    部署期間,您的服務必須保持 RUNNING 狀態的任務數量下限。這是desiredCount四捨五入到最接近整數的百分比。此參數可讓您部署 ,而無需使用額外的叢集容量。

  • maximumPercent:200% (預設)

    部署期間,在 RUNNINGPENDING 狀態中允許的 服務任務數量上限。這是四desiredCount捨五入到最接近整數的百分比。

範例:預設組態選項

請考慮下列具有六個任務的服務,部署在總共有八個任務空間的叢集中。預設的服務組態選項不允許部署低於六個所需任務的 100%。

部署程序如下所示:

  1. 目標是取代六個任務。

  2. 排程器會啟動兩個新任務,因為預設設定需要有六個執行中的任務。

    現在有六個現有任務和兩個新任務。

  3. 排程器會停止兩個現有的任務。

    現在有四個現有任務和兩個新的任務。

  4. 排程器會啟動兩個額外的新任務。

    現在有四個現有任務和四個新任務。

  5. 排程器會關閉兩個現有的任務。

    現在有兩個現有任務和四個新的任務。

  6. 排程器會啟動兩個額外的新任務。

    現在有兩個現有任務和六個新任務

  7. 排程器會關閉最後兩個現有的任務。

    現在有六個新任務。

在上述範例中,如果您使用選項的預設值,則會有 2.5 分鐘的等待時間,等待每個新任務開始。此外,負載平衡器可能需要等待 5 分鐘,舊任務才能停止。

範例:修改 minimumHealthyPercent

您可以將 minimumHealthyPercent值設定為 50%,以加速部署。

請考慮下列具有六個任務的服務,部署在總共有八個任務空間的叢集中。部署程序如下所示:

  1. 目標是取代六個任務。

  2. 排程器會停止三個現有的任務。

    仍有三個現有任務正在執行,符合 minimumHealthyPercent值。

  3. 排程器會啟動五個新任務。

    有三個現有任務任務和五個新任務。

  4. 排程器會停止剩餘的三個現有任務。

    有五個新任務

  5. 排程器會啟動最終的新任務。

    有六個新任務。

範例:修改叢集可用空間

您也可以新增額外的可用空間,以便執行其他任務。

請考慮下列具有六個任務的服務,部署在總共有十個任務空間的叢集中。部署程序如下所示:

  1. 目標是取代現有的任務。

  2. 排程器會停止三個現有的任務,

    有三個現有任務。

  3. 排程器會啟動六個新任務。

    現有任務和六個新任務

  4. 排程器會停止三個現有的任務。

    有六個新任務。

建議

當您的任務閒置一段時間且沒有高使用率時,請針對服務組態選項使用下列值。

  • minimumHealthyPercent:50%

  • maximumPercent:200%