Elastic Beanstalk - 实例替换期间 环境变量 EB_IS_COMMAND_LEADER 该如何使用?

0

【以下的问题经过翻译处理】 对于Elastic Beanstalk 环境,环境变量 EB_IS_COMMAND_LEADER平台钩子中可用,以便进行 Leader 检测并防止在非 Leader 实例上执行脚本。

然而,当进行 实例替换(例如,在完全替换基础实例的托管更新期间)时,在平台钩子内部部署期间,所有新实例上的 EB_IS_COMMAND_LEADER 都返回 false。如果没有进行实例替换,则 EB_IS_COMMAND_LEADER 似乎能够按预期运行。

如何确保即使发生实例替换时平台钩子也是在Leader 实例上执行?

profile picture
专家
已提问 6 个月前25 查看次数
1 回答
0

【以下的回答经过翻译处理】 主节点容器命令仅在环境创建和部署期间执行,而其他命令和服务器自定义操作则在每次实例被初始化或更新时执行。对于平台钩子,也有类似的行为。在导致实例替换的更新(例如受管更新)期间,leader_only:true标志未设置,这是预期的行为。

目前,解决方法是在实例替换/受管更新后执行新的部署,以选举新的主节点。

GitHub路线图上有类似的功能请求,可以通过它进行互动。

profile picture
专家
已回答 6 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则