Hello all,
I inherited an existing docker swarm. Previous admin is still around in an elevated role. Him and I have been having discussions as I need to migrate from off old OS that has current running swarm to new approved OS.
My plan was to stand up new OS, join workers and managers to old swarm and slowly remove old workers and managers with old un-approved OS. He told me that was a terrible idea and for me to stand up a new swarm and import the containers 1 by 1. I’m failing to see his logic as I believe my way would cause the least amount of ‘downtime.’ My goal is to be as transparent to the users as possible.
I’m coming here for advice. Thank you in advance.
AB
I just explained the same way to our managers for Kubernetes so I’m with @bluepuma77 on this. I would like to see an explanation about why it would be a terrible idea. With a couple of machines you could create a new cluster, but imagine it with a hundred nodes. As long as the OS supports running a compatible version of Docker to use as a Swarm node, I would not create an independent cluster.
Thank you both for your replies. Yes, I thought it was a standard approach and I couldn’t see anything wrong with the idea. In my mind it should have been common practice and I felt this was how everyone was solving this same issue. He told me that he strongly advised against it and if I pushed forward with it, I was on my own. (I’m sorry I’m watching a British drama right now in the background and everything I’m saying in my mind sounds British. Maybe I’m weak-minded?)
Back to issue, he told me I was on my own if anything went haywire. Seeing as how he is senior to me and has a role in writing my yearly evaluations, I opted to just follow suit and go about the OS migration his way. I mean his way is ‘no harm, no foul.’ I just felt his way was cumbersome and my way would have the least impact on users.I truly came here for a sanity-check, so to speak.
Not to be petty, but to give perspective, this swarm I inherited has been running for years with 1 manager and 3 workers.
A senior don’t know everything either. I guess operating clusters is still new to him too or not his specialty and he feels responsible for the cluster so don’t want to mix different OS-es in a distributed system. I don’t see how the operating systems would communicate with eachother, so as long as the APIs and the communicating components are compatible, its okay to have different OS-es for the time of the upgrade. On the other hand, I can appreciate when someone admits they don’t know something so tries a solution which has less risk in their mind even if it takes longer to finish.
You would of course want to test a swarm cluster on the new version of the OS regardless of whether you create a new cluster or not. For example in the latest Ubuntu LTS new security features were introduced which affected Docker Desktop which is still not supported on Ubuntu 24.04, but people just upgraded their Ubuntu without testing Docker DEsktop on the new version.
You might want to test, whether adding a new manger and removing the old one actually works, or leaves the cluster headless. You might want to test this in a lab environment before actually performing the upgrade on the live cluster.
Again, I thank all of you for your time. Time is valuable and the insight you all provide for free is immeasurable!
I followed his guidance, even though I did not agree with it. His route is just a different way of getting to the end means; approved versions of OS running a Docker swarm.
Again, I can’t say this enough, thank you, thank you, thank you all! I have learned a lot in setting up this Docker swarm.