Direkomendasikan untuk menempatkan data pod ke dalam beberapa volume persisten sehingga data akan tersedia bahkan setelah penghentian pod. Di Kubernetes (k8s), volume persisten berbasis NFS dapat digunakan di dalam pod. Dalam artikel ini kita akan mempelajari cara mengkonfigurasi volume persisten dan klaim volume persisten dan kemudian kita akan membahas, bagaimana kita dapat menggunakan volume persisten melalui nama klaimnya di pod k8s.
Saya berasumsi kita memiliki cluster k8s fungsional dan Server NFS. Berikut adalah detail untuk penyiapan lab,
- IP Server NFS =192.168.1.40
- Bagian NFS =/opt/k8s-pods/data
- Kluster K8 =Satu master dan dua node pekerja
Catatan: Pastikan server NFS dapat dijangkau dari node pekerja dan coba pasang nfs share pada setiap pekerja sekali untuk pengujian.
Buat file di dalam nfs share karena kita akan memasang share ini di nginx pod nanti di artikel.
[[email protected] ~]$ echo "Halo, NFS Storage NGINX"> /opt/k8s-pods/data/index.html
Konfigurasikan PV berbasis NFS (Volume Persisten)
Untuk membuat volume persisten berbasis NFS di K8, buat file yaml di master node dengan konten berikut,
[[email protected] ~]$ vim nfs-pv.yamlapiVersion:v1kind:PersistentVolumemetadata: name:nfs-pvspec: capacity: storage:10Gi volumeMode:Filesystem accessModes: - ReadWriteMany persistentVolumeReclaim Name :RecycleOptions storage - nfsvers=4.1 nfs: jalur:/opt/k8s-pods/data server:192.168.1.40
Simpan dan keluar dari file
Sekarang buat volume persisten menggunakan file yaml yang dibuat di atas, jalankan
[[email protected] ~]$ kubectl create -f nfs-pv.yamlpersistentvolume/nfs-pv created[[email protected] ~]$
Jalankan perintah kubectl berikut untuk memverifikasi status volume persisten
[[Dilindungi Email] ~] $ KUBECTL Mode Akses Kapasitas Pvname Reclaim Kebijakan Status Klaim StorageClass Alasan Agenfs-PV 10 Gi RWX Tersedia NFS 20S [[PRE>] $~]
Keluaran di atas mengonfirmasi bahwa PV telah berhasil dibuat dan tersedia.
Konfigurasikan Klaim Volume Persisten
Untuk memasang volume persisten di dalam pod, kita harus menentukan klaim volume persistennya. Jadi, mari buat klaim volume persisten menggunakan file yaml berikut
[[email protected] ~]$ vi nfs-pvc.yamlapiVersion:v1kind:PersistentVolumeClaimmetadata: name:nfs-pvcspec: storageClassName:nfs accessModes: - ReadWriteMany resource: request:penyimpanan
Simpan dan keluar dari file.
Jalankan perintah kubectl di bawah untuk membuat pvc menggunakan file yaml di atas,
[[email protected] ~]$ kubectl create -f nfs-pvc.yamlpersistentvolumeclaim/nfs-pvc created[[email protected] ~]$
Setelah eksekusi di atas, control plane akan mencari volume persisten yang memenuhi persyaratan klaim dengan nama kelas penyimpanan yang sama dan kemudian akan mengikat klaim ke volume persisten, contoh di bawah ini:
[[Dilindungi Email] ~] $ KUBECTL Dapatkan PVC NFS-PVCName Status Kapasitas Akses Kapasitas Akses StorageClass Agenfs-PVC Bound NFS-PV 10GI RWX NFS 3M54S [[email terlindung] ~] $ [[EMACTLEK] ~] KUBECTL Dapatkan PV NFS-Pvname Mode Akses Kapasitas Reclaim Kebijakan Status Klaim StorageClass Alasan Agenfs-PV 10 Gi RWX Recycle Bound Default / NFS-PVC NFS 18m [[email terlindungi] ~] $~]
Keluaran di atas menegaskan bahwa klaim (nfs-pvc) terikat dengan volume persisten (nfs-pv).
Sekarang kita siap untuk menggunakan volume persisten berbasis nfs di samping pod.
Gunakan Volume Persisten berbasis NFS di dalam Pod
Buat pod nginx menggunakan file yaml di bawah, itu akan memasang klaim volume persisten di '/usr/share/nginx/html'
[[email protected] ~]$ vi nfs-pv-podapiVersion:v1kind:Podmetadata: name:nginx-pv-podspec: volumes: - name:nginx-pv-storage persistentVolumeClaim: - claimName: pv-nfs name:nginx image:nginx port: - containerPort:80 name:"nginx-server" volumeMounts: - mountPath:"/usr/share/nginx/html" > x namaSimpan dan tutup file.
Sekarang buat pod menggunakan file yaml di atas, jalankan
[[email protected] ~]$ kubectl create -f nfs-pv-pod.yamlpod/nginx-pv-pod created[[email protected] ~]$[[email protected] ~]$ kubectl get pod nginx- PV-POD -O Widename Ready Status Restart Usia IP Node Node Kisah Node GatesnginX-PV-POD 1/1 LIHAT 0 66S 172.16.1640.28 K8S-Pekerja-2$ Catatan: Untuk mengetahui lebih detail tentang pod, kubectl mendeskripsikan pod
Output perintah di atas mengkonfirmasi bahwa pod telah berhasil dibuat. Sekarang coba akses halaman nginx menggunakan perintah curl
[[email protected] ~]$ curl http://172.16.140.28Halo, NFS Storage NGINX[[email protected] ~]$Sempurna, output perintah curl di atas mengonfirmasi bahwa volume persisten dipasang dengan benar di dalam pod saat kita mendapatkan konten file index.html yang ada di NFS share.
Ini menyimpulkan artikel, saya yakin kalian punya beberapa ide dasar tentang cara mengonfigurasi dan menggunakan volume persisten berbasis NFS di dalam pod Kubernetes.
Baca Juga :Cara Setup Cluster Kubernetes(k8s) di HA dengan Kubeadm
Baca Juga :Cara Memasang dan Menggunakan Helm di Kubernetes
Cara Menggunakan Loop di Ansible Playbook Cara Mengatur Cluster Kubernetes(k8s) di HA dengan KubeadmLinux