• 카테고리

    질문 & 답변
  • 세부 분야

    데브옵스 · 인프라

  • 해결 여부

    미해결

파드 외부통신 질문입니다.

22.05.24 16:13 작성 조회수 79

1

만약 같은 일을 하는 pod가 6개 올라가있고 서비스를 통하여 통신한다치면 (pod1, 2, 3, 4, 5, 6) pod1번만 딱 찝에서 외부에서 통신할 수 있는 방법이 있나요? 

 

 

공식문서를 보니 저걸 사용하는 경우에는 pod 1번의 xx.xx.xx.xx:8080/api~~ (xx.xx.xx.xx 클러스터 ip)에 클러스터 외부에서 접근이 가능하다는 말인가요?

답변 1

답변을 작성해보세요.

0

안녕하세요. 

해당 Pod를 StatefulSet으로 만들고,  headless 서비스를 만들어서

Ingress 설정에 특정 Pod로 연결하도록 세팅하면 가능합니다.

[nginx ingress statefulset headless service] 이런 검색어로 구글링해보면 많이 나옵니다.

https://voyagermesh.com/docs/7.1.1/guides/ingress/http/statefulset-pod/

 

근데 기술적인 측면에서 가능한 방법이 있지만,

보통 같은 일을하는 Pod의 성격으로는 Deployment를 써야할텐데요.

그리고 같은 일을 하는 Pod의 성격자체가 특정 Pod를 위한 행동을 해야하면 안되고요.

억지로 위의 내용대로 만들면, 관리중에 분명 다른 문제가 발생합니다.

참고로, StatefulSet은 다른 일을하는 Pod의 성격을 관리하기 위한 컨트롤러 입니다.

 

급하면 이렇게 하면 되지만,

꼭 그렇게 처리해야 하는 문제인지 다시 생각해보길 권해드립니다.

sudal님의 프로필

sudal

질문자

2022.05.25

deployment를 사용했을때는 원하는 특정 pod의 api같은걸 찌르는건 힘들다라는것이죠?

감사합니다.

네,  찾다보면 꼼수가 있겠지만

기본 기능을 통해 외부에서 접근하기는 힘듭니다.