单节点 Artifactory - 使用 AWS ECS 部署失败,当前节点仍然可用

Single Node Artifactory - deploy using AWS ECS fails with current node still available

也许我只是接近这个错误。

Single Instance mode (non-HA)

AWS-RDS Postgres Database

Deploying via ECS

目前正在使用 Artifactory-Pro 构建 docker 容器并通过 CI/CD 部署到 ECS。初始部署顺利。一切正常,数据库迁移,实例运行。

但是,在对任务进行更新时,会启动一个新任务。然后它使用新的容器 IP 和唯一的节点 ID 将条目添加到 access_topology,但它们仍然不健康。然后日志就用失败消息轰炸了(下面 - 由于其他节点的现有心跳)。

如果我先停止 运行 任务,然后开始一个新任务,它会正常旋转(可能是由于心跳丢失)。

在典型的 ECS 世界中,新任务会启动直到它被认为是健康的,然后旧任务会被终止。

这两种情况都会创建保持健康的孤立 NODE 记录——还试图弄清楚如何对这些记录进行垃圾收集和清除。

对此有什么想法吗?

错误如下 – 似乎由于心跳活跃而不是 HA 而无法正确加入。但是,我想让这个节点站起来,这样我就可以推翻另一个节点。谢谢-

Cluster join: Successfully joined jfmd@01es5dmfhar6gcy5abyj4rwpkc with node id ip-10-10-3-248.us-XXXX-1.compute.internal

Application could not be initialized: Current Artifactory node last heartbeat is: 1607609142483. Stopping Artifactory since the local server is running as PRO/OSS but found other servers in registry

Error occurred when refreshing domain cache all domain endpoint failed : Fetch domains from http://localhost:8046/distribution/api/v1/events/domains failed (returned 404), Fetch domains from http://localhost:8046/artifactory/api/events/domains failed (returned 404), [domain_client]"

Retry 20 Elapsed 16.84 secs failed: Couldn't access another access peer. [localhost:8046]. Status code: UNAVAILABLE. HTTP status code 503
Status code: UNAVAILABLE. HTTP status code 503
1607609184634,invalid content-type: text/plain; charset=utf-8
1607609184634,"headers: Metadata(:status=503,content-type=text/plain; charset=utf-8,content-length=19,date=Thu, 10 Dec 2020 14:06:24 GMT)"
1607609184634,DATA-----------------------------
1607609184634,Service Unavailable. Trying again

如果没有 HA 配置,这是不可能的。由于这不是 HA 配置,如果有另一个应用程序仍然“活动”,则该应用程序将不会启动。在这种情况下,“活着”被定义为在 X 秒内写入心跳(我相信默认情况下是 10)。