1 điểm bởi GN⁺ 2024-12-02 | 1 bình luận | Chia sẻ qua WhatsApp

Hetzner

  • Việc chuyển sang Hetzner chủ yếu nhằm cắt giảm chi phí. Mức giá của Hetzner có sức cạnh tranh trên toàn cầu.
  • Hetzner cung cấp máy ảo và máy bare metal; tuy hạn chế hơn so với AWS nhưng bù lại bằng giá cả.
  • Khi chuyển sang Hetzner, chi phí hạ tầng đã giảm hơn 75%.

Kubernetes trên Hetzner

Kubernetes tự quản lý

  • Đã vận hành Kubernetes trên DigitalOcean và trên Hetzner cũng vận hành theo cách tự quản lý.
  • Hetzner không cung cấp control plane Kubernetes được quản lý, nên phải tự quản trị.
  • Sử dụng Terraform và Puppet để quản lý và cấu hình các node.

Vai trò của node

  • Sử dụng quy tắc đặt tên node để giữ vai trò trong cụm đơn giản: control-plane, worker, database.
  • Việc thêm vai trò thì đơn giản, nhưng có thể làm giảm hiệu quả sử dụng tài nguyên.

Xây dựng node

  • Sử dụng Terraform để bootstrap cụm.
  • Hetzner cung cấp tường lửa và mạng được quản lý, có thể cấu hình dễ dàng bằng Terraform.
  • Máy chủ được quản lý hoàn toàn bằng Terraform, và việc viết module theo từng vai trò giúp thêm máy chủ trở nên đơn giản.

Mạng

  • Sử dụng VPN Tailscale để thực hiện kết nối quản trị tới các node.
  • Tailscale hỗ trợ NAT hole punching, cho phép kết nối an toàn ngay cả khi đã đóng các cổng.
  • Sử dụng tường lửa được quản lý của Hetzner và UFW của Ubuntu để chặn cổng.
  • Sử dụng Calico để cấu hình container networking interface.

Lưu trữ

  • Hetzner cung cấp block storage dựa trên nVME SSD và SSD.
  • Volume của Hetzner không có tính năng snapshot, vì vậy phải sao lưu dữ liệu thủ công.
  • Trên các node cơ sở dữ liệu, sử dụng Local Persistence Volume Static Provisioner để pre-provision local volume.

Sao lưu

  • Hetzner không cung cấp sao lưu volume nhưng có cung cấp sao lưu toàn bộ máy chủ.
  • Sử dụng Velero của VMware để sao lưu namespace và PVC.
  • Với Postgres, sử dụng pgBackRest.

Tính năng bổ sung

  • Sử dụng SealedSecrets để quản lý bí mật.
  • Sử dụng Node Exporter, Prometheus, Grafana, Loki để giám sát cụm.
  • Sử dụng Alertmanager để tích hợp cảnh báo với Slack.

Suy nghĩ về việc vận hành Kubernetes trên Hetzner

  • Việc chuyển sang Hetzner mất khoảng 1 tuần, và cần thêm 4 tuần để kiểm thử và tinh chỉnh.
  • Giá của Hetzner là hợp lý và được tin là sẽ tiếp tục thấp hơn so với các nhà cung cấp khác.
  • Hetzner có một số hạn chế về chất lượng IP và dịch vụ khách hàng.
  • Hetzner phát hành tính năng mới khá nhanh, nhưng cũng có thể nhanh chóng ngừng các dịch vụ có lợi nhuận thấp.
  • Các trung tâm dữ liệu ở Trung Âu nằm tại Falkenstein, Nuremberg của Đức và Helsinki của Phần Lan.

Tóm tắt

  • Quá trình chuyển đổi diễn ra suôn sẻ, giúp giảm hơn 75% chi phí hạ tầng và tăng gấp đôi tài nguyên tính toán của cụm.
  • Hetzner là một lựa chọn rất có lợi khi cần cắt giảm chi phí.
  • Các controller mã nguồn mở của Hetzner giúp việc quản lý load balancer và gắn volume bền vững trở nên dễ dàng.

1 bình luận

 
GN⁺ 2024-12-02
Ý kiến Hacker News
  • Chỉ ra rằng không có đề cập nào về tính bền vững hay 'green hosting', đồng thời nhắc rằng các trung tâm dữ liệu của Hetzner tại châu Âu dùng năng lượng thân thiện với môi trường, còn ở Mỹ thì không
  • Chia sẻ kinh nghiệm vận hành cụm Kubernetes trên Hetzner và giải thích rằng chi phí có thể chỉ thấp bằng 20% so với AWS, nhưng đi kèm rất nhiều đánh đổi
    • Nhấn mạnh rằng họ phải tự quản lý việc cập nhật cụm Kubernetes, gặp nhiều lỗi khác nhau của Ceph và Kubernetes, và việc này đòi hỏi rất nhiều công sức cùng giám sát
    • Khi dùng các nhà cung cấp đám mây lớn như AWS, gánh nặng vận hành giảm đi nhờ các dịch vụ được quản lý sẵn
    • Giải thích rằng Hetzner tuy rẻ, nhưng thời gian bổ sung dành cho công việc DevOps có thể làm mất đi phần tiết kiệm đó
  • Chia sẻ trải nghiệm từng chặn IP của Hetzner trong quá khứ khi làm web hosting, và nhắc đến các vấn đề liên quan tới những nhà cung cấp VM giá rẻ
  • Chia sẻ ý tưởng tiết kiệm chi phí liên quan đến Kubernetes, đề xuất thiết lập một cụm bằng cách kết hợp node on-premises với node của nhà cung cấp đám mây
    • Cho rằng chi phí egress sẽ là biến số chính
  • Cảm thấy phần mô tả về cụm và workload còn thiếu, và nói rằng muốn biết quy mô tuyệt đối của số tiền đã tiết kiệm được
  • Giới thiệu một dự án GitHub như một cách để thiết lập và quản lý Kubernetes trên Hetzner
  • Chia sẻ trải nghiệm máy chủ game bị gián đoạn do vấn đề với hệ thống hỗ trợ của Hetzner, đồng thời khuyên nên cẩn trọng
  • Chia sẻ trải nghiệm triển khai một operator mỏng để tích hợp load balancer của Hetzner vào Kubernetes, đồng thời giới thiệu dự án liên quan
  • Đã chuyển từ Heroku sang DigitalOcean và trải nghiệm mức tiết kiệm chi phí 75%, đồng thời suy đoán rằng nếu chuyển sang Hetzner thì có thể tiết kiệm tới 93%
  • Đính chính hiểu lầm về cụm được quản lý trên DigitalOcean, giải thích rằng chi phí node không bị tính thêm, và nhấn mạnh sức hấp dẫn của DigitalOcean