• Home
  • Tips
  • Apa itu Volume dan Persistent Storage di Kubernetes?

Apa itu Volume dan Persistent Storage di Kubernetes?

Oleh Fitri Aulia
Apa itu Volume dan Persistent Storage di Kubernetes? 1

Jika DomaiNesians baru mulai menggunakan Kubernetes, mungkin pernah kaget saat data aplikasi tiba-tiba hilang setelah pod di-restart. Salah satu konsep penting yang perlu dipahami sejak awal adalah volume dan persistent storage. Keduanya berfungsi untuk menyimpan data agar tetap aman, meski pod mati, diganti, atau dijalankan ulang. Di artikel ini, kita akan membahas apa itu volume dan persistent storage di Kubernetes, mengapa penting, dan bagaimana cara menggunakannya dengan benar.

Apa Itu Persistent Volume dan Persistent Volume Claim (PVC)?

Di Kubernetes, konsep Persistent Volume (PV) dan Persistent Volume Claim (PVC) adalah cara untuk mengelola penyimpanan data yang bersifat persisten dan bisa digunakan oleh pod, tanpa tergantung pada lifecycle pod itu sendiri.

PV adalah sumber daya penyimpanan di cluster Kubernetes. PV ini disediakan oleh admin atau disiapkan dari berbagai jenis storage, seperti disk loka. PV ini adalah representasi fisik atau virtual dari ruang penyimpanan yang siap dipakai.

Sementara itu, PVC adalah permintaan dari pengguna (biasanya developer atau aplikasi) untuk menggunakan ruang penyimpanan tertentu dengan kapasitas dan atribut yang diinginkan.ย 

Kenapa Volume Penting dalam Kubernetes?

kubernetes

Volume di Kubernetes cukup penting karena container pada dasarnya bersifat ephemeral atau sementara. Setiap kali container dimulai ulang atau pod diganti, semua data yang tersimpan di dalam container akan hilang. Nah, volume jadi solusi supaya data tersebut bisa bertahan meskipun container mati atau berpindah-pindah.

Dengan volume, kamu bisa menyimpan data aplikasi seperti file konfigurasi, database, atau cache secara persisten. Cukup krusial terutama untuk aplikasi yang membutuhkan stateful data, misalnya database, sistem antrian, atau aplikasi yang menyimpan file user.

Baca Juga:  Volume atau Bind Mount? Mengelola Data Persisten di Docker

Selain itu, volume juga memungkinkan data untuk dibagikan antar beberapa container dalam satu pod. Misalnya, jika DomaiNesians punya aplikasi yang terdiri dari beberapa container yang harus mengakses file yang sama, volume jadi media penyimpanannya.

Cara Kerja Persistent Storage di Kubernetes

Persistent storage di Kubernetes bekerja dengan konsep PV dan PVC yang saling berinteraksi untuk menyediakan penyimpanan yang terpisah dari lifecycle pod. Begini alur kerjanya:

  1. Admin Menyediakan Persistent Volume (PV)
    Administrator cluster membuat PV yang merepresentasikan storage fisik atau virtual, seperti disk di cloud, NFS server, atau storage lokal di node. PV ini memiliki kapasitas, akses mode, dan atribut lain yang sudah ditentukan.
  2. Pengguna Membuat Persistent Volume Claim (PVC)
    Developer atau aplikasi mengajukan permintaan penyimpanan melalui PVC dengan menyebutkan ukuran dan jenis akses yang dibutuhkan. PVC ini seperti permohonan untuk menggunakan storage yang sesuai kebutuhan.
  3. Binding PVC dengan PV
    Kubernetes secara otomatis mencocokkan PVC dengan PV yang tersedia dan memenuhi syarat. Jika ditemukan, PVC akan tersambung ke PV tersebut, dan storage siap digunakan oleh pod.
  4. Pod Menggunakan PVC sebagai Volume
    Setelah PVC tersambung, pod bisa menggunakan PVC tersebut sebagai volume untuk menyimpan data. Data yang ditulis ke volume ini akan tetap tersimpan meskipun pod di restart atau dipindah ke node lain.
  5. Lifecycle Terpisah
    Karena PV dan PVC berada di luar lifecycle pod, data di dalam persistent storage tetap aman walaupun pod yang menggunakan storage tersebut dihentikan, dihapus, atau di restart.

Jenis-Jenis Persistent Storage yang Didukung Kubernetes

Kubernetes mendukung berbagai jenis persistent storage yang bisa digunakan sesuai kebutuhan aplikasi dan infrastruktur. Berikut beberapa jenis yang paling umum dan populer:

1. hostPath

Jenis storage ini menggunakan direktori atau file yang ada di node tempat pod berjalan. Cocok untuk testing atau development, tapi kurang ideal untuk production karena data tidak bisa dipindahkan jika pod pindah ke node lain.

2. NFS (Network File System)

