I'm curious about what services are best to keep on or off a Kubernetes cluster. For instance, I'm currently using FluxCD on my K8s cluster, and I worry that running GitLab there might create a dependency loop. How do I maintain high availability for services if they're off the cluster? I want to hear your thoughts on this.
3 Answers
It's important to consider the complexity and skill set needed for what you're running. You might have everything set up perfectly, but how many people could step in to keep it running if you're unavailable? I've made the mistake of designing a system for a much larger company than we actually have, and now I'm the only one who can manage it, which is risky. It's easy to over-engineer things, but it leads to burnout since you're the go-to person all the time.
I personally believe that anything needing state management shouldn’t be run on Kubernetes. I see it as a best practice for maintaining simplicity and stability. That's just my opinion as an old-school K8s enthusiast.
Kubernetes is primarily an orchestrator. Focus on what shouldn't run in containers instead. Avoid monolithic applications, anything that relies heavily on state, and processes that directly handle file or stream I/O without using APIs. Their structure doesn’t align well with the microservices model that K8s is built around.
Related Questions
Can't Load PhpMyadmin On After Server Update
Redirect www to non-www in Apache Conf
How To Check If Your SSL Cert Is SHA 1
Windows TrackPad Gestures