Présentation de Hetzner
Hetzner est un fournisseur d'infrastructure allemand qui offre du matériel haute performance à des prix raisonnables et prévisibles. Hetzner se concentre sur quelques fonctionnalités mais les réalise très bien, ce qui en fait un fournisseur de hosting populaire parmi les startups et les développeurs indépendants.
Le service cloud de Hetzner propose une API solide pour gérer les ressources, ainsi que des fonctionnalités telles que le réseau privé, les équilibreurs de charge, le stockage en réseau et les machines virtuelles.
Architecture de Kube-Hetzner
Kube-Hetzner est un module Terraform optimisé pour déployer un cluster K3s hautement disponible et auto-mis à jour sur Hetzner Cloud. Il gère la mise en place des ressources de calcul, la configuration du réseau privé, la mise en place des équilibreurs de charge et la gestion des pools de nœuds.
Le projet utilise MicroOS, un système d'exploitation spécialisé dans l'exécution de conteneurs, qui offre des mises à jour transactionnelles et une sécurité renforcée. Les mises à jour sont appliquées de manière transactionnelle à l'aide de snapshots Btrfs, ce qui permet au système de revenir à un état propre en cas de mise à jour défectueuse.
Fonctionnement de K3s
K3s est une distribution légère de Kubernetes conçue pour les environnements à ressources limitées. Il est entièrement conforme aux spécifications de Kubernetes et simplifie les opérations. Malgré sa conception minimale, K3s est prêt pour la production et convient bien aux petits et moyens clusters.
Le coût de ce cluster est estimé à 26,97 euros par mois pour six machines, ce qui en fait une solution abordable pour les startups et les développeurs indépendants. Hetzner propose également une option de sauvegarde automatique et de réplication des données pour assurer la sécurité et la disponibilité des données.
Exemple de code
terraform {
required_version = ">= 0.15.0"
required_providers {
hcloud = {
source = "hetznercloud/hcloud"
version = "1.35.0"
}
}
}
Cet exemple de code Terraform montre comment configurer un cluster K3s sur Hetzner Cloud en utilisant le module Kube-Hetzner.