本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
在 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 AMIs。 -
使用 SSH 連線到執行個體,將
ecs-init
套裝服務 (及其相依性) 更新到最新版本。此操作可提供 Amazon Linux 儲存庫中目前經過測試及驗證的 Docker 和ecs-init
版本,以及最新版 Amazon ECS 容器代理程式。如需詳細資訊,請參閱若要更新 Amazon ECS 最佳化 AMI 上的 ecs-init 套件。 -
使用
UpdateContainerAgent
API 操作更新容器代理程式,無論是透過 主控台,或是使用 AWS CLI AWS SDKs 如需詳細資訊,請參閱使用 UpdateContainerAgent API 操作更新 Amazon ECS 容器代理程式。
注意
代理更新不適用於 Windows 容器執行個體。我們建議您啟動新的容器執行個體,以更新您 Windows 叢集中的代理版本。
若要更新 Amazon ECS 最佳化 AMI 上的 ecs-init
套件
-
透過 SSH 登入您的容器執行個體。
-
使用以下命令更新
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 CLI AWS SDKs 請求代理程式更新時,UpdateContainerAgent
API 程序就會開始。Amazon ECS 會根據最新的可用代理程式版本檢查您目前的代理程式版本,以及是否可以更新。若無法取得更新 (例如若代理已在執行最近的版本),便會傳回 NoUpdateAvailableException
。
上圖顯示更新程序中的階段如下:
PENDING
-
有可用的代理更新,並已啟動更新程序。
STAGING
-
代理已開始下載代理更新。若代理無法下載更新,或更新的內容不正確或已損毀,則代理會傳送失敗的通知,且更新的狀態會轉換成
FAILED
狀態。 STAGED
-
代理下載已完成並已驗證代理內容。
UPDATING
-
ecs-init
服務已重新啟動,並使用最新版本的代理。若代理程式因為某些原因無法重新啟動,則更新會轉換為FAILED
狀態;否則,代理程式會通知 Amazon ECS 更新已完成。
注意
代理更新不適用於 Windows 容器執行個體。我們建議您啟動新的容器執行個體,以更新您 Windows 叢集中的代理版本。
若要在主控台的 Amazon ECS 最佳化 AMI 上更新 Amazon ECS 容器代理程式
開啟主控台,網址為 https://console.aws.amazon.com/ecs/v2
。 -
從導覽列中選擇註冊外部執行個體所在的區域。
-
在導覽窗格中,選擇 Clusters (叢集),然後選取叢集。
-
在 Cluster :
name
(叢集:名稱) 頁面上,選擇 Infrastructure (基礎基礎設施) 索引標籤。 -
在容器執行個體下,選取要更新的執行個體,然後選擇動作、更新代理程式。