我们使用 EC2 集群在 ECS 中启动的容器使用容器代理的“ECS_CONTAINER_METADATA_FILE”机制来获取其任务 ID。
这似乎不适用于 Fargate 启动的容器。使用“ECS_CONTAINER_METADATA_FILE”在 Fargate 启动的容器中运行时是否有自省机制?
我了解所有任务的信息都可以通过 curl http://localhost:51678/v1/tasks获得
我们使用 EC2 集群在 ECS 中启动的容器使用容器代理的“ECS_CONTAINER_METADATA_FILE”机制来获取其任务 ID。
这似乎不适用于 Fargate 启动的容器。使用“ECS_CONTAINER_METADATA_FILE”在 Fargate 启动的容器中运行时是否有自省机制?
我了解所有任务的信息都可以通过 curl http://localhost:51678/v1/tasks获得
这似乎不适用于 Fargate 启动的容器。使用“ECS_CONTAINER_METADATA_FILE”在 Fargate 启动的容器中运行时是否有自省机制?
不可以。您无法控制底层主机或 ECS 代理,因此无法像在 EC2 启动类型中那样启用或禁用此文件。
幸运的是,在 Fargate 任务中,您可以使用元数据端点获取此元数据。
169.254.170.2/v2/metadata
将返回一个包含您需要的所有信息的 json 对象。您应该能够从 TaskArn 中解析出 taskID。