<p class="wp-block-paragraph">Having different version of docker running on different nodes, it happens to experiencing problems.</p>
<p class="wp-block-paragraph">Docker Swarm is a community project maintained in <a href="https://github.com/moby/moby">https://github.com/moby/moby</a> github repository, it lack a number of features that are provided by kubernetes, but still someone is using this for experimental and bridge-to-kubernetes, because it is very simple to understand and manage.</p>
<p class="wp-block-paragraph">Of course, it requires a number of prerequisites, like to have a good firewall protecting it.</p>
<p class="wp-block-paragraph">Today I touched an old installation with 5 nodes and different operative system, likely I was able to update some of those nodes and keep the system running (with a small out-of-service of about 5 minutes, that was acceptable for this kind of service level: experimental).</p>
<figure class="wp-block-image size-large"><img src="https://smartango.com/wp-content/uploads/2025/02/image-1024x369.png" alt="" class="wp-image-501"/></figure>
<p class="wp-block-paragraph">Some of the VMs was on Debian 10, that is not maintained, so I decided to update to Debian 11 by changing the /etc/apt/sources.list:</p>
<pre class="wp-block-code"><code>deb http://deb.debian.org/debian/ bullseye main
deb-src http://deb.debian.org/debian/ bullseye main
deb http://security.debian.org/bullseye-security bullseye-security/updates main
deb-src http://security.debian.org/bullseye-security bullseye-security/updates main
deb http://deb.debian.org/debian/ bullseye-updates main
deb-src http://deb.debian.org/debian/ bullseye-updates main</code></pre>
<p class="wp-block-paragraph">Then by run:</p>
<pre class="wp-block-code"><code>apt-get clean
apt-get -y update
apt-get -y upgrade --without-new-pkgs
apt-get -y full-upgrade
shutdown -r now</code></pre>
<p class="wp-block-paragraph">Everything worked fine, it seems, but really some service was not running, I tryed</p>
<pre class="wp-block-code"><code>systemctl status docker.service</code></pre>
<p class="wp-block-paragraph">And error was about:</p>
<pre class="wp-block-code"><code>error reading the kernel parameter net.ipv4.neigh.default.gc_thresh3" error="open /proc/sys/net/ipv4/neigh/default/gc_thresh3: no such file or directory"</code></pre>
<p class="wp-block-paragraph">Really what is needed is:</p>
<p class="wp-block-paragraph"><code>modprobe ip_vs</code></p>
<p class="wp-block-paragraph">And also add in a file in /etc/modules-load.d/ ip_vs</p>
<p class="wp-block-paragraph">In fact ip_vs implement transport layer load balancing, and this is foundamental for dealing with overlay networks, where the docker swarm run</p>
<p class="wp-block-paragraph"><strong>Reference</strong></p>
<p class="wp-block-paragraph"><a href="https://en.wikipedia.org/wiki/IP_Virtual_Server">https://en.wikipedia.org/wiki/IP_Virtual_Server</a></p>
<p class="wp-block-paragraph"></p>
Having different version of docker running on different nodes, it happens to experiencing problems.
Docker Swarm is a community project maintained in https://github.com/moby/moby github repository, it lack a number of features that are provided by kubernetes, but still someone is using this for experimental and bridge-to-kubernetes, because it is very simple to understand and manage.
Of course, it requires a number of prerequisites, like to have a good firewall protecting it.
Today I touched an old installation with 5 nodes and different operative system, likely I was able to update some of those nodes and keep the system running (with a small out-of-service of about 5 minutes, that was acceptable for this kind of service level: experimental).
Some of the VMs was on Debian 10, that is not maintained, so I decided to update to Debian 11 by changing the /etc/apt/sources.list:
deb http://deb.debian.org/debian/ bullseye main
deb-src http://deb.debian.org/debian/ bullseye main
deb http://security.debian.org/bullseye-security bullseye-security/updates main
deb-src http://security.debian.org/bullseye-security bullseye-security/updates main
deb http://deb.debian.org/debian/ bullseye-updates main
deb-src http://deb.debian.org/debian/ bullseye-updates main
Everything worked fine, it seems, but really some service was not running, I tryed
systemctl status docker.service
And error was about:
error reading the kernel parameter net.ipv4.neigh.default.gc_thresh3" error="open /proc/sys/net/ipv4/neigh/default/gc_thresh3: no such file or directory"
Really what is needed is:
modprobe ip_vs
And also add in a file in /etc/modules-load.d/ ip_vs
In fact ip_vs implement transport layer load balancing, and this is foundamental for dealing with overlay networks, where the docker swarm run