GNU/Linux >> Belajar Linux >  >> Ubuntu

Pengantar Volume Persisten Kubernetes

Pendahuluan

Kubernetes adalah salah satu solusi orkestrasi paling populer untuk menampung container di lingkungan produksi. Platform ini memungkinkan pengguna untuk mengotomatiskan penerapan berbagai instance aplikasi sambil meningkatkan dan menurunkan skala sesuai permintaan.

Namun, karena sifat pod Kubernetes yang mudah berubah, volume penyimpanan perlu diselesaikan dengan pendekatan yang sama sekali baru.

Artikel ini menjelaskan apa itu volume persisten Kubernetes dan mengapa begitu signifikan.

Apa itu Volume Persisten Kubernetes

Volume persisten Kubernetes adalah volume penyimpanan yang disediakan pengguna yang ditetapkan ke cluster Kubernetes. Siklus hidup volume persisten tidak bergantung pada pod mana pun yang menggunakannya. Dengan demikian, volume persisten sangat cocok untuk kasus penggunaan di mana Anda perlu menyimpan data terlepas dari proses kehidupan pod Kubernetes yang tidak dapat diprediksi.

Tanpa volume yang persisten, mempertahankan layanan yang biasa seperti database tidak mungkin dilakukan. Setiap kali pod diganti, data yang diperoleh selama siklus hidup pod itu akan hilang. Namun, berkat volume yang terus-menerus, data disimpan dalam status yang konsisten.

Jenis Volume Kubernetes

Untuk memahami apa itu volume persisten, pertama-tama kita perlu menjelaskan perbedaan tipe volume. Ada berbagai jenis volume yang dapat Anda gunakan di pod Kubernetes:

  1. Memori node-lokal (emptyDir dan hostPath )
  2. Volume cloud (mis., awsElasticBlockStore , gcePersistentDisk , dan azureDiskVolume )
  3. Volume berbagi file, seperti Sistem File Jaringan (nfs )
  4. Sistem file terdistribusi (mis., cephfs , rbd , dan glusterfs )
  5. Jenis volume khusus seperti PersistentVolumeClaim , secret , dan gitRepo

Keduanya emptyDir dan hostPath dilampirkan ke pod, disimpan di RAM atau di penyimpanan persisten di drive. Karena mereka bergantung pada pod, konten mereka tersedia selama pod berjalan. Jika turun, data hilang.

Dengan volume awan , nfs , dan PersistentVolumeClaim , volumenya independen dan ditempatkan di luar pod. Meskipun pada dasarnya semuanya dirancang untuk menyimpan data, volume awan secara signifikan lebih sulit untuk ditangani. Untuk menghubungkan pod ke penyedia, pengguna harus mengetahui banyak detail penyimpanan.

Sistem file jaringan dan volume persisten jauh lebih praktis. Sebenarnya, kedua jenis volume ini bekerja dengan prinsip yang sama.

NFS memungkinkan Anda terhubung ke volume melalui yaml mengajukan. Tanpa pod, konten volume dilepas tetapi tetap tersedia. Namun, bahkan untuk penyiapan NFS, Anda perlu mengirim Persistent Volume Claim (PVC) permintaan.

Oleh karena itu, Klaim Volume Persisten adalah solusi inti untuk volume persisten di Kubernetes.

Apa yang dimaksud dengan Klaim Volume Persisten

Klaim Volume Persisten adalah objek yang terhubung ke volume penyimpanan back-end melalui serangkaian abstraksi. Mereka meminta sumber daya penyimpanan yang dibutuhkan penerapan Anda.

Keuntungan utama adalah bahwa PVC jauh lebih ramah pengguna, memungkinkan pengembang untuk menggunakannya tanpa harus mengetahui terlalu banyak detail lingkungan cloud yang mereka hubungkan. Administrator mencantumkan detail klaim lengkap di PVC, tetapi pod itu sendiri hanya memerlukan tautan untuk mengaksesnya.

