작성
·
170
0
[질문 하기]
gouplife 님이 이전에 질문했던 사항이긴 한데 아무리 읽어 봐도 현재 저의 지식으로는 이해하기 힘들어 다시 질문 드려요ㅜ
먼저 제가 이해한 내용을 말씀드리면 기존 디플로이먼트나 파드는 상태를 저장하지 않기 때문에 단순히 PVC를 StorageClass에 클레임하여 PV를 받아 모든 파드들이 동일한 PV?에 저장을 한다
하지만 Statefulset을 사용할 경우 상태를 저장하는 특성 때문에 volumeclaimtemplates라는 옵션을 사용할 수 있는데 이는 각각의 POD들 마다 고유한 PV를 가지게 된다 즉, pod 혼자 하나의 PV를 사용한다
저는 위와 같이 이해를 하였습니다. 그래서 sts-0이라는 파드에 접속을 하여 아래와 같이 ttt라는 파일을 만들었습니다
[root@m-k8s 5.7]# k exec sts-0 -it -- /bin/bash
root@sts-0:/# cd backup_data/
root@sts-0:/backup_data# touch ttt
root@sts-0:/backup_data# ls
ttt
volumeclaimtemplates는 pod들 마다 다른 pv를 사용하기에 다른 pod들에 접속을 하면 방금 sts-0에 만든 ttt파일은 없어야 되지 않나 생각했습니다
하지만 sts-1 pod에 접속을 하여 확인을 해보니 ttt 파일이 있었습니다
[root@m-k8s 5.7]# k exec sts-1 -it -- /bin/bash
root@sts-1:/# cd backup_data/
root@sts-1:/backup_data# ls
ttt
그래서 궁금한 점이 아래와 같아요!
volumeclaimtemplates는 pod 마다 독립적인 공간을 사용한다는 게 서로 다른 볼륨에 저장을 한다는 뜻이 아닐까요?
서로 다른 볼륨에 저장을 하는 게 아니라면 volumeclaimtemplates을 사용하는 이유가 있을까요?
답변 1
0
안녕하세요
언급해주신 분과의 논의에 질문 답변에 대한 내용이 모두 들어가 있는거 같은데
https://www.inflearn.com/questions/854586
SIGs 단체 제공 nfs 프로비저너 리밋일 수도 있다고 하시니 이제 확실한 이해가 됩니다. 이걸 모르면 원래 PV는 모두 같은 공간(온프렘의 LUN) 을 공용하는거야.. 라고 착각할 소지가 충분히 있다는것도 알게 되었구요! <라고 적혀 있음>
...일단 질문 주신 부분을 다시 답변 드립니다.
1.volumeclaimtemplates는 pod 마다 독립적인 공간을 사용한다는 게 서로 다른 볼륨에 저장을 한다는 뜻이 아닐까요?
맞는데 현재 프로비지너 리미테이션으로 보인다고 위에 링크에 답변 드렸습니다. (각 클라우드 제공 프로비저너스에 테스트한 결과도 포함)
2.서로 다른 볼륨에 저장을 하는 게 아니라면 volumeclaimtemplates을 사용하는 이유가 있을까요?
1번 답변으로 2번 답변은 필요하지 않을 것 같습니다.