0

我们有一个运行 docker 1.13 的集群,我需要向其中添加 3 个运行 docker 17.04 的节点。

  1. 这是可能的还是会引起问题?
  2. 是否有可能在不让整个集群崩溃的情况下更新旧节点?

谢谢

4

1 回答 1

1

我昨天自己遇到了这个问题,Docker 开发人员的建议是,您可以暂时在 swarm 管理器上混合 docker 的版本,但不能升级或降级与所有其他 swarm 管理器上的版本不匹配的节点。他们还建议在升级工人之前升级所有经理。

根据该建议,您应该先升级旧节点,一次一个,以避免导致集群崩溃。如果将容器部署到这些管理器,您需要先配置节点以排出docker node update --availability drain $node_name。升级后,您可以使用docker node update --availability active $node_name.

在尝试将较新的节点升级为较旧的 swarm 时,我看到了一些非常具有破坏性的行为,这些行为在查看调试日志之前并不明显。关于这个问题的评论更详细地介绍了我看到的 Docker 的建议和问题。

于 2017-04-13T00:15:17.093 回答