Oleh karena itu, pod yang menggunakan volume persisten juga menyertakan sejumlah lapisan abstrak di antara pod tersebut dan penyimpanan.

Menggunakan Volume Persisten

Untuk mengikat pod dengan volume persisten, perlu menyertakan volume mount dan persisten volume claim (PVC). Klaim ini memungkinkan pengguna untuk memasang volume persisten ke dalam pod tanpa harus mengetahui detail lingkungan cloud.

Dalam klaim volume persisten, pengguna menentukan seberapa besar penyimpanan yang mereka inginkan, pemilih, mengarahkan ke PV yang sesuai, dan kelas penyimpanan. Kelas penyimpanan mengacu pada jenis penyediaan, apakah itu statis atau dinamis.

Penyediaan Statis adalah fitur di mana administrator menggunakan perangkat penyimpanan yang ada dan membuatnya tersedia untuk pengguna cluster. Administrator cluster membuat beberapa volume persisten yang tersedia untuk dikonsumsi dan ada di Kubernetes API.

Penyediaan Dinamis terjadi ketika tidak ada volume persisten statis yang cocok dengan PVC. Dalam hal ini, penyediaan didasarkan pada kelas penyimpanan, dibuat dan dikonfigurasi oleh administrator.

Siklus Hidup Volume Persisten

Setelah Anda menghapus PVC, Anda melepaskan PV dari klaimnya. Bergantung pada kumpulan kebijakan reklamasi, volume akan dipertahankan, didaur ulang, atau dihapus.

  • Jika Anda menyetel kebijakan reklamasi ke mempertahankan , volume dalam penyimpanan tetap ada bahkan setelah klaim dilepaskan.
  • Atau, Anda dapat mendaur ulang volume, yang menghapus konten di dalamnya dan membuatnya tersedia untuk PVC lain.
  • Mengonfigurasi kebijakan reclaim untuk menghapus setelah terputus dari PVC berarti volume dan penyimpanan dihapus sepenuhnya.

Cara Membuat Volume Persisten

1. Untuk membuat volume persisten, Anda mulai dengan membuat .yaml file di editor pilihan Anda. Dalam contoh ini kita beri nama file example-pv.yaml dan edit dengan editor nano:

nano example-pv.yaml

2. Tambahkan konten berikut ke file:

apiVersion: v1
kind: PersistentVolume
metadata:
  name: [pv_name]
spec:
capacity:
  storage: 10Gi
accessModes:
  - ReadWriteOnce
persistentVolumeReclaimPolicy: Retain
mountPath: [path of where the volume is accessible from within the container]
volumeID: [your_volume_id]

3. Ganti spesifikasi name , storage , mountpath , dan volumeID dengan nilai-nilai yang Anda hormati.

4. Simpan dan keluar dari file.

5. Kemudian, terapkan volume persisten dengan menggunakan perintah berikut dengan nama file .yaml yang Anda buat pada langkah sebelumnya:

kubectl create -f example-pv.yaml

Cara Membuat Klaim Volume Persisten

Seperti halnya PV, Anda membuat PVC dengan .yaml file yang terdiri dari konten berikut:

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: [pvc_name]
spec:
  storageClassName: manual
  selector:
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 10Gi

Dengan konten yang ditambahkan, simpan dan keluar dari file.

Setelah Anda mengatur dan mengonfigurasi volume persisten dan klaim volume persisten, Anda dapat menentukan PVC di pod yang diperlukan.


Ubuntu
  1. Bagaimana Cara Membuat Usb yang Persisten?

  2. Pengantar Docker

  3. Pengenalan iptables

  1. Pengantar Gambar Docker

  2. Pengantar Docker

  3. Plesk:Pendahuluan

  1. Apa itu Kubernetes? Panduan Lengkap

  2. Pengantar Panda Python

  3. Bagaimana melakukan Deployment Canary di Kubernetes