We have a swarm running docker 1.13 to which I need to add 3 more nodes running docker 17.04.
Thanks
I ran into this one myself yesterday and the advice from the Docker developers is that you can mix versions of docker on the swarm managers temporarily, but you cannot promote or demote nodes that don't match the version on all the other swarm managers. They also recommended upgrading all managers before upgrading workers.
According to that advice, you should upgrade the old nodes first, one at a time to avoid avoid bringing down the cluster. If containers are deployed to those managers, you'll want to configure the node to drain with docker node update --availability drain $node_name
first. After the upgrade, you can bring is back into service with docker node update --availability active $node_name
.
When trying to promote a newer node into an older swarm, what I saw was some very disruptive behavior that wasn't obvious until looking at the debugging logs. The comments on this issue go into more details on Docker's advice and problems I saw.