这个问题被讨论过很多次,但我想听听使用下面的每个方法的一些最佳实践和真实世界的例子:哪种方法更适合发现容器准备状态?
设计容器,能够检查相关服务的健康。简单脚本whait-for-it对于这类开发容器可能有用,但不适用于更复杂的部署。例如,数据库可以接受连接,但迁移尚未应用。
使容器能够在Consul/etcd中发布自己的状态。所有相关服务都将轮询某个包含所需服务状态的端点。看起来不错,但看起来多余,不是吗?
通过外部调度程序管理容器的启动顺序。
在交付过程中,上述哪种方法在Swarm/Kubernetes/etc等缺席/在线协调员环境中更可取?