1 คะแนน โดย GN⁺ 2024-12-02 | 1 ความคิดเห็น | แชร์ทาง WhatsApp

Hetzner

  • การย้ายไปใช้ Hetzner มีเป้าหมายหลักเพื่อประหยัดค่าใช้จ่าย โดยราคาของ Hetzner สามารถแข่งขันได้ในระดับโลก
  • Hetzner ให้บริการทั้งเครื่องเสมือนและเครื่อง bare metal แม้จะมีข้อจำกัดมากกว่า AWS แต่ก็ชดเชยด้วยราคา
  • หลังย้ายไปใช้ Hetzner สามารถลดค่าใช้จ่ายด้านโครงสร้างพื้นฐานได้มากกว่า 75%

Kubernetes บน Hetzner

Kubernetes แบบจัดการเอง

  • เคยรัน Kubernetes บน DigitalOcean และบน Hetzner ก็ใช้งานในรูปแบบจัดการเองเช่นกัน
  • Hetzner ไม่มี managed Kubernetes control plane ให้ จึงต้องดูแลเองโดยตรง
  • ใช้ Terraform และ Puppet ในการจัดการและตั้งค่าโหนด

บทบาทของโหนด

  • ใช้กฎการตั้งชื่อโหนดเพื่อให้บทบาทในคลัสเตอร์เรียบง่าย: control-plane, worker, database
  • การเพิ่มบทบาททำได้ง่าย แต่ก็อาจลดประสิทธิภาพในการใช้ทรัพยากร

การสร้างโหนด

  • ใช้ Terraform ในการ bootstrap คลัสเตอร์
  • Hetzner มีไฟร์วอลล์และระบบเครือข่ายแบบจัดการให้ ซึ่งสามารถตั้งค่าผ่าน Terraform ได้ง่าย
  • เซิร์ฟเวอร์ทั้งหมดถูกจัดการด้วย Terraform โดยเขียนโมดูลแยกตามบทบาทเพื่อให้เพิ่มเซิร์ฟเวอร์ได้ง่าย

เครือข่าย

  • ใช้ Tailscale VPN สำหรับการเชื่อมต่อเพื่อจัดการโหนด
  • Tailscale รองรับ NAT hole punching ทำให้เชื่อมต่อได้อย่างปลอดภัยแม้จะปิดพอร์ตไว้
  • ใช้ทั้งไฟร์วอลล์แบบจัดการของ Hetzner และ UFW ของ Ubuntu เพื่อบล็อกพอร์ต
  • ใช้ Calico ในการตั้งค่า container networking interface

สตอเรจ

  • Hetzner ให้บริการทั้ง nVME SSD และ block storage ที่ใช้ SSD
  • โวลุ่มของ Hetzner ไม่มีฟังก์ชัน snapshot ดังนั้นจึงต้องสำรองข้อมูลด้วยตนเอง
  • สำหรับโหนดฐานข้อมูล ใช้ Local Persistence Volume Static Provisioner เพื่อ pre-provision โวลุ่มภายในเครื่อง

การสำรองข้อมูล

  • Hetzner ไม่มีการสำรองข้อมูลระดับโวลุ่ม แต่มีการสำรองทั้งเซิร์ฟเวอร์
  • ใช้ Velero ของ VMware เพื่อสำรอง namespace และ PVC
  • สำหรับ Postgres ใช้ pgBackRest

ฟีเจอร์เพิ่มเติม

  • ใช้ SealedSecrets สำหรับจัดการข้อมูลลับ
  • ใช้ Node Exporter, Prometheus, Grafana, Loki สำหรับมอนิเตอร์คลัสเตอร์
  • ใช้ Alertmanager เพื่อเชื่อมต่อการแจ้งเตือนกับ Slack

ความเห็นต่อการรัน Kubernetes บน Hetzner

  • การย้ายไป Hetzner ใช้เวลาประมาณ 1 สัปดาห์ และใช้เวลาอีก 4 สัปดาห์สำหรับการทดสอบและปรับแต่งเพิ่มเติม
  • ราคาของ Hetzner สมเหตุสมผล และเชื่อว่าจะยังคงต่ำกว่าผู้ให้บริการรายอื่น
  • Hetzner มีข้อจำกัดเรื่องคุณภาพ IP และการบริการลูกค้า
  • Hetzner ออกฟีเจอร์ใหม่ค่อนข้างเร็ว แต่บริการที่ทำกำไรได้น้อยก็อาจถูกยุติอย่างรวดเร็วเช่นกัน
  • ศูนย์ข้อมูลในยุโรปกลางตั้งอยู่ที่ Falkenstein, Nuremberg ในเยอรมนี และ Helsinki ในฟินแลนด์

