pod 및 노드에 대한 독립성을 갖게 되며, 클러스터 관리자로서 이 볼륨이 구성되는 방식에 대한 완전한 권한을 갖게 된다.
각각의 pod와 각각의 deployment.ymal 파일 등 이러한 파일에 대해 여러 번 구성할 필요가 없다.
한 번만 정의한 다음, 원하는 경우 여러 pod에서 그를 사용할 수 있다.
영구 볼륨은 pod 및 노드 독립성에 대한 아이디어를 기반으로 구축된다.
pod가 파괴되고 재생성되더라도 손실되지 않고, pod와 독립적으로 볼륨을 정의하고, 중앙 위치에 정의한 다음 여러 pod yaml 파일을 편집하지 않고, 볼륨과 다양한 pod에 사용하는 것을 돕는다.
kubectl get sc
-> storageClassName 확인
apiVersion: v1
kind: PersistentVolume
metadata:
name: host-pv
spec:
# capacity는 나중에 클러스터에서 실행되는 다양한 pod에서 사용할 수 있는
# capacity를 제어하기 위해 용량 설정
capacity:
storage: 1Gi
# filesystem, block
volumeMode: Filesystem
storageClassName: standard
# 여러 액세스 모드를 허용
# readwriteones - 단일 노드에 의해, 읽기/쓰기 볼륨으로 마운트될 수 있다.
#readonlymany - 여러 노드에서 요청할 수 있다.
#readwritemany -
accessModes:
- "ReadWriteOnce"
hostPath:
path: /data
type: DirectoryOrCreate
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: host-pvc
spec:
volumeName: host-pv
resources:
requests:
storage: 1Gi
storageClassName: standard
accessModes:
- ReadWriteOnce
volumes:
- name: story-volume
persitentVolumeClaim:
claimName: host-pvc