• 카테고리

    질문 & 답변
  • 세부 분야

    데브옵스 · 인프라

  • 해결 여부

    미해결

pv와 pvc에 대한 궁금증을 질문드립니다. :)

22.04.21 15:50 작성 조회수 227

0

1. spec.capacity.storage 와 spec.accessModes가 동일할시에 자동으로 연결 시켜준다고 강의에서 확인하였습니다.

그런데 제가 본 다른 글중에서 labelSelect 로 선택하는 경우도 있고, stoarage의 양이 pv가 pvc보다 더 높은경우도 보았습니다.

```

apiVersion: v1

kind: PersistentVolumeClaim

metadata:

  name: myclaim

spec:

  accessModes:

    - ReadWriteOnce

  volumeMode: Filesystem

  resources:

    requests:

      storage: 8Gi

  storageClassName: slow

  selector:

    matchLabels:

      release: "stable"

    matchExpressions:

      - {key: environment, operator: In, values: [dev]}

```

pv와 pvc가 연결되는 경우가 사실 여러가지가 있는건가요?

 

2. 아마 storageClass를 사용하지 않을때는, pvc에서 spec.storageClassName을 ""로 명시하는 경우가 있는것같습니다.

그 경우는 ""로 명시하지 않을경우, 기본 스토리지 클래스가 잡혀서 PV가 없어도 자동으로 생성이 되어서 그런걸까요?

 

3. 기본 스토리지 클래스는, 제가 설정한적도 만든적도 없는데, 언제 어떤것이 만들어 진건가요?

 

4. 그리고 storageClass 사용하지 않는 경우에도, Pv pvc storageClass 명시하는 경우도 보았는데, 경우는 어떤 경우일까요?

 

 

항상 강의 잘보고 있습니다.

감사합니다. :)

답변 2

·

답변을 작성해보세요.

1

gasbugs님의 프로필

gasbugs

2022.04.21

안녕하세요 강사 최일선입니다.

1. pv와 pvc가 연결되는 경우가 사실 여러가지가 있는건가요?

네 여러가지 조건이 있습니다. 말씀하신대로 이름을 사용하거나, 강의에서 보여드린대로 캐퍼시티가 기준을 만족하거나

이름을 명시해서 연결될 pv를 결정하는 방법도 있습니다 :)

2. 아마 storageClass를 사용하지 않을때는, pvc에서 spec.storageClassName을 ""로 명시하는 경우가 있는것같습니다. 그 경우는 ""로 명시하지 않을경우, 기본 스토리지 클래스가 잡혀서 PV가 없어도 자동으로 생성이 되어서 그런걸까요?

""로 입력하는 이유는 설정하지 않으면 default 스토리지 클래스가 잡히기 때문입니다. 기본 스토리지가 선택되면 자동으로 pv가 생성됩니다~

3. 기본 스토리지 클래스는, 제가 설정한적도 만든적도 없는데, 언제 어떤것이 만들어 진건가요?

기본 스토리지클래스는 GKE에서 구성해준 것입니다. GKE 클러스터가 구성될 떄 생성됩니다.

4. 그리고 storageClass를 사용하지 않는 경우에도, Pv와 pvc에 storageClass를 명시하는 경우도 보았는데, 이 경우는 어떤 경우일까요?

이 부분은 좀 더 찾아보고 말씀 드리겠습니다.

 

감사합니다!

 

 

 

 

 

enhan님의 프로필

enhan

질문자

2022.04.23

https://minhan2.tistory.com/entry/Kubernetes%EC%9D%98-PersistentVolume-%EC%99%80-PersistentVolumeClaim-%EC%97%B0%EB%8F%99%EC%97%90-%EA%B4%80%ED%95%B4

 

직접 작동 시켜보며 작성해보았습니다.

복잡한듯 안한듯,, 어렵네요 ㅎ..

답변 감사합니다. :)

0

enhan님의 프로필

enhan

질문자

2022.04.22

 

1. 그렇다면 PV를 생성한뒤,

spec.capacity.storage 와 spec.accessModes가 같은 PVC를 생성하더라도

제가 PVC의 spec.storageClassName를 "" 로 작성하지 않으면, Default  스토리지 클래스로 PV가 자동으로 만들어지게 되나요?

저의 의도는 이미 만들어놓은 PV에 연결을 하고자 하였습니다.

 

2.1. PV의 spec중 storageClassName은  무슨용도일까요?
작성하면 어떤 변화가 있을까요?

(이건 이전의 4번 질문과 비슷한것같네요.)

 

2.2. PV PVC spec storageClassName 동일하게 작성을 한다하여서 바인딩이 되는것과는 상관없는일일까요?

 

 

답변 감사합니다!

enhan님의 프로필

enhan

질문자

2022.04.23

해결 되었습니다.

gasbugs님의 프로필

gasbugs

2022.04.25

감사합니다~