Ask HN: Is there a low cost way to learn real K8s, after exhausting minikube?
Ive messed around with Minikube, but now I want to implement the real deal. I want to implement a docker registry, blue green deployents, monitoring, request tracing, log aggregation, etc, but all for my own learning.
When I looked at pricing out Azure/AWS, it was like $200 a month for a 4 node cluster.
So HN, if you had to learn K8s on your own, what would you do after minikube?
Also, am I just being dumb? Can I just use minikube to learn all this? At some point I feel like having real nodes with real networks and control planes is better learning. You can run it on multiple virtual machines from your laptop. Doing it this way you can run into an issue where docker doesn't work right due to multiple layers of virtualization depending on your setup and processor. You can avoid this by using containerd as the runtime instead of docker if you run into that issue. I've thought before it would be interesting if there was a cloud mock Kubernetes service that returned command output with no backend for learning that was either cheap or free. One way you can actually work with a setup like this is ChatGPT+ with gpt-4. Ask it to pretend to be a Kubernetes cluster with the desired number of nodes and act as a Linux terminal prompt with access to the cluster, also please don't return any text except the command output. If I need to ask other questions outside of sending commands I'll put it in {}. It helps if you also say thank you in the prompt. If it starts deviating say "please stay in character" I've found this to be a handy way to simulate Linux boxes, Kubernetes clusters, Cisco routers, switches, all kinds of fun stuff. One last thing I'll mention, learn a bit of terraform or another IaC tool and you can spin up the cluster and delete at will. I find terraform to be especially good for being able to create entire blocks of infrastructure and destroy them easily and thoroughly. Then when you're ready to work or done working you can bring the cluster up and down. You can shave a lot off the monthly cost this way. Going back to gpt-4 again, there are good templates online - or you can have gpt-4 write the terraform for you describing what you want as well as have it explain the basics of using terraform. How about this? It will setup a kubernetes cluster on GCP with 3 worker nodes? https://github.com/kelseyhightower/kubernetes-the-hard-way Some costs here but click on the google cloud calc as it seems to have gone up since he wrote this:
https://github.com/kelseyhightower/kubernetes-the-hard-way/b... You can always shut it down when not in use to lower costs of course You can buy a “lot of computers” on eBay for cheap, setup k3s on them. You don’t need a lot of horsepower to play with all of those things locally. Here is an example. I setup K3s recently. Is there a whole lot of difference playing with that vs. K8s? From a user/app dev perspective (not devops/k8s core dev of course) I ask as it seemed to work really well.. wondering if there is a catch/limitation I'm not seeing. Is a "lot" literally a unit of 6 computers (or however many)? Is this saying I can buy six computers for $170? Take a look at the Oracle cloud free tear. YOU can create up to four arm based vm's with 6 gigs of ram and one cpu per vm. If you go this route try and do research on what regions have the most capacity. I picked Chicago and had a really hard time getting instances to launch do to high demand. I upgraded to a pay as you go account so still get the vm's for free but get higher priority when crating new instances and have had no more issues launching instances. Hetzner starting with https://github.com/kube-hetzner/terraform-hcloud-kube-hetzne..., plus registry using DigitalOcean. Is $200/mo really a huge barrier? That's about the equivalent of 1 college credit at a local University & you'll probably learn a ton more. What happens if you power off the resources when your not using them? Unless you need them running 24/7 you can probably save a lot if your willing to manually start and stop them. Set it up with terraform. Learn terraform while learning k8s. Tear down everything including the control plane and nodes when you’re done. That can be really cheap. Maybe pick a cheaper provider such as digital ocean for managed k8s?