【以下的问题经过翻译处理】 对于Elastic Beanstalk 环境,环境变量 EB_IS_COMMAND_LEADER 在平台钩子中可用,以便进行 Leader 检测并防止在非 Leader 实例上执行脚本。
EB_IS_COMMAND_LEADER
然而,当进行 实例替换(例如,在完全替换基础实例的托管更新期间)时,在平台钩子内部部署期间,所有新实例上的 EB_IS_COMMAND_LEADER 都返回 false。如果没有进行实例替换,则 EB_IS_COMMAND_LEADER 似乎能够按预期运行。
false
如何确保即使发生实例替换时平台钩子也是在Leader 实例上执行?
【以下的回答经过翻译处理】 主节点容器命令仅在环境创建和部署期间执行,而其他命令和服务器自定义操作则在每次实例被初始化或更新时执行。对于平台钩子,也有类似的行为。在导致实例替换的更新(例如受管更新)期间,leader_only:true标志未设置,这是预期的行为。
目前,解决方法是在实例替换/受管更新后执行新的部署,以选举新的主节点。
GitHub路线图上有类似的功能请求,可以通过它进行互动。
Du bist nicht angemeldet. Anmelden um eine Antwort zu veröffentlichen.
Eine gute Antwort beantwortet die Frage klar, gibt konstruktives Feedback und fördert die berufliche Weiterentwicklung des Fragenstellers.