Salta al contingut

Categoria: PaaS i contenidors

Kubernetes a Hetzner, muntat i operat per a producció

Un clúster a Hetzner amb el pla de control que no us dona el proveïdor, muntat en codi, amb còpies, GitOps i actualitzacions de versió que algú fa per vosaltres.

On es munta
Al vostre compte, a nom vostre
Còpies
Amb restauració provada
Actualitzacions
Planificades i documentades

En resum

Kubernetes a Hetzner és un clúster de Kubernetes muntat sobre servidors de Hetzner Cloud, que no ofereix Kubernetes gestionat. Muntem el clúster amb k3s, Talos o kubeadm, l'integrem amb els balancejadors, la xarxa privada i els volums de Hetzner, configurem còpies amb Velero i desplegaments per GitOps, i ens ocupem de les actualitzacions. És una alternativa europea i més barata a EKS o GKE.

Què canvia quan no hi ha Kubernetes gestionat?

En EKS, GKE o AKS el proveïdor manté el pla de control: l’API, etcd i les actualitzacions dels components centrals. A Hetzner no existeix aquest servei, així que el pla de control és un servidor més que algú ha de muntar, copiar i actualitzar. Aquesta és la part de la qual ens fem càrrec:

  • Pla de control

    Tres nodes amb etcd, còpies periòdiques d’etcd i certificats que es renoven sols.

  • Integració amb Hetzner

    CCM per a balancejadors i nodes; CSI per a volums; etiquetes d’ubicació en cada node.

  • Xarxa

    Xarxa privada entre nodes, CNI amb polítiques de xarxa i tallafocs del proveïdor.

  • GitOps

    Argo CD o Flux: el que hi ha en el clúster és el que hi ha al repositori.

  • Còpies

    Velero amb els manifests i els volums, cap a Object Storage.

  • Observabilitat

    Mètriques, registres i alertes del clúster i de les aplicacions.

Quina distribució triem?

Opció Quan la fem servir El que cal saber
k3s Equips xicotets o mitjans que volen una cosa lleugera i fàcil de mantindre Binari únic; etcd integrat en alta disponibilitat amb tres servidors
Talos Linux Quan la seguretat del node importa: sistema immutable, sense SSH S’administra només per API; cal acostumar-s’hi
kubeadm Quan voleu Kubernetes sense modificar i control total Més peces per mantindre a mà
Cluster API amb el proveïdor de Hetzner Diversos clústers o clústers que es creen i es destrueixen sovint Més complex d’arrancar, més còmode a escala

En tots els casos, els nodes es parlen per la xarxa privada de Hetzner, el trànsit d’entrada arriba per un Load Balancer de Hetzner que crea el mateix CCM i els volums persistents es demanen al driver CSI.

Quins problemes trobem en clústers de Hetzner?

  • Un sol node de pla de control: si aquest servidor cau o es corromp etcd, el clúster es queda sense cervell.
  • Sense còpia d’etcd: es copia el contingut dels volums, però no l’estat del clúster.
  • Volums que no es mouen: un pod amb volum no pot arrancar en un node d’una altra ubicació.
  • API exposada a internet: el port de l’API obert a qualsevol, sense tallafocs.
  • Versió fora de suport: Kubernetes trau versions menors sovint i el clúster es queda enrere.
  • Clúster fet a mà: ningú no sap tornar a crear-lo perquè no està en codi.

Com fem les còpies, les actualitzacions i la seguretat?

Copiem etcd cada poques hores fora del clúster i, amb Velero, els manifests i els volums cap a Object Storage de Hetzner o d’un altre proveïdor. Restaurem periòdicament en un clúster de prova per a confirmar que les aplicacions arrenquen amb les seues dades. Les bases de dades importants les preferim fora dels volums del clúster o amb el seu propi sistema de còpies, com expliquem en PostgreSQL gestionat.

Les actualitzacions de Kubernetes van de versió menor en versió menor, primer en el pla de control i després node a node, buidant-ne cadascun abans. Abans revisem les API que desapareixen. Per a la seguretat apliquem el bastionatge de Kubernetes: polítiques de xarxa, admissió de pods, RBAC mínim i secrets fora del repositori.

Com migrem des d’EKS, GKE o AKS?

