amazon-web-services - Fargate 任务(容器)是否可以检索其元数据,例如服务名称?
问题描述
假设某个 docker 映像将部署在集群内的不同服务名称上。我认为如果您想要一个复杂的部署,这可能会发生这种情况,这不仅会导致该图像的一个统一工作人员。
在这种情况下,我希望任务本身能够识别该任务正在哪个服务名称中执行。据我了解,在 EC2 中,可以通过访问来获取有关实例的一些元数据169.254.169.254
,如他们的文档中所述。(https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html)
问题
- Fargate 任务有没有办法从 AWS 获取它的元数据?
- 即,我想知道 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。
推荐阅读
- python - 作为初学者尝试在 python 中实现“生命游戏”的问题
- reactjs - React / Redux - 如果多个购物车必须显示一次但商店内只有一个标志怎么办?
- antd - 如何在 Antd 表中使用 Radio 组?
- django - 未找到:/api/company_list/status='Pending' 我想按状态过滤,但我有问题
- kotlin - Kotlin 方式将 MutableList 中的所有元素加 1
- r - 合并两个 data.tables / data.frames,其中 x 具有多个 i 实例,y 具有单个 i 实例,而不连接到整个表
- git - 如何向新创建的分支报告未推送的提交
- python - 在循环中读取多个文件并将每个文件的读取数据写入 Python 中的另一个文件
- gcc - 如何在 ARM aarch64 GCC 内联汇编中使用 32 位 w 寄存器?
- regex - 正则表达式将特定字符串与之前的预定义字符匹配