PV
: 데이터를 저장할 볼륨. 볼륨을 생성하고 이를 클러스터에 등록한 것PVC
: 필요한 저장 공간·RW모드 등 요청사항을 기술한 명세로서 PV에 전달하는 요청. PV와 바인딩을 하는 목적으로 사용1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | apiVersion: v1 kind: PersistentVolume metadata: name: demo-pv spec: capacity: storage: 100Mi accessModes: - ReadWriteMany hostPath: path: "/pv/log" persistentVolumeReclaimPolicy: Retain | cs |
capacity
: 볼륨 크기accessModes
: 볼륨 RW 모드persistentVolumeReclaimPolicy
: PV 릴리즈(사용 종료) 시 볼륨에 저장된 데이터 삭제 옵션1 2 3 4 5 6 7 8 9 10 | apiVersion: v1 kind: PersistentVolumeClaim metadata: name: demo-pvc spec: accessModes: - ReadWriteMany resources: requests: storage: 50Mi | cs |
accessModes
: 사용하고자 하는 PV의 accessModes와 동일한 옵션을 사용해야 bound 가능requests
: 사용을 원하는 볼륨의 요구조건을 명시kubectl get persistentvolume | persistentvolumeclaims
kubectl describe persistentvolume [PV_이름] | [PVC_이름]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | apiVersion: v1 kind: Pod metadata: name: webapp spec: containers: - name: webapp image: nginx volumeMounts: - name: log-vol mountPath: "/log" volumes: - name: log-vol hostPath: path: "/var/log/webapp" | cs |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | apiVersion: v1 kind: Pod metadata: name: webapp spec: containers: - name: webapp image: nginx volumeMounts: - name: log-vol mountPath: "/log" volumes: - name: log-vol persistentVolumeClaim: claimName: demo-pvc | cs |