在 Amazon ECS 最佳化 AMI 上更新 Amazon ECS 容器代理 - Amazon Elastic Container Service

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

在 Amazon ECS 最佳化 AMI 上更新 Amazon ECS 容器代理

若您使用的是 Amazon ECS 最佳化 AMI,您有幾個選項可取得最新版本的 Amazon ECS 容器代理程式 (以下顯示的順序為建議順序):

  • 終止容器執行個體,並啟動最新版本的 Amazon ECS 最佳化 Amazon Linux 2 AMI (以手動方式或使用最新 AMI 更新您的 Auto Scaling 啟動組態)。這可提供全新的容器執行個體,以及最新已測試和驗證的 Amazon Linux、Docker、ecs-init 和 Amazon ECS 容器代理程式的版本。如需詳細資訊,請參閱 Amazon ECS 優化的 Linux AMI

  • 使用 SSH 連線到執行個體,將 ecs-init 套裝服務 (及其相依性) 更新到最新版本。此操作可提供 Amazon Linux 儲存庫中目前經過測試及驗證的 Docker 和 ecs-init 版本,以及最新版 Amazon ECS 容器代理程式。如需詳細資訊,請參閱 若要更新 Amazon ECS 最佳化 AMI 上的 ecs-init 套件

  • 透過主控台或使用或 AWS SDK,透過 UpdateContainerAgent API 作業更新容器代理程式。 AWS CLI 如需詳細資訊,請參閱 使用 UpdateContainerAgent API 操作更新 Amazon ECS 容器代理程式

注意

代理更新不適用於 Windows 容器執行個體。我們建議您啟動新的容器執行個體,以更新您 Windows 叢集中的代理版本。

若要更新 Amazon ECS 最佳化 AMI 上的 ecs-init 套件
  1. 透過 SSH 登入您的容器執行個體。

  2. 使用以下命令更新 ecs-init 套裝服務。

    sudo yum update -y ecs-init
    注意

    ecs-init 套件和 Amazon ECS 容器代理程式會立即更新。但是,直到 Docker 常駐程式重新啟動前,都不會載入較新版本的 Docker。將執行個體重新開機,或在執行個體上執行下列命令,以重新啟動:

    • Amazon ECS 最佳化 Amazon Linux 2 AMI:

      sudo systemctl restart docker
    • Amazon ECS 最佳化 Amazon Linux AMI:

      sudo service docker restart && sudo start ecs

使用 UpdateContainerAgent API 操作更新 Amazon ECS 容器代理程式

重要

僅在 Amazon ECS 最佳化 AMI 的 Linux 變體上支援 UpdateContainerAgent API,但 Amazon ECS 最佳化 Amazon Linux 2 (arm64) AMI 除外。對於使用 Amazon ECS 最佳化 Amazon Linux 2 (arm64) AMI 的容器執行個體,請更新 ecs-init 套件以更新代理程式。針對在其他作業系統上執行的容器執行個體,請參閱「手動更新 Amazon ECS 容器代理程式 (適用於非 Amazon ECS 最佳化 AMI)」。如果您正在使用 Windows 容器執行個體,我們建議您啟動新的容器執行個體,以更新您 Windows 叢集中的代理程式版本。

當您透過主控台或使用或 AWS SDK 要求代理程式更新時,UpdateContainerAgentAPI 程序便會開始。 AWS CLI Amazon ECS 會根據最新可用的代理程式版本檢查您目前的代理程式版本,以及是否可以進行更新。若無法取得更新 (例如若代理已在執行最近的版本),便會傳回 NoUpdateAvailableException

上圖顯示更新程序中的階段如下:

PENDING

有可用的代理更新,並已啟動更新程序。

STAGING

代理已開始下載代理更新。若代理無法下載更新,或更新的內容不正確或已損毀,則代理會傳送失敗的通知,且更新的狀態會轉換成 FAILED 狀態。

STAGED

代理下載已完成並已驗證代理內容。

UPDATING

ecs-init 服務已重新啟動,並使用最新版本的代理。若代理程式因為某些原因無法重新啟動,則更新會轉換為 FAILED 狀態;否則,代理程式會通知 Amazon ECS 更新已完成。

注意

代理更新不適用於 Windows 容器執行個體。我們建議您啟動新的容器執行個體,以更新您 Windows 叢集中的代理版本。

若要在主控台的 Amazon ECS 最佳化 AMI 上更新 Amazon ECS 容器代理程式
  1. 開啟主控台,網址為 https://console.aws.amazon.com/ecs/v2

  2. 從導覽列中選擇註冊外部執行個體所在的區域。

  3. 在導覽窗格中,選擇 Clusters (叢集),然後選取叢集。

  4. Cluster : name (叢集:名稱) 頁面上,選擇 Infrastructure (基礎基礎設施) 索引標籤。

  5. 容器執行個體下,選取要更新的執行個體,然後選擇動作更新代理程式