작성
·
202
1
hostPath의 경로가 /node-v1 이었고,
PV로 해당 hostPath를 지정하니까...
만약 Pod가 Node1이 아닌 Node2에 생성되어도 /node-v1로 mount 된 mount3 디렉터리에서 file.txt 을 접근할 수 있다는 말씀이신가요?
실습하면 쉽게 알 수 있을 거 같은데. 지금 제가 실습이 힘든 상황이라서 여쭤봐요.
답변 3
1
답변 감사합니다.
네 맞습니다. 3-1 보고 말씀드린 거구요.
답변주셨듯이 hostpath 만 쓰게 된 경우에는 pod가 node2에서 실행 안 되는 건 알고 있습니다.
다만 해당 hostpath로 생성한 볼륨을 PV로 감싸면, pod가 node2에서 실행돼도 접근 가능한 지 여쭤봤습니다.
그럼 PV/PVC를 통해 node 관계 없이 pod의 볼륨 접근에 대한 proxy 역할을 한다고 이해하면 될까요?
감사합니다.
1
질문 주실때 어떤 내용을 보셨고. 실습한 예제를 질문에 넣어주시면 제가 질문을 좀더 빠르게 이해할 수 있어서 참고 부탁드릴께요.
저도 강의만든지 2년이 되가다보니까 내용이 좀 가물가물 하거든요 ㅠ
3-1) 예제 실습을 보신거라면 해당 설정은 pod가 무조건 node1에 생기도록 하는 방법입니다.
아래 룰이 그렇게 되도록 설정한거고
nodeAffinity: required: nodeSelectorTerms: - matchExpressions: - {key: kubernetes.io/hostname, operator: In, values: [k8s-node1]}
이걸 안쓰고 기본적으로 hostpath를 쓰게 될경우 node1에서 pod가 만들어졌으면. 해당 pod가 node2로 올라갔을때는 공유될수 없어요
0
아 이론이랑 실습편 다시 보고 이해했습니다.
죄송합니다. 업무 중에 틈틈히 보느라 제대로 못 봤습니다.
PV 핵심은 볼륨 영속성과 Dev/Admin 구분이군요.
그럼 PV의 아래 옵션으로 인해서 강제로 Pod를 Node2에 만들어도 Node1에 생성되겠군여.
matchExpressions: - {key: kubernetes.io/hostname, operator: In, values: [k8s-node1]}
질문이 상세해서 이해가 잘되네요^^
전혀 그렇지 않습니다 ㅎ
pv는 단지 pod와 pod가 올라간 node의 path에 마운팅을 해주는 역할을 하고요.
hostpath pv를 생성하고 pod와 연결해서 그 파드가 node1위에 생기면 node1위에 /mount1이라는 path가 생기고. 다른 pod나 이 pod가 이 pv와 다시 붙어서 node2위에 생기면 node2위에 /mount1이 또 생깁니다
결국 hostpath로 pod간에 파일공유가 될려면 모두 같은 node위에 있어야하고요.
hostpath는 pod간에 파일 공유 목적으로 쓰이진 않습니더. pod와 해당 node의 os 파일을 공유하기 위해쓰이고 pod같 데이터를 공유하려면 nfs타입에 pv를 써야합니다