I am completely new to Kubernetes, (getting ready to take the CKA exam in December)
I want to host a cluster to get some practice maintaining production-hardened infrastructure
I also don’t want to pay out the nose for cloud services before I really know what I’m doing.
I’ve installed Kubernetes from scratch a few dozen times now using Kubeadm on virtual machines and various hardware that I have lying around at home.
Here is the setup that I want to build:
A control plane node on AWS that also hosts an ingress controller with a public static IP address (needed for TLS certificates and a domain name)
A few RaspberryPi’s and an old Linux Laptop connected to a route to act as worker nodes
Applications:
- Heimdall
- Gitea
- Wordpress for Blogging and Elementor
- Kubernetes Dashboard
- Prometheus
- JupyterLab
- A NAS to host PersistentVolumes
- Postgres with WAL enabled for hot standby
Can anyone comment on this setup? Does it make sense from a cost-savings perspective? Are there performance considerations that I should be aware of? I would likely initialize Kubelet myself on an Ubuntu EC2 instance rather than using EKS because I plan to have my cluster mixed between cloud and self-hosted, but is there a better way to handle this?
Thanks in advance for your input!