Here we provide a set of ways to manage kubernetes, they all have advantages and dissadvantages
This is our most cost effective setup. It is also relatively easy to install for self-hosted kubernetes!
Tip: just use real ssl with letsencrypt...
Make sure to do private networking:
sudo ufw allow in on cni0 from 10.42.0.0/16
sudo k3s server --node-external-ip 10.0.0.2 -i 10.0.0.2
helm repo add rancher-latest https://releases.rancher.com/server-charts/latest
kubectl create namespace cattle-system
helm install rancher rancher-latest/rancher --namespace cattle-system --set tls=external --set replicas=1
- Requires rancher to be in the same private network as the workers (so can't host on external cluster)
- Rancher is not really k8s native (kinda is), so can't GitOps clusters? (check this)
- Can use dedicated servers as workers for cost efficiency ( < 1 EUR /GB when you use a kimsufi worker!) => Because you don't use a private network you can expose your Rancher on a separate cluster (no rancher cost) and same goes for the control plane (eg. a Hetzner Cloud node). The #1 disadvantage is that there are no block volumes in this setup
- Rancher controller: 2.49 EUR (Make sure not to expose any ports except 22 and port-forward to access the control plane)
- k8s master: 4,49 EUR
- Can be controlled with GitOps (Kubermatic)
- Self-managed (can be automated with kubermatic though)