[Kubernetes](Volume)How to create pv and pvc in kubernetes
업데이트:
아래 템플릿을 사용하여 hostpath pv,pvc 를 생성할 수 있다
PersistentVolume Template
pv-hostpath.yaml
apiVersion: v1
kind: PersistentVolume
metadata:
name: pv-hostpath
spec:
capacity:
storage: 2Gi #1 스토리지 용량
volumeMode: Filesystem #2
accessModes: #3
- ReadWriteOnce
storageClassName: manual #4
persistentVolumeReclaimPolicy: Delete #5
hostPath: #6
path: /data/storage/test-pv
[dewble@instance-1 volume]$ kubectl -f apply pv-hostpath.yaml
[dewble@instance-1 volume]$ kubectl get pv
NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE
pv-hostpath 2Gi RWO Delete Available manual 7s
STATUS
Available → PVC 에서 사용할 수 있도록 준비됨
Bound → 특정 PVC에 연결됨
Released → PVC는 삭제되었고 PV는 아직 초기화 되지 않은 상태
Failed → 자동 초기화 실패
#3
볼륨의 읽기/쓰기 옵션을 설정.
볼륨은 한번에 .accessModes 필드를 하나만 설정할 수 있으며 필드 값은 세가지가 있다.
- ReadWriteOnce: 노드 하나에만 볼륨을 읽기/쓰기하도록 마운트할 수 있음
- ReadOnlyMany: 여러 개 노드에서 읽기 전용으로 마운트할 수 있음
- ReadWriteMany: 여러 개 노드에서 읽기/쓰기 가능하도록 마운트할 수 있음.
#4
스토리지 클래스를 설정하는 필드.
특정 스토리지 클래스가 있는 PV는 해당 스토리지 클래스에 맞는 PVC와만 연결된다.
.storageClassName 필드 설정이 없으면 .storageClassName 필드 설정이 없는 PVC와만 연결된다.
#5
PV가 해제되었을 때의 초기화 옵션을 설정한다.
앞에서 살펴봤던 것처럼 Retain, Recycle, Delete 정책 중 하나를 설정한다.
#6
해당 PV의 볼륨 플러그인을 명시한다.
하위의 .path 필드에는 마운트시킬 로컬 서버의 경로를 설정한다.
PersistentVolumeClaim Template
pvc-hostpath.yaml
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: pvc-hostpath
spec:
accessModes:
- ReadWriteOnce
volumeMode: Filesystem
resources:
requests:
storage: 1Gi
storageClassName: manual
주요 필드는 pv-hostpath.yaml 과 같다.
.requests.storage → 자원을 얼마나 사용할 것인지 요청. 필드 값은 앞에서 만든 PV의 용량을 초과하면 안된다.
만약 초과하면 만들 수 있는 PV 가 없으므로 Pending 상태가 된다.
pvc 확인
[dewble@instance-1 volume]$ kubectl -f apply pvc-hostpath.yaml
[dewble@instance-1 volume]$ kubectl get pvc
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE
pvc-hostpath Bound pv-hostpath 2Gi RWO manual 2m11s
STATUS → Bound
VOLUME → pv-hostpath
pv 확인
[dewble@instance-1 volume]$ kubectl get pv
NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE
pv-hostpath 2Gi RWO Delete Bound default/pvc-hostpath manual 5h7m
PV가 PVC에 연결되어서 STATUS 항목이 Bound 로 나타난다.
PVC 크기 늘리기
.spec.storageClassName.allowVolumeExpansion → True
.spec.resources.requests.storage → 필드 값에 더 높은 용량을 설정한 후 클러스터에 적용.
댓글남기기