Docker Swarm >50%

In meinem vorherigen Beitrag über Docker habe ich eine Abhängigkeit der Verfügbarkeit des Docker Swarms zu der Anzahl der verfügbaren Docker Swarm Manager erwähnt.

Das Thema ist tatsächlich einige Gedankespiele wert.

Ein klassisches HA-Cluster mit zwei Nodes bringt hier leider nicht. Fällt ein Node aus, ist die Bedingung nicht erfüllt, dass mehr als 50% der Docker Swam Manager verfügbar sein müssen.

Aus diesem Grund habe ich einfach einen Raspi als Manager in den Swarm integriert, der jedoch keine Container ausführt (Manager im Drain-Mode).

Mein Backup-Server sollte ursprünglich mal File-Backups machen, aber auch ein Backup für die Dienste darstellen, falls der Homeserver mal ausfällt. Die Dienste wollte ich ja schon mal in Docker dort einrichten.

Nun bin ich auf die geistreiche Idee gekommen, den Backup-Server einfach in meinen Swarm zu integrieren. Irgendwie hat das Zusammenspiel der unterschiedlichen Docker-Versionen wohl zu Problemem geführt. Da einer der eigentlich HA-Nodes gerade aus geschaltet war, und der Backup-Server im Swarm nicht komplett angekommen war, gab es nun den glatten 50% Fall und der Swarm war eingeschränkt.

Manuelles docker swarm leave --force auf dem Backup-Server führt lediglich dazu, dass der Node sich vom Swarm ausklinkt. Im Swarm ist der Node jedoch weiterhin bekannt und eben nicht verfügbar.

Um den Swarm aufzuräumen und wieder ein klare Verfügbarkeitsmehrheit herzustellen muss man noch im Swarm den zu entfernenden Node vom Manager zum Worker machen: docker node demote backup

Nun kann der Node auch aus dem Swarm entfernt werden: docker node rm backup

 

Man kann grundsätzlich so viele Nodes zum Swarm hinzufügen, wie man möchte. Wichtig ist dass man diese >50% Regel der Manager Nodes in den denkbaren Konstellationen einhält.

Kommentar hinterlassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert