Langsung ke konten utama

Day 94 : Volume dalam kubernetes

 Volume dalam Kubernetes adalah cara Kubernetes menyediakan penyimpanan data yang bisa diakses oleh container yang berjalan di dalam Pod. Volume ini digunakan untuk menyimpan data yang bertahan lebih lama dibandingkan siklus hidup container (persistent data) atau untuk berbagi data antar container dalam Pod yang sama.



Fitur Utama Volume dalam Kubernetes

  1. Bertahan selama Pod hidup: Volume tetap tersedia selama Pod masih berjalan, meskipun container dalam Pod tersebut di-restart.
  2. Berbagi antar container dalam Pod: Semua container dalam Pod yang sama dapat berbagi volume yang sama.
  3. Mendukung berbagai jenis penyimpanan: Kubernetes mendukung berbagai opsi penyimpanan seperti lokal, cloud, atau sistem penyimpanan jaringan.

Jenis-Jenis Volume dalam Kubernetes

Berikut adalah jenis volume yang didukung oleh Kubernetes, beserta penjelasan singkat:

  1. emptyDir

    • Volume kosong yang dibuat saat Pod dijalankan.
    • Data akan hilang jika Pod dihentikan.
    • Cocok untuk berbagi data sementara antar container dalam Pod.
  2. hostPath

    • Menggunakan direktori dari node host sebagai volume.
    • Berguna untuk akses langsung ke file atau direktori di host.
    • Risiko keamanan tinggi jika tidak dikonfigurasi dengan benar.
  3. persistentVolumeClaim (PVC)

    • Menghubungkan Pod dengan Persistent Volume (PV) untuk penyimpanan data yang persisten.
    • Biasanya digunakan untuk integrasi dengan sistem penyimpanan seperti NFS, Ceph, atau penyimpanan cloud.
  4. configMap

    • Digunakan untuk menyimpan konfigurasi dalam bentuk key-value.
    • Memudahkan pengelolaan konfigurasi tanpa perlu menempatkannya langsung dalam kode aplikasi.
  5. secret

    • Mirip dengan ConfigMap tetapi dirancang untuk menyimpan data sensitif, seperti kredensial atau token API.
  6. nfs

    • Volume berbasis Network File System (NFS).
    • Memungkinkan banyak Pod untuk berbagi volume dari server NFS yang sama.
  7. awsElasticBlockStore

    • Menghubungkan Pod ke volume penyimpanan Amazon EBS.
    • Penyimpanan bersifat persisten dan hanya bisa diakses oleh satu Pod pada satu waktu.
  8. gcePersistentDisk

    • Volume yang menggunakan disk persisten dari Google Cloud Engine.
    • Cocok untuk penyimpanan persisten di lingkungan GCP.
  9. azureDisk dan azureFile

    • Volume untuk integrasi dengan penyimpanan Azure (disk dan file).
  10. cephfs

    • Volume untuk sistem file berbasis Ceph.
    • Memungkinkan akses bersama untuk banyak Pod.
  11. iscsi

    • Volume berbasis iSCSI, protokol penyimpanan jaringan untuk koneksi langsung ke penyimpanan tingkat blok.
  12. csi (Container Storage Interface)

    • API standar untuk mengintegrasikan berbagai sistem penyimpanan dengan Kubernetes.
    • Digunakan untuk mendukung driver pihak ketiga atau penyimpanan khusus.
  13. local

    • Menggunakan penyimpanan lokal dari node tertentu.
    • Tidak mendukung migrasi antar node.
  14. projected

    • Menggabungkan beberapa volume (seperti Secret, ConfigMap) ke dalam satu volume.
  15. downwardAPI

    • Memberikan akses ke data dari Pod seperti label, anotasi, atau nama Pod.
  16. emptyDir (Memory-backed)

    • Sama seperti emptyDir, tetapi menggunakan memori node host untuk penyimpanan.
    • Cepat tetapi data akan hilang jika Pod dihentikan.

Pemilihan Volume yang Tepat

