모의고사 1.12 - 퍼시스턴트 볼륨(Persistent Volume: PV) 생성하기

1. 문제 요건

Create a Persistent Volume with the given specification.

  • Volume Name: pv-analytics
  • Storage: 100Mi
  • Access modes: ReadWriteMany
  • Host Path: /pv/data-analytics



2. 내 풀이

1. 사전 작업

  • kubectl 자동완성 설정을 미리 진행한다(이미 진행한 경우 불필요).
root@controlplane ~ ➜  source <(kubectl completion bash)

root@controlplane ~ ➜  echo "source <(kubectl completion bash)" >> ~/.bashrc 

root@controlplane ~ ➜  alias k=kubectl

root@controlplane ~ ➜  complete -F __start_kubectl k



2. YAML을 이용해 hostpath타입 퍼시스턴트 볼륨(Persistent Volume)생성

  • hostpath 타입 퍼시스턴트 볼륨 매니페스트 파일의 예시를 복사해둔다.
apiVersion: v1
kind: PersistentVolume
metadata:
  name: task-pv-volume
  labels:
    type: local
spec:
  storageClassName: manual
  capacity:
    storage: 10Gi
  accessModes:
    - ReadWriteOnce
  hostPath:
    path: "/mnt/data"

  • vi 에디터로 파일 생성 후 문제 요건에 맞게 수정한다.
vi pv-analytics.yaml

apiVersion: v1
kind: PersistentVolume
metadata:
  name: pv-analytics
  labels:
    type: local
spec:
  storageClassName: manual
  capacity:
    storage: 100Mi
  accessModes:
    - ReadWriteMany
  hostPath:
    path: "/pv/data-analytics"

  • 작성한 매니페스트 파일을 이용해 PV를 생성한다.
root@controlplane ~ ➜  kubectl create -f pv-analytics.yaml 
persistentvolume/pv-analytics created

  • PV가 잘 생성되었는지 확인한다.
root@controlplane ~ ➜  k get pv
NAME           CAPACITY   ACCESS MODES   RECLAIM POLICY   STATUS      CLAIM   STORAGECLASS   REASON   AGE
pv-analytics   100Mi      RWX            Retain           Available           manual                  58s



3. 참고 URL