无需停机即可在Docker Swarm受管节点上升级Docker Engine版本

时间:2020-01-29 13:27:17

标签: docker docker-swarm

我想将Docker Swarm受管节点(管理者节点和工作节点)上的Docker引擎从18.06升级到19.03,而不会造成任何停机。 我看到在线上有很多教程可以滚动更新Dockerized应用程序而不会造成停机,但是与升级所有Docker Swarm受管节点上的Docker引擎无关。

在没有停机的情况下,真的不可能在Docker Swarm受管节点上升级Docker守护程序吗?如果为真,那确实是可惜的。

提前感谢SO的美好社区!

2 个答案:

答案 0 :(得分:1)

您可以一次升级一位经理。在此升级过程中,您将使用docker node update耗尽节点,并使用常规OS命令将升级运行到docker引擎,然后将节点恢复为活动状态。在管理器混合版本时,无法在群集中添加或删除节点,这是行不通的。这意味着您不能在升级版本的同时完全从头开始安装来替换节点。所有管理器都必须是同一版本(升级),然后您可以查看重建/替换主机的过程。我过去看到的是,节点没有完全加入经理仲裁,而在失去足够的经理之后,您最终会失去仲裁。

一旦所有管理器都升级,则可以通过就地升级或替换节点来升级工作器。在工人全部升级之前,请勿使用任何新功能。

答案 1 :(得分:0)

您可以耗尽节点,然后升级docker版本,然后再次将其激活。
对所有节点重复此步骤。

DRAIN可用性阻止节点从群集管理器接收新任务。 Manager停止在节点上运行的任务,并在具有ACTIVE可用性的节点上启动副本任务。

有关详细信息,您可以参考以下链接:-https://docs.docker.com/engine/swarm/swarm-tutorial/drain-node/

相关问题