Pemilihan volume tergantung pada kebutuhan aplikasi Anda:

  • Untuk data sementara: emptyDir.
  • Untuk data persisten: PersistentVolumeClaim.
  • Untuk integrasi dengan penyimpanan cloud: awsElasticBlockStore, gcePersistentDisk, atau azureDisk.
  • Untuk data sensitif: Secret.
  • Untuk berbagi konfigurasi: ConfigMap.

Komentar

Postingan populer dari blog ini

Day 109 : Akhir dari Perjalanan PKL: Terima Kasih untuk PT Excellent

Hari ini adalah hari terakhir saya menjalani PKL di PT Excellent. Momen ini menjadi penutup dari perjalanan yang luar biasa penuh pembelajaran, pengalaman, dan kenangan yang tak terlupakan. Saya ingin menyampaikan rasa terima kasih yang sebesar-besarnya kepada keluarga besar PT Excellent atas kesempatan, bimbingan, dan kepercayaan yang telah diberikan kepada saya selama saya melaksanakan PKL di sini. Selama PKL, saya mendapatkan banyak pengetahuan baru yang sebelumnya belum pernah saya pelajari. Dari segi teknis, saya belajar banyak tentang teknologi seperti Zimbra, bahasa pemrograman Golang, hingga DevOps hal-hal yang awalnya terasa asing, kini menjadi ilmu yang berharga dan menjadi ilmu baru bagi saya. Namun, pembelajaran saya di PT Excellent tidak hanya terbatas pada aspek teknis. Saya juga belajar tentang kedisiplinan, tanggung jawab, profesionalisme, serta bagaimana pentingnya kolaborasi dalam lingkungan kerja. Terima kasih kepada Mas Ridwan, yang selalu membimbing saya dengan sab...

Day 82 : Membuat image dengan bahasa pemrograman golang

Hari ini, saya melanjutkan perjalanan belajar Docker dengan memanfaatkan Visual Studio Code (VSCode), editor favorit saya. Fokus utama saya adalah memahami cara membuat Docker image menggunakan alur kerja yang terintegrasi dengan VSCode. Proses ini tidak hanya efisien tetapi juga menyenangkan karena VSCode memiliki ekosistem yang kaya, termasuk berbagai ekstensi pendukung yang mempermudah pekerjaan. Mengapa Menggunakan VSCode untuk Docker? VSCode menyediakan lingkungan pengembangan yang lengkap dengan berbagai fitur, seperti: Docker Extension : Mempermudah pengelolaan image, container, dan jaringan Docker langsung dari editor. Terminal Terintegrasi : Menjalankan perintah Docker langsung dari VSCode tanpa perlu beralih aplikasi. Debugging Tools : Membantu melacak masalah aplikasi yang berjalan di dalam container, terutama bagi pengembang Golang. Dengan semua keunggulan ini, VSCode menjadi alat yang sangat mendukung dalam pengembangan berbasis Docker. Langkah-langkah Membuat Docker Image...

Day 35 : jalan-jalan bersama excellent

 Hari ini terasa sangat istimewa, dan jauh berbeda dari hari-hari biasanya selama PKL di PT Excellent. Ini adalah pengalaman pertama saya diajak jalan-jalan oleh perusahaan tempat saya magang, dalam rangka merayakan ulang tahun PT Excellent sekaligus melakukan sesi brainstorming tim.  Pagi itu, saya memulai hari dengan penuh semangat. Saya berangkat ke kantor menggunakan Gojek, menikmati perjalanan sambil membayangkan serunya hari yang akan dilalui. Setibanya di kantor, saya langsung bergabung dengan tim dan mulai memeriksa perlengkapan yang sudah disiapkan sebelumnya. Tugas saya adalah memastikan semua barang yang diperlukan tidak ada yang tertinggal, mulai dari alat-alat untuk acara hingga barang-barang pribadi tim. Saya sangat teliti kali ini, karena tidak ingin ada kesalahan di hari spesial ini. Setelah semuanya siap, sebelum berangkat, kami sempatkan untuk mengambil foto bersama seluruh tim. Rasanya hangat sekali, seperti menjadi bagian dari keluarga besar PT Excellent. P...