상태 저장 애플리케이션(예: 데이터베이스)은 세션 간 데이터를 저장하며, 데이터 저장을 위해 영구 스토리지가 필요합니다. 보존된 데이터를 애플리케이션의 상태라고 합니다. 나중에 데이터를 검색하여 다음 세션에서 사용할 수 있습니다. Kubernetes는 해당 상태와 데이터를 보존할 수 있는 개체로 영구 볼륨을 제공합니다.
vSphere 환경에서 영구 볼륨 개체는 데이터스토어에 상주하는 가상 디스크로 백업됩니다. 데이터스토어는 스토리지 정책으로 표시됩니다. vSphere 관리자가 스토리지 정책(예: gold)을 생성하고 이를 감독자 클러스터의 네임스페이스에 할당하면 이 스토리지 정책이 vSphere 네임스페이스 및 사용 가능한 모든 Tanzu Kubernetes 클러스터에 일치하는 Kubernetes 스토리지 클래스로 나타납니다.
DevOps 엔지니어는 스토리지 클래스를 영구 볼륨 할당 규격에 사용할 수 있습니다. 그런 다음 영구 볼륨 할당에서 스토리지를 사용하는 애플리케이션을 배포할 수 있습니다. 이 예제에서는 애플리케이션의 영구 볼륨이 동적으로 생성됩니다.
사전 요구 사항
vSphere 관리자가 적절한 스토리지 정책을 생성했고 해당 정책을 네임스페이스에 할당했는지 확인합니다.
프로시저
- vSphere Kubernetes 환경의 네임스페이스에 액세스합니다.
- 스토리지 클래스를 사용할 수 있는지 확인합니다.
- 영구 볼륨 할당을 생성합니다.
- 영구 볼륨 할당 구성을 포함하는 YAML 파일을 생성합니다.
이 예에서 파일은
gold 스토리지 클래스를 참조합니다.
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: my-pvc
spec:
accessModes:
- ReadWriteOnce
storageClassName: gold
resources:
requests:
storage: 3Gi
- Kubernetes 클러스터에 영구 볼륨 할당을 적용합니다.
kubectl apply -f pvc_name.yaml
이 명령은 할당의 스토리지 요구 사항을 충족하는 백업 가상 디스크가 있는 Kubernetes 영구 볼륨과 vSphere 볼륨을 동적으로 생성합니다.
- 영구 볼륨 할당의 상태를 확인합니다.
kubectl get pvc my-pvc
출력은 볼륨이 영구 볼륨 할당에 바인딩되어 있음을 보여 줍니다.
NAME STATUS VOLUME CAPACITY ACCESSMODES STORAGECLASS AGE
my-pvc Bound my-pvc 2Gi RWO gold 30s
- 영구 볼륨을 마운트하는 포드를 생성합니다.
- 영구 볼륨을 포함하는 YAML 파일을 생성합니다.
파일에는 다음과 같은 매개 변수가 포함되어 있습니다.
...
volumes:
- name: my-pvc
persistentVolumeClaim:
claimName: my-pvc
- YAML 파일에서 포드를 배포합니다.
kubectl create -f pv_pod_name.yaml
- 포드가 생성되었는지 확인합니다.
NAME READY STATUS RESTARTS AGE
pod_name 1/1 Ready 0 40s
결과
구성한 포드는 영구 볼륨 할당에 설명된 영구 스토리지를 사용합니다.
다음에 수행할 작업
영구 볼륨의 상태를 모니터링하려면 vSphere 네임스페이스 또는 Tanzu Kubernetes 클러스터의 볼륨 상태 모니터링 항목을 참조하십시오. vSphere Client의 영구 볼륨을 검토하고 모니터링하려면 vSphere Client에서 영구 볼륨 모니터링 항목을 참조하십시오.