如何解決 Amazon ECS 中的「[AWS service] was unable to place a task because no container instance met all of its requirements」錯誤?

2 分的閱讀內容
0

我想在 Amazon Elastic Container Service (Amazon ECS) 中放置任務。但是,我收到下列錯誤:「[AWS service] was unable to place a task because no container instance met all of its requirements」。

簡短描述

由於下列其中一或多個原因,您可能會收到此錯誤:

  • 在您的叢集中找不到任何容器執行個體
  • 任務所需的連接埠已在使用中
  • 記憶體不足,無法執行您的任務
  • 您的容器執行個體沒有足夠的 CPU 單位
  • 沒有足夠的可用彈性網路介面連接點
  • 您的容器執行個體遺失必要屬性

如需有關這些問題的詳細資訊,請參閱服務事件訊息

**注意:**如果您沒有收到上述錯誤訊息,請根據您收到的下列其中一則錯誤訊息選擇文章:

解決方法

**注意:**如果您在執行 AWS CLI 命令時收到錯誤,請確定您使用的是最新版本的 AWS CLI

若要解決錯誤,請根據您的使用案例選擇解決方法:

ecs-cli check-attributes --task-def Task_Definition --container-instances Container_Instance --cluster Cluster_Name

注意: 對於 Task_Definition 名稱,輸入您的任務定義名稱。對於 Container_Instance,輸入容器執行個體的名稱。對於 Cluster_Name,輸入叢集的名稱。

  • 您可以將 Amazon ECS 服務設定為在與容器執行個體的子網路不同的子網路上執行。在這種情況下,即使任務因遺失屬性錯誤而失敗,ecs-cli-check-attributes 命令的輸出也會針對遺失屬性顯示。請確定您的服務和容器執行個體的子網路相符。為此,請在容器執行個體所在的子網路中重新建立 Amazon ECS 服務。如需詳細資訊,請參閱任務定義參數Amazon ECS 容器代理程式組態

例如,如果您執行下列命令:

ecs-cli check-attributes --task-def task:1 --container-instances 650cf1df296749e1bce1b9e0cebb588a --cluster test-cluster

輸出看起來類似於:

Container Instance  Missing Attributes
tes-cluster         None

如需詳細資訊,請執行命令:

ecs-cli --help

相關資訊

Amazon ECS 任務聯網

服務限流邏輯

AWS 官方
AWS 官方已更新 1 年前