본문 바로가기
DevOps/Kubernetes

[Kubernetes] : Service : 포드를 연결하고 외부에 노출하기

by 오주현 2022. 3. 21.
반응형

디플로이먼트를 통해 생성된 포드에 접근하기 위해 kubectl describe 명령어로 포드의 내부 IP를 직접 확인해 포드로 직접 접근을 할 수 있었지만 문제가 있다. 먼저, 로컬 개발 환경이나 쿠버네티스 클러스터 내부에서만 사용할 수 있다는 점하고 영속적이지 않아 항상 변할 수 있따는 점이다.

 

때문에 여러 개의 디플로이먼트를 하나의 애플리케이션으로 연동하기 위해 서로를 발견(Discovery)할 수 있는 방법이 필요하다.

 

YAML 팡리 중 containerPort 항목이 포드 애플리케이션이 사용할 내부 포트를 정의하는데 이 항목을 정의했다고 해서 포드가 외부로 노출되는 것은 아니다. 노출되기 위해서는 Service 오브젝트를 생성해야 한다.

이 Service 오브젝트는 여러 기능이 있지만 핵심 기능은 3개 정도로 간추릴 수 있다.

  1. 여러 포드에 쉽게 접근할 수 있게 고유한 도메인 이름을 부여한다.
  2. 여러 포드에 접근할 때 요청을 분산하는 로드 밸런서 기능을 수행한다.
  3. 클라우드 플랫폼의 로드 밸런서, 클러스터 노드의 포트 등을 통해 포드를 외부 노출한다.

 

 


📖 ← [ 시작하세요! 도커/쿠버네티스 ] 책을 참고하여 공부하였습니다.

반응형

댓글