인프런 커뮤니티 질문&답변

박형준님의 프로필 이미지

작성한 질문수

그림으로 배우는 쿠버네티스(v1.30) - {{ x86-64, arm64 }}

5.5 PV, PVC 관련 질문드립니다

작성

·

249

0

안녕하세요 강사님!

PV와 PVC에 대한 강의 중에 질문이 생겨서 글 남깁니다.

이게 pv yaml 파일

이게 pvc yaml 파일이었고,

관리자가 pv를 만들어주면 개발자(사용자)가 pvc를 선언하여 이를 오브젝트에 마운트하는 개념으로 이해했습니다.

그런데 PVC yaml 파일에는 어떤 PV(현재의 경우 pv-nfs)를 사용하는지에 대한 내용이 없는 것이 잘 이해가 되지 않습니다. pvc 파일에 어떤 pv를 bind 할건지에 대한 내용이 들어가야 하는거 아닌가요?

만약에 관리자가 특정 네임스페이스에 여러개의 pv를 할당해주었고, 사용자가 이를 선택하여 pvc를 걸고자 하는 경우는 어떻게 핸들링이 되어야 할까요?

 

항상 좋은 강의 감사드립니다. 즐거운 일요일 밤 되세요~~

 

답변 1

0

조훈(Hoon Jo)님의 프로필 이미지
조훈(Hoon Jo)
지식공유자

안녕하세요

좋은 질문 감사합니다.

해당 부분을 강의에 넣을까 말까 고민을 했었는데요. 넣지 않은 이유는...

아마 순서대로 들으실 경우에 storageclass가 나올 것이고, 실무적으로 그리고 실질적으로 storageclass를 통해서 binding하기 때문입니다.

단순히 pv를 만들고 pvc를 claim해서 사용하는 경우는 거의 없다고 보시면 될 것 같고....

구조를 이해하기 위해서 해당 부분을 다루었다 라고 보시면 될 것 같습니다.

(현재 이해하시는 구조는 정확하게 맞습니다.)

 

질문 하신 내용에 대해서 적자면...

다음과 같이 2가지 방법으로 가능합니다.

https://kubernetes.io/docs/concepts/storage/persistent-volumes/#reserving-a-persistentvolume

1.pvc를 생성할 때 이름 지정

pvc를 만들려고 할때 기존에 어느 pv를 사용할지

volumeName 을 넣는 방식 입니다.

 

2.pv를 생성할때 pvc에서 가지고 가도록 예약

claimRef 라는 구문을 통해서 네임스페이스 - pvc 이름을 지정해서 추후에 reference할 수 있도록 합니다.

 

이와 관련한 stackoverflow 이야기도 있으니 함께 보시면 더 좋으실 것 같습니다.

https://stackoverflow.com/questions/34282704/can-a-pvc-be-bound-to-a-specific-pv

 

다시 한번 좋은 질문에 감사드립니다.

 

조훈 드림.

박형준님의 프로필 이미지
박형준
질문자

그런 깊은 뜻이 있었군요! 친절하고 자세한 답변 감사드립니다!