Primer fem inventari del que depén del proveïdor: balancejadors, classes d’emmagatzematge, identitats d’IAM, secrets i bases de dades gestionades. Muntem el clúster de Hetzner en paral·lel, traduïm aquestes dependències, despleguem per GitOps i movem el trànsit servei a servei amb el DNS. L’estalvi el calculem abans amb la vostra factura real; ho expliquem més en migracions i costos cloud. Si preferiu no tindre pla de control propi, la taula comparativa de Kubernetes gestionat compara un clúster autogestionat com este amb els Kubernetes gestionats.

Feu servir un altre proveïdor? El que fem en EKS, GKE, AKS i la resta és a Kubernetes gestionat.

On ho muntem?

Al vostre compte, al proveïdor que ja feu servir o al que encaixe millor. Si les dades s'han de quedar a la UE, Hetzner i OVHcloud són les opcions europees.

Proveïdors on ho muntem

  • Hetzner
  • AWS
  • Google Cloud
  • Azure
  • DigitalOcean
  • OVH
  • Servidor propi
ProveïdorCom ho muntemA tindre en compte
HetznerPla de control i nodes en servidors cloud, muntats per nosaltres. Load Balancers, Networks, Volumes i Firewalls de Hetzner integrats amb el CCM i el CSI oficials.Sense Kubernetes gestionat: l'etcd, les versions i l'alta disponibilitat del pla de control són responsabilitat nostra.
AWSEKS, amb nodes gestionats o Karpenter, balancejadors d'AWS i volums EBS.El pla de control el posa AWS; integració profunda amb IAM. Més car, sobretot en trànsit d'eixida.
Google CloudGKE en mode estàndard o Autopilot.Molt madur; les actualitzacions del clúster poden ser automàtiques.
AzureAKS amb grups de nodes i Azure Disk o Azure Files per a volums.Encaixa si la identitat ja va amb Microsoft Entra ID.
DigitalOceanDOKS, amb balancejadors i volums de DigitalOcean.Gestionat i senzill; menys opcions de xarxa que els grans.
OVHManaged Kubernetes Service d'OVHcloud.
Servidor propik3s o Talos en els vostres servidors o en màquines virtuals de Proxmox, amb MetalLB o un balancejador propi.Sense volums del proveïdor: l'emmagatzematge persistent cal resoldre'l a part.

Què inclou

  • Clúster de Kubernetes al vostre compte de Hetzner, definit en codi (Terraform o OpenTofu) al vostre repositori.
  • Distribució triada segons el cas: k3s, Talos Linux, kubeadm o Cluster API.
  • Controlador de núvol de Hetzner per a balancejadors i nodes, i driver CSI per a volums.
  • Xarxa privada entre nodes, tallafocs de Hetzner i API del clúster sense exposar a tot internet.
  • Ingress, certificats automàtics i DNS extern.
  • Còpies del clúster i dels volums amb Velero cap a Object Storage, amb restauració de prova.
  • Desplegaments per GitOps amb Argo CD o Flux.
  • Actualitzacions de versió de Kubernetes i del sistema dels nodes, una versió menor cada vegada.

Preguntes freqüents

És segur fer servir k3s a Hetzner per a producció?

Sí, si es munta com a producció: tres nodes de pla de control, etcd amb còpies, xarxa privada, tallafocs i actualitzacions al dia. k3s és Kubernetes certificat; el que el fa fràgil no és k3s, sinó un clúster d'un node sense còpies.

Quant ens estalviem respecte a EKS o GKE?

Depén de la càrrega, però els servidors i el trànsit de Hetzner solen eixir força més barats. A canvi, el pla de control no el manté el proveïdor, i aquesta feina l'ha de fer algú. Fem la comparació amb els vostres números abans de decidir, sense xifres de catàleg.

Com es migra d'EKS a Hetzner?

Muntem el clúster nou en paral·lel, adaptem el que depenia d'AWS (balancejadors, volums, IAM, secrets), restaurem les aplicacions amb Velero o les despleguem per GitOps, i canviem el DNS servei a servei. Les bases de dades gestionades com RDS es migren a part, amb replicació.

Què passa si cau un centre de dades de Hetzner?

Si el clúster està repartit en diverses ubicacions de la mateixa zona de xarxa, continua funcionant amb els nodes que queden. Els volums de Hetzner, en canvi, són en una sola ubicació: les dades crítiques van amb rèplica a nivell d'aplicació o amb còpies que es poden restaurar en una altra.

Expliqueu-nos el vostre cas

En una trucada gratuïta de 20 minuts veiem on sou i per on començar. Sense compromís.

Reservar una trucada de 20 minuts

Documentació oficial consultada

Les dades tècniques d'aquesta pàgina es basen en:

Revisat el

WhatsApp