I'm trying to wrap my head around what it means to run Kubernetes (k8s) on bare metal. I initially thought it just referred to managing a k8s cluster on a single-node server with both control plane and node components on the same machine. However, I noticed that in managed services like AWS (EKS) and DigitalOcean (DOKS), the control plane and node components often run on different servers, allowing for a multi-node setup. Does that mean managed services are better for complex structures while bare metal setups are more straightforward? Any insights on this would be super helpful. Thanks in advance!
1 Answer
Bare metal doesn't really mean running your whole k8s cluster on just one server—doing that wouldn't be very fault-tolerant. Typically, it means using physical, non-virtualized servers rather than running everything in the cloud. In managed services like EKS, the control plane doesn't even live on a server you maintain; it's all handled by the cloud provider, and you only need to worry about the worker nodes.
So, when you say 'physical, non-virtualized servers,' that means you're using your own physical machines and not VMs, right? So is bare metal essentially 'on-premise'? Sorry if this sounds like a dumb question!