• 카테고리

    질문 & 답변
  • 세부 분야

    데브옵스 · 인프라

  • 해결 여부

    미해결

쿠버네티스에서의 통신

21.12.09 15:08 작성 조회수 162

1

안녕하세요. 강의 잘 보고 있습니다. 

쿠버네티스 구성에 대해서 많은 것을 배우고 갑니다.

쿠버네티스 구성은 MSA라고 할 수 있습니다. 

그럼, 쿠버네티스 내에서 통신은 어떻게 해야 하는지 궁금합니다.

  • Pod → Pod  호출
  • Deployments → Deployments 호출
  • Pod → Deployments 호출
  •  Deployments → Pod 호출
  • Pod 내 Container → Container 호출

위와 같은 통신은 어떻게 설정을 해야 하는지 궁금합니다.

혹은, 다음 강좌에서 학습을 할 수 있나요?

 

저의 최종 목표 쿠버네티스에 현재 개발하고 있는 MSA를 로컬에서 셋팅을 하고 싶습니다.

 

답변 1

답변을 작성해보세요.

0

안녕하세요 

신선한 관점의 질문 감사합니다. 

  • Pod → Pod  호출
  • Deployments → Deployments 호출
  • Pod → Deployments 호출
  •  Deployments → Pod 호출
  • Pod 내 Container → Container 호출

쿠버네티스는 기본적으로 Golang으로 작성되어 있습니다. 따라서 kubectl이 아닌 golang으로 짠 코드로 Pod를 생성할 수도 있습니다. 

예시 페이지입니다. 이걸로 다음의 2개가 커버 될꺼 같고요. 

  • Pod → Pod  호출
  • Deployments → Deployments 호출

Pod > deployment는 다시 구조적으로 강의를 다시 보시는게 좋을꺼 같고요. 

Deployment가 Pod를 호출하는 부분은 YAML 외에 역시 인사이드의 Golang 코드를 찾아서 살펴보시면 좋을꺼 같습니다. 그러면 이거 2개도 커버될꺼 같고요.

  • Pod → Deployments 호출
  •  Deployments → Pod 호출

마지막으로 Pod 내의 Container가 Container를 호출한다는게 무슨 말인지....정확하게 제가 인지하지는 못했지만...Container는 기존에 아마 알고 계시는 것처럼 CRI 표준 인터페이스로 호출하고 Pod는 다음과 같은 코드로 래핑되어서 제공됩니다. 따라서 소스를 보시고 따라가셔야 할 것 같습니다. 

https://github.com/kubernetes/client-go/blob/master/applyconfigurations/core/v1/container.go

 

마지막으로 해당 부분을 알려드리는 강좌는 계획하고 있지 않습니다. golang 부분만 안다고 해서 따라갈수도 없고..커리큘럼을 만들기도 어렵고 또한 수요도 매우 적기 때문입니다. 위의 쿠버네티스 소스들은 공개되어 있으니 해당 부분들을 읽어서 습득하시고, 필요한 부분을 찾아서 보시는게 가장 좋지 않을까? 생각이 되네요.

참고로 저도 이런식으로 따라서 가서 보고 읽어서 이해합니다. 

https://www.slideshare.net/JoHoon1/systemd-cgroup

 

도움이 되셨기를 바랍니다. 

조훈 드림. 

 

 

 

공부를 잘 하는 사람이 질문도 잘 하는데 제가 질문을 잘 못 한것 같습니다.

도커 컨데이너에서 컨데이너를 호출 하는 것처럼
(주문 컨데이터에서 계정 컨데이너 호출)

주문 파드(혹은 디플로이먼트)에서 계정 파드(혹은 디플로이먼트) (API)호출을 해야 하는데 

도커에서는 network 혹은 link 설정으로 호출하는 것 처럼

쿠버네티스에서는 어떻게 네트워크를 구성하여 (API)호출을 하는 지 궁굼합니다.

그리고 친절한 답변 너무 감사합니다.

강의처럼 답변도 너무 좋네요.

 

API 호출구조로 이해하시려고 해도 코드를 따라가셔야 할 것 같습니다. 

사실상 API 호출 구조보다는 소스 코드의 호출 구조라서요.. (비슷비슷한 말이라고 해야 하려나...)

마지막으로 말씀하신 네트워크 구조적인 것은 다음의 답변 참고하시면 좋으실꺼 같아요. 

https://www.inflearn.com/questions/179366

 

아무래도 시작하시는 단계라면 우선 구조적으로 모두를 이해한 다음에 필요한 모듈(?)에 대한 코드를 살펴보면서 확장하시거나, 직접 CRD를 만들어 보시면 더 소스코드적인 구조를 이해하실 수 있을꺼 같아요. 

https://kubernetes.io/ko/docs/concepts/extend-kubernetes/api-extension/custom-resources/