首页 > 解决方案 > Fargate 任务(容器)是否可以检索其元数据,例如服务名称?

问题描述

假设某个 docker 映像将部署在集群内的不同服务名称上。我认为如果您想要一个复杂的部署,这可能会发生这种情况,这不仅会导致该图像的一个统一工作人员。

在这种情况下,我希望任务本身能够识别该任务正在哪个服务名称中执行。据我了解,在 EC2 中,可以通过访问来获取有关实例的一些元数据169.254.169.254,如他们的文档中所述。(https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html

问题

标签: amazon-web-servicesaws-fargate

解决方案


您可以使用版本task-metadata-endpoint-v3

curl ${ECS_CONTAINER_METADATA_URI}/task

此路径返回任务的元数据 JSON,包括与任务关联的所有容器的容器 ID 和名称列表。有关此端点的响应的更多信息,请参阅任务元数据 JSON 响应

Amazon ECS 任务元数据终端节点

Amazon ECS 容器代理提供了一种检索各种任务元数据和 Docker 统计信息的方法。这称为任务元数据端点。提供以下版本:

任务元数据终端节点版本 3 – 适用于在平台版本 v1.3.0 或更高版本上使用 Fargate 启动类型的任务,以及使用 EC2 启动类型并在运行至少版本 1.21.0 的 Amazon ECS 容器的 Amazon EC2 基础设施上启动的任务代理人。有关详细信息,请参阅任务元数据端点版本 3。


推荐阅读