어느 날 쿠버네티스 커뮤니티 카톡방에 이런 메세지가 올라왔다
pv는 집
pvc는 분양권
container는 세입자
storageclass는 건설사
RWO는 1주택 1가구
RWX는 1주택 다가구
정도...?
너무 감동적이니 (익명처리) 원본으로도 보자
컨텍스트를 좀 더 전달하면, 위에 답변 원본에서 살짝 볼 수 있듯, 다른 사용자가 pv, pvc 개념이 어렵다고 말하셔서 나온 답변이다. 나도 따봉을 찍었고 이후에도 수 많은 찬사가 쏟아졌다.
그래서 한번 그려보기로 했다.
그리고 나니 되려 아는 사람들만 금방 이해할만한 비유였나? 이런 생각도 들었다. 기본적인 설명이 없으면 아쉬우니 짧게 정리해본다:
•
•
◦
파드에선 PVC를 참조하고 PVC는 PV를 참조하여(bind), 결국에 파드에서 PV 즉, 스토리지를 사용할 수 있다.
•
◦
SC의 실질적인 구현이자 서드파티인 프로비저너(provisioner)는 브랜드 건설사라고 할 수 있다
◦
어쩐지 사전청약?(PVC) 같은 현실이 떠 오른다…
이어서 읽기 또는 쓰기에 대해 얼마나 많은 “노드”에서 접근이 가능한가에 대한 접근 모드(Access modes)에 대한 비유다.
•
RWO(ReadWriteOnce): 볼륨이 한 노드에만 마운트 될 수 있다. 한 집(PV)에 한 식구(노드)가 사는 1주택 1가구에 비유했다.
•
RWX(ReadWriteMany): 볼륨이 여러 노드에 마운트 될 수 있다. 한 집에 여러 식구가 사는 1주택 다가구에 비유했다.
사실 처음에 노드를 파드라고 잘못 알고 있었다. 정리하며 찾아보니 노드란 사실을 알았고 세입자(파드)이자 세대원이 모여 가족(노드)가 된다니 크~ 역시 이미 관통해버린 비유였다.
앞서 말한 듯, “이 비유, 내가 알고 있어서 재밌는거 아냐?” 했지만, 처음 개념을 잡을 때 도움이 되길 바라는 마음이 든다. 나도 정리하며 놓칠뻔한 중요한 사실을 다시금 알게 됐다 .
위 그림들은 eraser.io라는 서비스로 만들었다. Diagram as a Code를 지향하는 서비스이다. 에디터가 VSCode이기도 하고 문법이 어렵지 않아 금방 배울 수 있다.다만 원하는데에 배치를 못한다.
각 역할을 엔티티로 하여 ERD를 그려 버렸다. pk를 보면… 아니 너 왜 그래? 집에선 안 이러는 애가…? (실제로 프롬프트가 원하던게 ERD가 아니라 생각했는데 ERD로 꽤 잘 그리는 경우는 많다). 그래도 추천한 아이콘은 잘 써먹었다.
이번엔 diagram type만 Cloud architecture로 강제했을 때 그려준 그림이다. 귀엽다 ㅎ
역시 아이콘 고르는 것은 기가막히게 잘한다. 직접 코딩하다 보면 아이콘 찾는게 은근히 시간이 오래걸린다. 그림 자체는 바로 써먹을 수준은 아니지만 아이콘 고르기와 전체적인 큰 그림, 아이디어는 참고하는걸로 쓸 수 있을거 같다.
요즘은 그림을 그려 남들을 이해시키고 소통하고 피드백 받는게 재밌다. 아무튼 그림 잘 그리고 싶다!!