Amazon-Web-Services
容器是否可以在 AWS ECS 中以過載方式放置在 EC2 主機上
我有一個執行多個 tomcat 應用程序和獨立 jar 的實例。如果機器有 2vcpu 和 8GB RAM,單個應用程序可以按需使用資源(基於為 tomcat 和單個 jar 設置的 Xms 和 Xmx 值)。ECS 目前不在圖中。
現在我將把應用程序移動到 EC2 實例上的容器(不是 Fargate)。是否可以有任務定義,其中我指定的 cpu 和記憶體總和大於 EC2 主機的實際 cpu 或 RAM?
因為我不希望所有應用程序在創建任務定義期間都使用 100% 分配給它的記憶體。擁有一個具有 4vcpus 的 ECS 主機並且我在其上放置 10 個任務並在任務定義中指定 4vcpus 是否可行?我知道這些任務不會使用 4vcpu,但我希望如果有任何任務需要使用,它們不應該被限制為使用主機的全部容量
我知道 ECS 具有我計劃使用的擴展功能。但我的目標是確保不會過度配置我用於 ECS 的 EC2 主機數量
簡短的回答是,您可以實現它,但有細微差別。如果您配置任務定義的大小,您將無法過度使用 CPU/記憶體資源。但是,如果您要部署到 EC2,您可以在任務定義中省略任務大小,並假定所有任務都能夠訪問所有主機容量。然後,您可以在各個容器級別微調 CPU/記憶體資源(保證/上限等)。這將允許您過度送出。
更長的答案在這裡。