1 पॉइंट द्वारा GN⁺ 2024-12-02 | 1 टिप्पणियां | WhatsApp पर शेयर करें

Hetzner

  • Hetzner पर माइग्रेशन का मुख्य उद्देश्य लागत कम करना था। Hetzner की कीमतें वैश्विक स्तर पर प्रतिस्पर्धी हैं।
  • Hetzner virtual machines और bare metal machines प्रदान करता है, और AWS की तुलना में सीमित होने के बावजूद कीमत से इसकी भरपाई करता है।
  • Hetzner पर माइग्रेट करने के बाद इंफ्रास्ट्रक्चर लागत में 75% से अधिक की कमी आई।

Kubernetes on Hetzner

Self-managing Kubernetes

  • DigitalOcean पर Kubernetes चलाया गया था, और Hetzner पर भी इसे self-managing तरीके से चलाया गया।
  • Hetzner managed Kubernetes control plane प्रदान नहीं करता, इसलिए इसे सीधे manage करना पड़ता है।
  • Nodes को manage और configure करने के लिए Terraform और Puppet का उपयोग किया गया।

Node roles

  • Cluster के भीतर roles को सरल रखने के लिए node naming convention का उपयोग किया गया: control-plane, worker, database.
  • Roles जोड़ना आसान है, लेकिन इससे resource usage की efficiency कम हो सकती है।

Node provisioning

  • Terraform का उपयोग करके cluster को bootstrap किया गया।
  • Hetzner managed firewall और networking प्रदान करता है, जिन्हें Terraform से आसानी से configure किया जा सकता है।
  • Servers पूरी तरह Terraform से manage किए गए, और role-आधारित modules लिखकर servers जोड़ना आसान बनाया गया।

Networking

  • Nodes के लिए management connections करने हेतु Tailscale VPN का उपयोग किया गया।
  • Tailscale NAT hole punching प्रदान करता है, जिससे ports बंद होने पर भी सुरक्षित रूप से connect किया जा सकता है।
  • Hetzner के managed firewall और Ubuntu के UFW का उपयोग करके ports को block किया गया।
  • Container Network Interface को configure करने के लिए Calico का उपयोग किया गया।

Storage

  • Hetzner nVME SSD और SSD-आधारित block storage प्रदान करता है।
  • Hetzner volumes में snapshot फीचर नहीं है, इसलिए data backups manually करने पड़ते हैं।
  • Database nodes में local volumes को pre-provision करने के लिए Local Persistence Volume Static Provisioner का उपयोग किया गया।

Backups

  • Hetzner volume backups नहीं देता, लेकिन पूरे server के backups प्रदान करता है।
  • Namespaces और PVC का backup लेने के लिए VMware का Velero उपयोग किया गया।
  • Postgres के लिए pgBackRest का उपयोग किया गया।

अतिरिक्त सुविधाएँ

  • Secrets management के लिए SealedSecrets.
  • Cluster monitoring के लिए Node Exporter, Prometheus, Grafana, Loki.
  • Slack के साथ alert integration के लिए Alertmanager.

Hetzner पर Kubernetes चलाने को लेकर विचार

  • Hetzner पर माइग्रेशन में लगभग 1 सप्ताह लगा, और अतिरिक्त testing व tuning में 4 सप्ताह लगे।
  • Hetzner की कीमतें उचित हैं, और विश्वास है कि वे अन्य providers की तुलना में कम बनी रहेंगी।
  • Hetzner में IP quality issues और customer service से जुड़ी कुछ सीमाएँ हैं।
  • Hetzner तेजी से नए features जारी करता है, लेकिन कम लाभ वाले services को जल्दी बंद भी कर सकता है।
  • Central Europe में इसके data center locations जर्मनी के Falkenstein, Nuremberg और फ़िनलैंड के Helsinki में हैं।

सारांश

  • यह बदलाव सुचारु रूप से हुआ, इंफ्रास्ट्रक्चर लागत 75% से अधिक घटी और cluster के compute resources दोगुने हो गए।
  • अगर लागत कम करना प्राथमिकता है, तो Hetzner एक बहुत फायदेमंद विकल्प है।
  • Hetzner के open source controllers load balancer management और persistent volume attachment को आसान बनाते हैं।

1 टिप्पणियां

 
GN⁺ 2024-12-02
Hacker News टिप्पणियाँ
  • यह इंगित किया गया कि sustainability या 'green hosting' का कोई उल्लेख नहीं है, और बताया गया कि Hetzner के यूरोपीय data center हरित ऊर्जा का उपयोग करते हैं, लेकिन अमेरिका वाले नहीं
  • Hetzner पर Kubernetes cluster चलाने का अनुभव साझा करते हुए बताया गया कि AWS की तुलना में लागत 20% तक कम हो सकती है, लेकिन इसके साथ कई trade-off आते हैं
    • Kubernetes cluster updates को खुद manage करना पड़ा, Ceph और Kubernetes के विभिन्न bugs का सामना करना पड़ा, और काफी काम व monitoring की जरूरत रही
    • AWS जैसे बड़े cloud providers का उपयोग करने पर managed services की वजह से operational burden कम हो जाता है
    • Hetzner सस्ता है, लेकिन DevOps काम में लगने वाला अतिरिक्त समय उस बचत को खत्म कर सकता है
  • पिछले web hosting अनुभव से Hetzner IPs को block करने का अनुभव साझा करते हुए, सस्ते VM providers से जुड़ी समस्याओं का उल्लेख किया गया
  • Kubernetes से जुड़ी cost-saving ideas साझा करते हुए, on-premise nodes और cloud provider nodes को मिलाकर cluster सेट करने का सुझाव दिया गया
    • माना गया कि egress cost मुख्य variable होगी
  • यह महसूस किया गया कि cluster और workload के बारे में पर्याप्त जानकारी नहीं है, और बचाई गई लागत का absolute size जानने की इच्छा जताई गई
  • Hetzner पर Kubernetes सेटअप और management के लिए एक GitHub project की सिफारिश की गई
  • Hetzner के support system की समस्या के कारण game server बंद होने का अनुभव साझा करते हुए सावधानी बरतने को कहा गया
  • Hetzner के load balancer को Kubernetes में integrate करने के लिए एक thin operator लागू करने का अनुभव साझा किया गया, और संबंधित project पेश किया गया
  • Heroku से DigitalOcean पर जाने के बाद 75% cost reduction का अनुभव साझा किया गया, और अनुमान लगाया गया कि Hetzner पर जाने पर 93% तक बचत हो सकती थी
  • DigitalOcean के managed cluster के बारे में गलतफहमी दूर करते हुए बताया गया कि node cost अलग से नहीं जुड़ती, और DigitalOcean की आकर्षकता पर जोर दिया गया