当前位置: 首页 > 面试题库 >

运行任务时出现AWS ECS错误:在集群中未找到容器实例

邹德泽
2023-03-14
问题内容

我正在尝试将docker容器映像部署AWS使用ECS,但未创建EC2实例。我在互联网上搜寻了有关为什么收到以下错误的解释:

“调用RunTask操作时发生客户端错误(InvalidParameterException):在群集中未找到容器实例。”

这是我的步骤:

1.将Docker映像从Ubuntu推送到我的Amazon ECS存储库。

2.注册了ECS任务定义:

aws ecs register-task-definition --cli-input-json file://path/to/my-task.json

3.处理任务:

aws ecs run-task --task-definition my-task

然而,它失败了。

这是我的任务:

{
  "family": "my-task",
  "containerDefinitions": [
    {
        "environment": [],
        "name": "my-container",
        "image": "my-namespace/my-image",
        "cpu": 10,
        "memory": 500,
        "portMappings": [
            {
                "containerPort": 8080,
                "hostPort": 80
            }
        ],
        "entryPoint": [
            "java",
            "-jar",
            "my-jar.jar"
        ],
        "essential": true
    }
  ]
}

我也尝试过使用管理控制台来配置集群和服务,但是却遇到了同样的错误。如何将群集配置为具有ec2实例,我需要使用哪种容器实例?
我以为整个过程都是从创建EC2实例开始的!


问题答案:

经过几个小时的调查,我发现了这一点。亚马逊,如果您正在侦听,则在创建集群或向集群添加实例时,应在管理控制台中的某个位置声明以下内容:

“在将ECS实例添加到群集之前,必须首先转到EC2管理控制台并创建ecs- optimized具有AmazonEC2ContainerServiceforEC2Role附加了策略的IAM角色的实例”

这是一个难题:

1.转到您的EC2仪表板,然后单击Launch Instance按钮。

2.在下Community AMIs,搜索ecs-optimized,然后选择最适合您的项目需求的一种。任何都可以。点击下一步。

3.当您进入配置实例详细信息时,单击,create new IAM role link然后创建一个名为的新角色ecsInstanceRole

4.将AmazonEC2ContainerServiceforEC2Role策略附加到该角色。

5.然后,完成ECS实例的配置。
注意: 如果要创建Web服务器,则需要创建一个securityGroup以允许访问端口80。

几分钟后,实例初始化并运行后,您可以刷新“ ECS实例”选项卡,您也尝试添加实例。



 类似资料:
  • docker错误: PS C:\Windows\System32>docker运行测试错误:出现JNI错误,请检查线程“main”java.lang.noClassDeffounderRorr:javax/JMSException在java.lang.Class.GetDeclaredMethods0(本机方法)在java.lang.Class.GetDeclaredMethods(class.j

  • 我正在尝试在一个大约14 GB数据的文件夹上运行Spark MLlib朴素贝叶斯算法。(当我在一个6 GB的文件夹上运行任务时没有任何问题)我正在从google storage读取这个文件夹作为RDD并给出32作为分区参数(我也尝试增加分区)。然后利用TF生成特征向量并在此基础上进行预测。但当我试图在这个文件夹上运行它时,它每次都抛给我ExecutorLostFailure。我尝试了不同的配置,但

  • 我是robolectric新手,我只想运行简单测试。 我使用Android Studio=>Gradle 如何找到错误的真正源头?零点异常在哪里?

  • 注: 内容翻译自 Run etcd clusters inside containers 下列指南展示如何使用 static bootstrap process 来用rkt和docker运行 etcd 。 rkt 运行单节点 etcd 下列 rkt 运行命令将在端口 2379 上暴露 etcd 客户端API,而在端口 2380上暴露伙伴API。 当配置 etcd 时使用 host IP地址。 ex