Hetzner
- Migrasi ke Hetzner terutama dilakukan untuk penghematan biaya. Harga Hetzner kompetitif secara global.
- Hetzner menyediakan virtual machine dan bare metal machine; fiturnya lebih terbatas dibanding AWS, tetapi dikompensasi oleh harganya.
- Setelah pindah ke Hetzner, biaya infrastruktur berkurang lebih dari 75%.
Kubernetes on Hetzner
Kubernetes yang dikelola sendiri
- Kubernetes dijalankan di DigitalOcean, dan di Hetzner juga dijalankan dengan pendekatan self-managing.
- Hetzner tidak menyediakan managed Kubernetes control plane, sehingga harus dikelola langsung.
- Node dikelola dan dikonfigurasi menggunakan Terraform dan Puppet.
Peran node
- Aturan penamaan node digunakan untuk menjaga peran di dalam cluster tetap sederhana:
control-plane, worker, database.
- Menambahkan peran itu mudah, tetapi dapat mengurangi efisiensi penggunaan resource.
Pembangunan node
- Cluster di-bootstrap menggunakan Terraform.
- Hetzner menyediakan managed firewall dan networking, yang mudah dikonfigurasi dengan Terraform.
- Server dikelola sepenuhnya dengan Terraform, dan module per peran dibuat agar penambahan server menjadi sederhana.
Networking
- Koneksi administrasi ke node dilakukan menggunakan Tailscale VPN.
- Tailscale menyediakan NAT hole punching sehingga koneksi tetap aman meski port ditutup.
- Port diblokir menggunakan managed firewall dari Hetzner dan UFW di Ubuntu.
- Calico digunakan untuk mengonfigurasi container networking interface.
Storage
- Hetzner menyediakan nVME SSD dan block storage berbasis SSD.
- Volume Hetzner tidak memiliki fitur snapshot, sehingga backup data harus dilakukan secara manual.
- Pada node database, Local Persistence Volume Static Provisioner digunakan untuk melakukan pra-provisioning volume lokal.
Backup
- Hetzner tidak menyediakan backup volume, tetapi menyediakan backup untuk seluruh server.
- Namespace dan PVC dibackup menggunakan Velero dari VMware.
- Untuk Postgres, digunakan pgBackRest.
Fitur tambahan
- SealedSecrets digunakan untuk mengelola secret.
- Node Exporter, Prometheus, Grafana, dan Loki digunakan untuk memantau cluster.
- Alertmanager digunakan untuk integrasi notifikasi dengan Slack.
Pemikiran tentang menjalankan Kubernetes di Hetzner
- Migrasi ke Hetzner memakan waktu sekitar 1 minggu, dengan tambahan 4 minggu untuk pengujian dan tuning.
- Harga Hetzner masuk akal, dan diyakini akan tetap lebih rendah dibanding penyedia lain.
- Ada keterbatasan terkait masalah kualitas IP dan layanan pelanggan Hetzner.
- Hetzner cepat meluncurkan fitur baru, tetapi juga dapat cepat menghentikan layanan yang kurang menguntungkan.
- Lokasi data center di Eropa Tengah berada di Falkenstein dan Nuremberg di Jerman, serta Helsinki di Finlandia.
Ringkasan
- Transisi ini berjalan lancar, memangkas biaya infrastruktur lebih dari 75% dan menggandakan resource komputasi cluster.
- Hetzner adalah pilihan yang sangat menguntungkan jika perlu menekan biaya.
- Controller open source Hetzner memudahkan pengelolaan load balancer dan pemasangan volume persisten secara berkelanjutan.
1 komentar
Opini Hacker News