SEKSI-02 — Rencana Implementasi Fase-1

Langkah Implementasi Fase 1 (Opsi D)

Fase 1 menyiapkan platform OneKE skema Opsi D beserta stack container (HAProxy/Ingress, Redis, ProxySQL, MySQL Galera) dan pemisahan storage dua tier di atas Longhorn. Seluruh kebutuhan komputasi (9 vCPU / 44 GB) berada dalam sisa kuota bebas (9,75 vCPU / 102 GB).

Prasyarat

Pastikan tersedia: template Service OneKE 1.29 (ID 0) beserta VM template pendukung (vnf = 15, master/worker = 16, storage = 17); satu VNET publik untuk VNF/Gateway dan satu VNET privat untuk lalu lintas internal Kubernetes; serta izin melampirkan disk data ke worker dari datastore SSD dan HDD.

Datastore yang dipakai sudah terverifikasi pada halaman Settings:

Tier Datastore ID Total Sisa Plafon Pemakaian Peruntukan
SSD (IOPS tinggi) 1 2 TB 2 TB (kosong) 1 TB MySQL Galera / Redis (basis data)
HDD (kapasitas) 101 5 TB 3,8 TB 2 TB Data aplikasi umum / arsip / backup

Note

Pemetaan tier disimpulkan dari kapasitas sisa; konfirmasikan ke oneadmin bahwa DS 1 memang berbasis SSD dan DS 101 berbasis HDD.

Tahapan Eksekusi

1. Konfigurasi Parameter Service Template

Saat instansiasi Service OneKE, isi variabel ONEAPP_* yang relevan: token RKE2, pilihan CNI (Cilium atau Canal), rentang MetalLB untuk LoadBalancer internal, aktifkan Longhorn, dan aktifkan Traefik/Ingress bila dipakai. Untuk peran VNF, atur HAProxy VIP, DNS, NAT, dan Router sesuai VNET publik. Simpan token RKE2 dan VIP untuk verifikasi.

2. Terapkan Skema Opsi D pada Cardinality Peran

Peran VM Template Cardinality Sizing (override)
vnf 15 1 1 vCPU / 4 GB
master (non-HA) 16 1 2 vCPU / 8 GB
worker 16 4 1,5 vCPU / 8 GB (per worker)
storage 17 0 Tidak di-deploy (Longhorn di worker)

Total 9 vCPU / 44 GB. Karena semua peran non-vnf berparent ke vnf dengan cooldown 120 detik, urutan deploy otomatis: vnf → master → worker.

3. Sediakan Disk Data untuk Dua Tier Storage

Longhorn mengonsumsi disk lokal worker, sehingga pemisahan tier dilakukan dengan melampirkan disk data tambahan ke tiap worker dari datastore yang sesuai:

Tier Datastore Ukuran per worker Total (4 worker)
SSD-data DS 1 ~250 GB ~1.000 GB (plafon 1 TB)
HDD-data DS 101 ~500 GB ~2.000 GB (plafon 2 TB)

Setelah langkah ini tiap worker punya tiga disk: disk OS/root, satu disk SSD-data (dari DS 1), dan satu disk HDD-data (dari DS 101). Pelampiran disk dilakukan lewat OpenNebula (koordinasi dengan oneadmin untuk pemilihan datastore).

4. Instansiasi Service dan Verifikasi Cluster

Deploy service, tunggu semua peran berstatus RUNNING, lalu ambil kubeconfig dari master dan verifikasi:

kubectl get nodes            # harus tampak 1 master + 4 worker Ready
kubectl get pods -A          # komponen RKE2/CNI/Longhorn sehat
kubectl -n longhorn-system get pods

Pastikan juga VIP HAProxy pada VNF menerima trafik dari jaringan publik.

5. Konfigurasi Longhorn dan Dua StorageClass

Di Longhorn, daftarkan disk SSD-data dan HDD-data tiap worker sebagai disk terpisah, lalu beri tag: disk dari DS 1 diberi tag ssd, disk dari DS 101 diberi tag hdd. Buat dua StorageClass dengan replika 2×:

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: longhorn-ssd
provisioner: driver.longhorn.io
allowVolumeExpansion: true
parameters:
  numberOfReplicas: "2"
  diskSelector: "ssd"
---
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: longhorn-hdd
provisioner: driver.longhorn.io
allowVolumeExpansion: true
parameters:
  numberOfReplicas: "2"
  diskSelector: "hdd"

Dengan replika 2×, kapasitas logis SSD ≈ 500 GB dan HDD ≈ 1 TB, keduanya di dalam plafon.

6. Deploy Stack Aplikasi dengan Pemetaan Storage

Komponen Replica Request Limit StorageClass / PVC
HAProxy / Ingress 1 0,5 vCPU / 512 MB 1 vCPU / 1 GB — (stateless)
Redis (Cache) 1 0,5 vCPU / 1 GB 1 vCPU / 2 GB longhorn-ssd, ~10–20 GB (opsional)
ProxySQL 1 0,5 vCPU / 512 MB 1 vCPU / 1 GB — (stateless)
MySQL Galera 3 0,5 vCPU / 1 GB per node 1 vCPU / 2 GB per node longhorn-ssd, ~50 GB/node
Volume aplikasi longhorn-hdd, ~100–200 GB/layanan

Contoh PVC untuk satu node MySQL Galera pada tier SSD:

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: galera-data-0
spec:
  accessModes: ["ReadWriteOnce"]
  storageClassName: longhorn-ssd
  resources:
    requests:
      storage: 50Gi

7. Validasi dan Migrasi Rolling

Setelah stack sehat, jalankan migrasi tanpa downtime: muat dan sinkronkan salinan data layanan lama ke Galera, uji fungsional aplikasi terhadap endpoint baru secara paralel dengan VM lama yang tetap jalan, alihkan trafik per layanan bertahap lewat VNF/Ingress sambil memantau performa dan konsistensi, lalu nonaktifkan VM hosting lama hanya setelah pengganti terbukti stabil.

Ringkasan Distribusi Storage Fase 1

Tier Datastore Pemakaian Awal (Fisik) Plafon Sisa Fisik
SSD DS 1 ~300–350 GB (Galera + Redis, replika 2×) 1 TB 2 TB
HDD DS 101 ~400–800 GB logis (+ backup, dengan replika tetap dalam plafon) 2 TB 3,8 TB

Prinsip Rollback

Selama VM lama belum dinonaktifkan, arah trafik dapat dikembalikan seketika ke VM lama bila ditemukan masalah, sehingga risiko migrasi rendah.


Sumber: sispada.ums.id/reports/oneke/