NFS memungkinkan beberapa pod atau node mengakses storage yang sama secara bersamaan melalui jaringan. Ini cocok untuk aplikasi yang butuh akses bersama ke file, seperti shared storage untuk web server.

Baca Juga:  Tips Membuat Desain Menarik dengan Elemen Storytelling

3. AWS EBS (Elastic Block Store)

aws

Ini adalah storage block yang disediakan oleh AWS untuk instans EC2. Cocok untuk aplikasi yang berjalan di cluster Kubernetes di AWS dan membutuhkan persistent disk yang cepat dan andal. Namun, EBS hanya bisa dipasang ke satu node dalam satu waktu.

4. GCE Persistent Disk

Serupa dengan AWS EBS, ini adalah layanan penyimpanan block dari Google Cloud Platform yang bisa dipakai di cluster Kubernetes yang berjalan di GCP. Persistent disk ini cepat, tahan lama, dan bisa dipasang ke satu atau lebih node tergantung konfigurasi.

5. Azure Disk dan Azure File

azure disk

Sumber: Azure

Untuk Kubernetes yang berjalan di Microsoft Azure, kamu bisa pakai Azure Disk (block storage) atau Azure File (file storage yang bisa diakses secara bersama). Keduanya memberikan integrasi storage cloud yang bagus.

6. CSI (Container Storage Interface) Drivers

CSI adalah standar yang memungkinkan vendor storage pihak ketiga untuk membuat plugin storage yang bisa dipakai di Kubernetes. Ini membuka kemungkinan menggunakan banyak jenis storage modern, seperti Ceph, GlusterFS, atau storage khusus dari provider lain.

Tips Memilih Storage untuk Kebutuhan Aplikasi di Kubernetes

Berikut beberapa tips yang bisa dipakai saat menentukan jenis storage yang cocok:

1. Pahami Kebutuhan Aplikasi
Pertama, kenali jenis aplikasi yang dijalankan. Apakah aplikasi tersebut stateless atau stateful?

  • Untuk aplikasi stateless seperti web server biasa yang tidak butuh menyimpan data, kamu bisa pakai storage sementara seperti emptyDir.
  • Untuk aplikasi stateful seperti database, kamu butuh persistent storage yang bisa menyimpan data dengan aman.

2. Perhatikan Akses dan Konsistensi Data
Apakah aplikasi butuh akses data secara bersamaan dari banyak pod? Jika iya, pilihlah storage dengan dukungan shared access seperti NFS atau storage berbasis file yang bisa diakses secara paralel.

3. Evaluasi Performa Storage
Jika aplikasi butuh performa tinggi, misalnya database yang sering membaca dan menulis data, pilih storage dengan latency rendah dan throughput tinggi seperti block storage (AWS EBS, GCE Persistent Disk).

Baca Juga:  Optimasi Core Web Vitals SEO untuk Website Lebih Cepat

4. Perhatikan Skalabilitas dan Durabilitas
Pastikan storage yang dipilih mampu mengikuti pertumbuhan aplikasi dan menyimpan data dengan aman dalam jangka panjang. Pilih storage yang mendukung backup dan recovery.

5. Sesuaikan dengan Infrastruktur yang Dipakai
Pilih storage yang kompatibel dengan cloud provider atau lingkungan on-premise. Misalnya, AWS EBS untuk cluster di AWS, GCE Persistent Disk untuk Google Cloud, atau storage lokal untuk on-premise.

Kelola Data Lebih Aman dengan Storage yang Tepat

Apa itu Volume dan Persistent Storage di Kubernetes?
sumber: trainwithshubham.blog

Memahami dan memilih storage yang tepat adalah kunci agar aplikasi Kubernetes berjalan lancar dan data tetap aman. Mulai dari mengenali kebutuhan aplikasi, menyesuaikan performa dan akses data, hingga mempertimbangkan infrastruktur yang digunakan, semua harus dipikirkan matang-matang supaya storage bisa mendukung aplikasi secara maksimal.

Kalau kamu ingin menjalankan aplikasi Kubernetes dengan performa dan kestabilan terbaik, Cek Cloud VPS DomaiNesia yang menawarkan opsi storage fleksibel dan handal. Dengan dukungan storage yang tepat di lingkungan yang stabil, pengelolaan data jadi lebih mudah dan risiko kehilangan data pun bisa diminimalisir.

Fitri Aulia

Hi! I'm a tech enthusiast who loves digging into how things work, especially in web development, VPS setups, and anything open-source.


Berlangganan Artikel

Dapatkan artikel, free ebook dan video
terbaru dari DomaiNesia

{{ errors.name }} {{ errors.email }}
Migrasi ke DomaiNesia

Migrasi Hosting ke DomaiNesia Gratis 1 Bulan

Ingin memiliki hosting dengan performa terbaik? Migrasikan hosting Anda ke DomaiNesia. Gratis jasa migrasi dan gratis 1 bulan masa aktif!

Ya, Migrasikan Hosting Saya

Hosting Murah

This will close in 0 seconds