What's the Best Node Setup for Learning Kubernetes?
Asked by
TechWhiz42
I'm excited to dive into Kubernetes! At home, I have 2 Proxmox servers, and I've been running a few self-hosted applications using Docker. I just built a Terraform script to set up a Talos cluster and Kubernetes. Currently, I have one cluster with 3 control plane nodes, and I'm testing various configurations. I want to create a second cluster where I can apply everything I learn from my first. However, I'm curious about the best node setup for learning, given my limited resources. I'm aware that a high availability setup typically includes 3 control plane and 3 worker nodes, but I don't have enough resources for that. My first server has about 40GB of RAM, and the second server has around 10GB. I'd like to install Longhorn too. Here are my options I'm considering: a) 3 CP nodes with scheduling enabled, b) 2 CP nodes and 1 worker node, or c) 1 CP and 2 worker nodes. I'd love any advice on the best setup for learning and what key areas I should focus on. Thanks!
Answers
Just a heads up: for ETCD to function properly, it needs an odd number of control plane nodes. So if you're setting up 3, thatโs fine. If you have 2, you'll be okay, but it would be better to have 1 control plane and let the other node handle the workloads for learning purposes. Focus on concepts like label selectors and workload management, even if you're scheduling on CP nodes. This will pay off later!
Reply to this answer
For your setup, I'd recommend going with 2 control plane nodes and 1 worker node. Since you're working with limited resources, this will give you a decent balance and allow you to explore high availability concepts without overwhelming your servers. Focus on getting comfortable with deployments, services, storage, and networking; theyโre essential before you decide to scale up. Plus, it'll set a good foundation for when you're ready to tackle more complex scenarios!
NodeNinja77: Exactly! 2 CP and 1 worker is a great choice. You can learn a lot without stressing your setup too much.
CloudGuy_89: Great advice! Just try to play around with Longhorn for storage, itโll help you understand stateful applications better.
Reply to this answer
It sounds like you're off to a great start! Since your resources are limited, running one schedulable control plane and one worker node would be a practical approach. This way, you can still test a variety of features like networking and storage, and you won't have to worry about overloading your resources.
Reply to this answer
Add your answer
Answers are reviewed before publication.
CuriousCat27: I see what you mean! Getting used to label selectors will help a lot when managing workloads.
DevDude32: Good point! You can always adjust the number of nodes later as you expand your learning.