Hetzner
- La migration vers Hetzner a été motivée principalement par la réduction des coûts. Les tarifs de Hetzner sont compétitifs à l’échelle mondiale.
- Hetzner propose des machines virtuelles et des serveurs bare metal ; l’offre est plus limitée que celle d’AWS, mais cela est compensé par les prix.
- La migration vers Hetzner a permis de réduire les coûts d’infrastructure de plus de 75 %.
Kubernetes sur Hetzner
Kubernetes autogéré
- Kubernetes était exploité sur DigitalOcean, et il l’est également sur Hetzner en mode autogéré.
- Hetzner ne fournit pas de control plane Kubernetes managé, il faut donc le gérer soi-même.
- Les nœuds sont gérés et configurés avec Terraform et Puppet.
Rôles des nœuds
- Une convention de nommage des nœuds permet de garder des rôles simples dans le cluster :
control-plane, worker, database.
- Ajouter des rôles est simple, mais cela peut nuire à l’efficacité de l’utilisation des ressources.
Mise en place des nœuds
- Le cluster est bootstrapé avec Terraform.
- Hetzner fournit un pare-feu managé et des fonctions de réseau, faciles à configurer avec Terraform.
- Les serveurs sont entièrement gérés avec Terraform, et des modules par rôle rendent l’ajout de serveurs plus simple.
Réseau
- Les connexions d’administration aux nœuds passent par le VPN Tailscale.
- Tailscale fournit du NAT hole punching, ce qui permet de se connecter en toute sécurité même en fermant les ports.
- Les ports sont bloqués à l’aide du pare-feu managé de Hetzner et de l’UFW d’Ubuntu.
- Calico est utilisé pour configurer l’interface réseau des conteneurs.
Stockage
- Hetzner propose du stockage bloc sur SSD ainsi que des SSD nVME.
- Les volumes Hetzner n’ont pas de fonction de snapshot, les sauvegardes des données doivent donc être effectuées manuellement.
- Sur les nœuds de base de données, le Local Persistence Volume Static Provisioner est utilisé pour préprovisionner les volumes locaux.
Sauvegardes
- Hetzner ne propose pas de sauvegarde des volumes, mais fournit des sauvegardes complètes des serveurs.
- VMware Velero est utilisé pour sauvegarder les namespaces et les PVC.
- Pour Postgres,
pgBackRest est utilisé.
Fonctionnalités supplémentaires
- Utilisation de SealedSecrets pour la gestion des secrets.
- Utilisation de Node Exporter, Prometheus, Grafana et Loki pour la supervision du cluster.
- Utilisation d’Alertmanager pour l’intégration des alertes avec Slack.
Réflexions sur l’exploitation de Kubernetes chez Hetzner
- La migration vers Hetzner a pris environ une semaine, avec quatre semaines supplémentaires de tests et d’ajustements.
- Les tarifs de Hetzner sont raisonnables, et il est probable qu’ils restent inférieurs à ceux des autres fournisseurs.
- Hetzner présente des limites liées à la qualité des IP et au service client.
- Hetzner déploie rapidement de nouvelles fonctionnalités, mais peut aussi arrêter rapidement les services peu rentables.
- Les datacenters d’Europe centrale sont situés à Falkenstein et Nuremberg en Allemagne, ainsi qu’à Helsinki en Finlande.
Résumé
- La transition s’est déroulée sans heurts, en réduisant les coûts d’infrastructure de plus de 75 % tout en doublant les ressources de calcul du cluster.
- Hetzner est un choix très avantageux lorsqu’il est nécessaire de réduire les coûts.
- Les contrôleurs open source de Hetzner facilitent la gestion des load balancers et l’attachement persistant des volumes.
1 commentaires
Réactions sur Hacker News