Convox 部署时报 Tags contain duplicate keys 如何排查?
技术问小赵
结论
这条错误表示部署请求中包含重复的 tag key。先检查部署时实际提交了哪些标签,以及它们是否由多处配置或资源合并而来。Amazon ECS 的 app tag 可能是来源之一,但这条错误本身无法确认重复项来自 ECS。
报错信息如下:
ValidationError: Tags contain duplicate keys; tag keys must be unique
status code: 400
这是服务端对请求内容的校验错误。拆除并重新安装 rack 后问题仍然出现,说明应重点检查部署时生成的标签配置。单纯重装 rack 未必会清除应用配置或其他来源中的重复标签。
排查步骤
-
检查应用和 rack 的标签配置
查看应用、rack 和部署配置中是否定义了相同的 tag key。即使两个标签的 value 不同,只要 key 相同,也可能触发重复 key 校验。 -
检查多处配置合并后的标签
如果标签来自应用配置、部署参数、环境配置或 ECS 资源配置,请逐项核对合并结果,确认同一个 key 是否被添加了多次。只检查单个配置文件可能找不到问题。 -
核对 ECS app tag
检查相关 ECS 应用或资源的标签配置,看其中的 key 是否与部署请求中的其他标签重复。错误没有指出重复 key 的名称,需要从部署配置或请求日志中找到实际提交的标签列表。 -
移除重复项后重新部署
每个 tag key 只保留一个定义,并确认合并后的标签集合中没有重复 key。如果错误仍然出现,请记录完整的部署上下文和 request id:f64033fd-a227-4149-81e2-61d940964033再检查部署工具生成的请求,或向 Convox 支持方反馈,以定位重复标签的来源。
注意事项
这条报错没有提供重复 key 的具体名称,也没有说明是哪一层配置生成了重复项。因此,不能仅凭错误断定问题来自 ECS 的 app tag。排查时应检查最终部署请求中的完整标签集合。
备注:内容仅供参考。