สรุป

  • การเปลี่ยนผ่านครั้งนี้เป็นไปอย่างราบรื่น ลดค่าใช้จ่ายโครงสร้างพื้นฐานได้มากกว่า 75% และเพิ่มทรัพยากรคอมพิวต์ของคลัสเตอร์เป็นสองเท่า
  • Hetzner เป็นตัวเลือกที่คุ้มค่ามากหากต้องการลดต้นทุน
  • คอนโทรลเลอร์โอเพนซอร์สของ Hetzner ช่วยให้การจัดการ load balancer และการเชื่อมต่อ persistent volume ทำได้ง่ายขึ้น

1 ความคิดเห็น

 
GN⁺ 2024-12-02
ความคิดเห็นจาก Hacker News
  • มีการชี้ให้เห็นว่าไม่มีการพูดถึงเรื่องความยั่งยืนหรือ "กรีนโฮสติ้ง" โดยระบุว่าศูนย์ข้อมูลของ Hetzner ในยุโรปใช้พลังงานสะอาด แต่ในสหรัฐฯ ไม่ได้เป็นเช่นนั้น
  • มีการแชร์ประสบการณ์การรันคลัสเตอร์ Kubernetes บน Hetzner โดยอธิบายว่าค่าใช้จ่ายอาจต่ำกว่า AWS เหลือเพียงราว 20% แต่ก็มาพร้อมกับข้อแลกเปลี่ยนจำนวนมาก
    • ต้องจัดการการอัปเดตคลัสเตอร์ Kubernetes ด้วยตนเอง เจอบั๊กหลากหลายของทั้ง Ceph และ Kubernetes และต้องใช้แรงงานรวมถึงการมอนิเตอร์จำนวนมาก
    • การใช้ผู้ให้บริการคลาวด์รายใหญ่อย่าง AWS ช่วยลดภาระด้านปฏิบัติการได้จากบริการแบบจัดการให้
    • Hetzner มีต้นทุนต่ำก็จริง แต่เวลาที่ต้องเพิ่มให้กับงาน DevOps อาจลบล้างเงินที่ประหยัดได้
  • มีการเล่าประสบการณ์จากอดีตด้านเว็บโฮสติ้งว่าเคยบล็อก IP ของ Hetzner และกล่าวถึงปัญหาที่เกี่ยวข้องกับผู้ให้บริการ VM ราคาถูก
  • มีการแชร์ไอเดียประหยัดต้นทุนที่เกี่ยวกับ Kubernetes โดยเสนอแนวคิดการตั้งค่าคลัสเตอร์แบบผสมระหว่างโหนด on-premises กับโหนดของผู้ให้บริการคลาวด์
    • คิดว่าค่า egress น่าจะเป็นตัวแปรสำคัญ
  • รู้สึกว่ามีคำอธิบายเกี่ยวกับคลัสเตอร์และเวิร์กโหลดไม่เพียงพอ และอยากทราบขนาดของต้นทุนที่ประหยัดได้ในเชิงตัวเลขจริง
  • มีการแนะนำโปรเจ็กต์บน GitHub สำหรับใช้ตั้งค่าและดูแล Kubernetes บน Hetzner
  • มีการแชร์ประสบการณ์ที่เกมเซิร์ฟเวอร์ล่มเพราะปัญหาในระบบซัพพอร์ตของ Hetzner พร้อมเตือนให้ระวัง
  • มีการแชร์ประสบการณ์การทำ thin operator เพื่อรวม load balancer ของ Hetzner เข้ากับ Kubernetes และแนะนำโปรเจ็กต์ที่เกี่ยวข้อง
  • มีการย้ายจาก Heroku ไป DigitalOcean แล้วประหยัดค่าใช้จ่ายได้ 75% และคาดว่าถ้าย้ายไป Hetzner น่าจะประหยัดได้ถึง 93%
  • มีการแก้ความเข้าใจผิดเกี่ยวกับคลัสเตอร์แบบจัดการของ DigitalOcean โดยอธิบายว่าไม่มีค่าใช้จ่ายเพิ่มสำหรับโหนด และย้ำถึงความน่าสนใจของ DigitalOcean