当docker swarm在多个正在运行的容器实例上使用先停止进行滚动更新时,除其他操作外,它还需要执行以下步骤来对每个容器进行连续操作:
从容器的内部负载均衡器中删除容器
将SIGTERM信号发送到容器。
关于stop-grace-period,发送SIGKILL信号。
启动新容器
将新容器添加到其内部负载均衡器
但是当我想使用从头开始进行滚动更新时,应该采取哪些步骤顺序?
旧容器和新容器是否可以通过负载平衡器同时使用(直到旧容器停止并从lb移开)?
还是会先启动新容器并将其不添加到负载均衡器中?直到旧容器停止并从负载均衡器中删除?
后者将绑定到绑定到特定服务实例(容器)的进程。
答案 0 :(得分:1)
但是,当我想进行滚动更新时会采取哪些步骤顺序 先开始吗?
基本上是相反的。启动新容器,将其添加到LB,然后将旧容器从LB中移除并发送关闭信号。
通过负载均衡器可以使用旧容器还是新容器 同时(直到旧的已停止并从 磅)?
是的
提醒您,除非您(至少)在服务中启用了运行状况检查,否则大多数操作将是无缝的(或停机时间几乎为零)。我说一点in this YouTube video。