Menerapkan, Menskalakan, dan Memantau Penyimpanan Kubernetes

Pengantar Kubernetes

Frank Heilmann

Platform Architect and Freelance Instructor

Persistent Volumes dan Persistent Volume Claims

Persistent Volumes dan Persistent Volume Claims

  • Objek dasar untuk storage: Persistent Volumes (PV), dikelola paralel dengan Pod
  • PV dipetakan ke Pod memakai Persistent Volume Claims (PVC)
  • PV yang dipetakan memungkinkan data tetap ada saat Pod berhenti, dibunuh, atau dimulai ulang
  • PV memisahkan storage dan komputasi
Pengantar Kubernetes

Storage Class

Storage Classes

  • PV: diprovisikan baik
    • manual oleh admin Kubernetes
    • dinamis oleh pengguna biasa
  • Provisioning dinamis lewat Storage Class (SC) tanpa intervensi manusia
  • Storage Class (SC):

    • ditentukan oleh admin Kubernetes
    • berbagai tipe (latensi berbeda, mis. SSD vs HDD, strategi backup berbeda)
  • Jika ragu, gunakan Storage Class ;-)

Pengantar Kubernetes

Menggabungkan semuanya

  • Hanya ada tiga objek agar storage berfungsi:

    • PersistentVolume
    • PersistentVolumeClaim
    • StorageClass
  • Pod yang butuh data persisten memakai PersistentVolumeClaim

  • PVC ini membuat Kubernetes membuat PersistentVolume untuk Pod
  • PersistentVolume ini dipetakan ke Pod yang mengklaim
  • Dipakai StorageClass bernama, yang menentukan detail seperti latensi dan strategi backup PV
  • PersistentVolume ini tetap ada (bersama datanya), meski Pod diakhiri
Pengantar Kubernetes

Cuplikan Manifest

Pod dengan PersistentVolume

apiVersion: v1
kind: Pod
...

spec: containers: ... volumeMounts: - name: pv-mydata mountPath: /mydata
volumes: - name: pv-mydata persistentVolumeClaim: claimName: datacamp-pvc

PersistentVolumeClaim dengan StorageClass

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: datacamp-pvc

spec: storageClassName: "standard" accessModes: - ReadWriteOnce
resources: requests: storage: 5Gi
Pengantar Kubernetes

Perintah "kubectl" untuk Storage

  • kubectl menyediakan perintah lengkap untuk membuat dan memantau Penyimpanan Kubernetes
  • Contoh:
    • kubectl get sc menampilkan semua Storage Class
    • kubectl get pvc menampilkan semua Persistent Volume Claim yang dideploy
    • kubectl get pv menampilkan semua Persistent Volume yang dideploy
    • Seperti biasa, kubectl apply -f <manifest> dapat digunakan untuk mendeploy resource storage yang dideklarasikan di Manifest.
Pengantar Kubernetes

Ayo berlatih!

Pengantar Kubernetes

Preparing Video For Download...