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
@Madic ja, man lernt nie aus:)
Nach Jahren mit Docker-Containern auf einem Single-Host ist mir klar: Beim Thema #k3s stehe ich erst am Anfang. Und das ist gut so – denn hinter jedem neuen Thema warten noch unzĂ€hlige Details und Herausforderungen, die auf mich zukommen werden. Mal als spannende Entdeckungsreise, mal als FeuerĂŒbung zu unpassender Zeit.
Genau diese Mischung macht’s ja aus – die stĂ€ndige Lernkurve, die uns voranbringt.
@Madic Da ich nicht auf ein angezĂ€hltes Pferd setzen möchte, habe auch ich damit gestartet #k3s im #HomeLab hoch zu ziehen 🚀 FĂŒhlt sich nach massivem #overengineering an, macht aber Freude wenn die „Enterprise Tools“ mal rund laufen 😉