Move from OVH Bare-Metal to Hetzner Cloud
For more than 7 years I was hosting various solutions on the bare-metal servers from OVH - one of the biggest providers in Europe. Recently, I've decided to do it more cloud-native way, change current deployment model and run a highly available K8S - on Hetzner Cloud.
Why move?
Yes, I was happy customer of OVH. I really had zero issues with services they are offering. So why a change you might ask?
My main goal was to deploy a HA Kubernetes Cluster, and these juicy bare-metal machines wasn't the best fit. And although OVH also offer VPS'es and public cloud, I did some research and decided that Hetzner is a better fit for me.
Key points:
- Simple & Clear pricing for VM's, Storage and Floating IP's
- Hetzner had their own Kubernetes CSI Storage Driver which was a huge benefit
- Billing on a minute basis
- Quick delivery
- GoLang API Client looked also a great addition for integrations
- Slightly cheaper compared to OVH
The setup
For Kubernetes Distribution I've picked a Lightweight K3S. I've decided to disable lots of features parts including Traefik, ServiceLB and LocalPath Provisioner
I also used Hetzner specific Cloud Controller Manager which brings extra value and helps to managed dead/decomisioned nodes, and kubernetes services with type = LoadBalancer.
Instead of Traefik I used Nginx Ingress Controller with Cert-Manager.
For all volumes - used Hetzner Cloud CSI Driver, which really simplified the setup and the need to maintain CEPH cluster using Rook Operator.
I deployed 3 Kubernetes Masters with few extra worker nodes, deployed full monitoring & logging stack based on Grafana/Loki/Prometheus.
Whats next?
Now I'm working on custom cloud-based website manager, which would allow to deploy & manage various PHP/NodeJS applications, wordpress instances, and any other container based deployments.
The goal is to build a solution with a similar principles to Heroku Deployments.
It's still work in progress, but I plan to have VSCode based editing directly in the browser, git-based deployments with Automated build & deploy on git push
, with reject of push if build fails.
I will keep you updated with a progress in Future!