【问题标题】:CDK: ecs with aws system managerCDK:带有 aws 系统管理器的 ecs
【发布时间】:2020-12-28 16:08:23
【问题描述】:

我尝试从 AWS System Manager 获取 ECS Fargate 容器的一些参数,但我遇到了一些问题。我的代码是:

secret_value = ssm.StringParameter.from_secure_string_parameter_attributes(
                self,
                "/spark/ssh_pub",
                parameter_name="/spark/ssh_pub",
                version=1
            )

container_sp = fargate_task_definition_sp.add_container(
                "pod-spark-master",
                image=ecs.ContainerImage.from_registry(
                    "xxxxxxxx.dkr.ecr.eu-central-1.amazonaws.com/spark-master:ready-for-test-deployment"),
                health_check=health_check_sp,
                logging=log_config_sp,
                secrets={
                    "SPARK_PUB": ecs.Secret.from_ssm_parameter(secret_value)
                    }
            )

然后我得到这个错误:

jsii.errors.JSIIError: There is already a Construct with name '--spark--ssh_pub' in Stack [sandbox]

有人知道吗?

【问题讨论】:

    标签: python amazon-web-services amazon-ecs aws-cdk aws-systems-manager


    【解决方案1】:

    可能性很小。

    1. CDK 错误
      CDK的问题太多了。报告了类似的错误https://github.com/aws/aws-cdk/issues/8603。所以它可能是一个CDK错误。在这种情况下,我们所能做的就是在 Github 中提出一个问题,并希望他们能够解决这个问题,因为报告并打开了 1000 多个问题,这可能不会很快发生。

    2. 实际上有几个 CDK 构造(AWS 资源)已被赋予相同的名称。搜索您的堆栈“沙箱”并确保不会创建重复的名称。如果可以多次创建相同的构造并且名称可以相同。

    There is already a Construct with name '--spark--ssh_pub' in Stack [sandbox].
    

    还请确保这确实是您所需要的。

    image=ecs.ContainerImage.from_registry(
        "xxxxxxxx.dkr.ecr.eu-central-1.amazonaws.com...
    

    显然 docker 映像在您的 ECR 中。然后from_ecr_repository 应该是要使用的。 AWS 文档令人困惑,有时甚至不正确。 from_registry 不是从 ECR 中拉图像,而是从 DockerHub 等中拉图像。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-09-28
      • 2018-11-12
      • 2020-03-06
      • 2021-10-18
      • 2010-10-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多