강의

멘토링

커뮤니티

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

hyekim님의 프로필 이미지
hyekim

작성한 질문수

대세는 쿠버네티스 (초급~중급편)

Volume - 실습

pv 사용간 노드 종속에 대해 질문이 있습니다.

작성

·

190

1

안녕하십니까 강사님.
강의 잘 듣고 있습니다.
 
hostPath로 할 경우 해당 노드에만 pod가 생성되어야해서 사용하는게 pv 라고 기억하고 있는데
 
pv, pvc를 사용하여 MySQL등을 연결한다 하더라도
hostPath 속성으로 연결하게되면 POD는 처음 생성된 노드에만 계속 재생성 되야 하는 것이고
nfs 속성으로 연결해야지만 아무 노드에나 파드가 재생성 되도 되는 것인가요?

답변 1

0

일프로님의 프로필 이미지
일프로
지식공유자

안녕하세요.

일단 pv,pvc를 사용하여 MySQL등을 연결한다는 의미가 좀 이상하네요?

pv와 pvc는 Volume에 대한 내용이지 DB서버와 연결해주는 건 아니거든요.

질문하신 내용을 좀더 정리드린다면,

MySQL과 같은 DB 성격의 Pod를 만들 수 있습니다.

그럼 그 DB는 데이터를 쌓을텐데 그냥 Pod에다가만 저장하면 Pod삭제시 데이터가 모두 날라가기 때문에

Volume만 별도로 연결을 해야되요.

Volume은 별도에 저장 공간을 말하는 거고요.  그 연결방식이 hostPath와 nfs등이 있는데

쿠버네티스에서는 이 연결 방식에 대한 기술을 pv, pvc라는 리소스로 쓸수 있게 해놨고요.

근데, 말씀하신대로 hostPath를 썼을 때는, 데이터가 Pod에 저장이 안되고 해당 workernode에 저장되기 때문에, Pod 삭제시 실제 데이터가 날라가지는 않지만, hostpath 성격상, 그 workernode에 pod가 만들어져야 다시 데이터가 정상적으로 연결 됩니다.

그래서 hostPath는 이런 상황에 쓸 수는 없고,

(실무로 다룰때는, hostPath 자체가 데이터를 저장하기 위한 용도는 아니긴합니다.)

nfs를 쓰면 pod가 다른 workernode에서 만들어져도, 데이터 연결은 되요.

여기까지가 이해하시는게 해당 강의에 대한 내용이고요.

실제 DB 성격의 App은 statefulset이라는 컨트롤러로 만들고, 저장도 nfs와 같은 filestroage가 아닌 blockstorage에 저장됩니다. 이 내용들은 강의를 들으시면서 차차 아시게 될꺼예요.

감사합니다.

 

hyekim님의 프로필 이미지
hyekim

작성한 질문수

질문하기