I Almost Ditched k3s for Docker Swarm (And Why I Didn't)

After two years of k8s complexity, I seriously evaluated switching to Docker Swarm. Here's what I learned about the trade-offs and why I ultimately stayed.

Ștefan Muraru
@ChrisRichner I am in a very similar situation and currently building a docker swarm cluster. As a replacement for argocd I found swarm-cd. It's by far not argocd but the main function, deploying from git, is there.
https://github.com/m-adawi/swarm-cd
It also supports encryption of docker secrets via sops.
https://github.com/madic-creates/swarm-git-ops
GitHub - m-adawi/swarm-cd: SwarmCD: Declarative GitOps and Continuous Deployment tool for Docker Swarm.

SwarmCD: Declarative GitOps and Continuous Deployment tool for Docker Swarm. - m-adawi/swarm-cd

GitHub
@ChrisRichner At the beginning I was sure I need to replace k3s with swarm to reduce complexity. But now I am not sure anymore. Though I haven't arrived the point yet, to stay with k3s 😅
@Madic ich habe in den Weihnachtstagen damit gestartet die single Docker Host Lösungen auf stabilere Beine zu stellen. Docker Swarm war der nĂ€chst logische Schritt bis ich auf https://github.com/BretFisher/awesome-swarm gesehen habe das Docker Swarm offiziell nur noch bis 2030 „supported“ werden soll.
@ChrisRichner Oh nein. Das hatte ich noch nicht gesehen. Damit fĂ€llt docker swarm endgĂŒltig weg und ich werde bei k3s bleiben 🙈
@Madic ja, die Stunden, die ich in den Aufbau eines Docker-Swarm-Clusters investiert habe, hĂ€tte ich mit diesem Wissen auch besser direkt in einen k3s-Aufbau stecken können. Immerhin musste ich einige grundlegende Themen erarbeiten, die mir dann einen Kickstart fĂŒr k3s ermöglichten.
@ChrisRichner ich habe mir eine wichtige Erkenntnis aus deinem Beitrag zu Herzen genommen und habe ein Problem analysiert: performance. Und was soll ich sagen... Ich habe eine quasi anfÀngerregel nicht Beachtet: zumindest resource requests setzen damit nicht die bestefford QoS class verwendet wird sondern burstable
@ChrisRichner Und cillium hatte auch noch ein paar Optionen die ich jetzt aktiviert habe und noch genauer testen muss:
- bpf host routing
- socket level LB
- bandwidth manager mit bbr