Move from OVH Bare-Metal to Hetzner Cloud

Move from OVH Bare-Metal to Hetzner Cloud
Photo by Carl Heyerdahl / Unsplash

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!