Sử dụng PersistentVolumeClaim

1. Chuẩn bị yaml file để sử dụng PVC

web-deployment.yaml

---

apiVersion: apps/v1 kind: Deployment metadata: name: web-deployment spec: replicas: 1 selector: matchLabels: app: nginx template: metadata: labels: app: nginx spec: volumes: - name: nginx-volume persistentVolumeClaim: claimName: nginx-pv readOnly: false containers: - image: nginx imagePullPolicy: IfNotPresent name: web-app ports: - containerPort: 80 protocol: TCP volumeMounts: - mountPath: /usr/share/nginx/html name: nginx-volume

2. Triển khai ứng dụng

# kubectl apply -f web-deployment.yaml

Kiểm tra:

  • Access vào container và tạo file

# kubectl exec -it web-deployment-859679cc57-v8kw4 bash

  • Xóa deployment

# kubectl delete -f web-deployment.yaml

  • Tạo lại deployment: khi này hệ thống sẽ tạo ra Pod, Container mới

# kubectl apply -f web-deployment.yaml

  • Access vào container mới để kiểm tra dữ liệu trên PersistentVolume có bị mất không

# kubectl exec -it web-deployment-859679cc57-tglfg bash

=> Có thể thấy ở đây, dữ liệu trên Persistent Volume không bị mất.

Last updated