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!