
영구 볼륨의 예가 있습니다.kubernetes statefulset을 통한 postgresql에 대한 이 기사
kind: PersistentVolume
apiVersion: v1
metadata:
name: pgdata
labels:
app: postgres
type: local
spec:
storageClassName: sc001
capacity:
storage: 1Gi
accessModes:
- ReadWriteOnce
hostPath:
path: "/var/data"
이것은 작동하는 것처럼 보이지만 논리에 문제가 있습니다.
내가 당신에게 필요한 문제를 이해하는 한어느 하나ㅏ
persistentVolume
또는storageClass
a 의 요구를 충족시키기 위해PersistentVolumeClaim
. 여기서 a는PV
정적이고SC
동적입니다. 나는 둘 중 하나를 배타적인 것으로 이해합니다어느 하나하나또는다른 하나,둘 다 아님NOR
(나는 그것이 에 반대하여 호출 되었다고 믿습니다OR
). 그래서 나는 a가 여기서
무엇을 하고 있는지 이해하지 못합니다 .storageClaseName
누구든지 논리적 이해를 도와줄 수 있나요?type: local
나는path: "/var/data"
볼륨이 노드의 로컬 파일 시스템에 존재하고 그 내용이/var/data
해당 노드의 디렉터리 에서 찾을 수 있다고 믿습니다 . 다른 것을 사용하려는 경우
어떤 값을 사용해야 합니까 ?type
프로비저너(제 경우에는 csi.vsphere.vmware.com)가 제공하는 스토리지와 같은가요?
답변1
질문이 맞았기를 바랍니다.
persistVolumeClaim은 항상 persistVolume에 바인딩됩니다. 아이디어는 Pod가 배포되는 노드에 관계없이 동일한 디스크에 Pod를 연결할 수 있는 방식으로 디스크에 연결된 청구를 갖는 것입니다.
StorageClass는 자동 persistVolume 프로비저닝 메커니즘입니다. 즉, persistVolumeClaim을 지정하고 기본 StorageClass가 구성되어 있으면 persistVolume을 생성하고 이를 persistVolumeClaim에 연결합니다.
PermanentVolume을 수동으로 생성할 수도 있으며 이는 persistVolumeClaim에 연결되지만(storageClass에 관계없이) 수백 개의 PVC가 있고 각 PVC에 대한 PV를 유지 관리하는 대규모 환경을 이미지화합니다.
PVC를 연결할 PV를 지정할 수도 있습니다.
구성 type:local
은 PV 역할을 하는 노드의 로컬 볼륨입니다. 귀하의 경우 vmware는 vmdk 파일을 생성하여 포드가 배포된 노드에 복사합니다.
도움이 되길 바랍니다.
답변2
Question: So I do not understand what a storageClaseName is doing in here. Can anybody help me out with the logical understanding?
StorageClaseName은 영구 볼륨의 클래스를 지정하는 것입니다. 설명하기 위해 유스 케이스를 활용하겠습니다. 프로덕션에 중요한 앱의 저장 공간을 3가지 범주로 관리한다고 가정해 보세요. 골드, 실버, 브론즈. Gold는 프로덕션 등급의 중요한 애플리케이션을 위한 것이고 나머지는 덜 중요한 애플리케이션을 위한 것입니다. 이제 위험 수준에 따라 애플리케이션에 할당할 스토리지 유형을 쉽게 할당할 수 있습니다. 예를 들어 비디오 스트리밍 서비스에 골드 클래스 스토리지를 사용하려면 StorageClassName이 골드 클래스로 설정된 PVC를 지정해야 합니다. 이제 kubernetes는 이 요청을 충족하기 위해 골드 클래스 카테고리에 속하는 PV를 찾습니다(사용 가능한 경우). 크기가 이 PVC에 충분하지만 Gold 클래스에 속하지 않는 PV가 있는 경우 해당 PV는 이 요구 사항을 충족하는 데 사용되지 않습니다.
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: gold-class-claim
spec:
accessModes:
- ReadWriteOnce
storageClassName: gold-class-storage
....
Question: What value would I have to use for type whether I wanted to use something else?
다음 링크를 참조하세요: https://kubernetes.io/docs/concepts/storage/pertant-volumes/#types-of-pertant-volumes