Hey everyone! I'm diving into Kubernetes and have some specific questions about setting up high availability (HA) for on-premise clusters. I get that having three data centers close together helps reduce latency, with each running a master and some worker nodes. First off, how do these data centers communicate? Is a VPN the way to go? Also, I understand that I should set up a load balancer (like metalLB for on-prem) across all nodes. Can I use Cloudflare's load balancer to manage traffic to these three data centers? I apologize if I'm unclear, but configuring HA properly is a bit confusing for me. Just so you know, I've got services running on a local server, and I recently faced an outage which made me realize I need a solution that keeps apps responsive even during downtime. Thanks for any insights!
2 Answers
You really need to clarify your requirements for reliability; it might be different for everyone. It sounds like you're mixing up front-end load balancers and the in-cluster service load balancer. But if you're still learning, that's totally fine! For HA, consider your setup first.
While you can stretch a cluster across data centers, it's not usually recommended due to potential latency impacting processes like Etcd reconciliation. A better option might be to have separate clusters in each data center, using data replication if you want an active-active setup. Also, many major organizations only use two data centers instead of three, which could simplify things for you.
Thanks for the insight! I’m just eager to grasp HA solutions. So you're saying the configuration really depends on my specific needs? What would you recommend for a straightforward HA setup?