반응형
디플로이먼트를 통해 생성된 포드에 접근하기 위해 kubectl describe 명령어로 포드의 내부 IP를 직접 확인해 포드로 직접 접근을 할 수 있었지만 문제가 있다. 먼저, 로컬 개발 환경이나 쿠버네티스 클러스터 내부에서만 사용할 수 있다는 점하고 영속적이지 않아 항상 변할 수 있따는 점이다.
때문에 여러 개의 디플로이먼트를 하나의 애플리케이션으로 연동하기 위해 서로를 발견(Discovery)할 수 있는 방법이 필요하다.
YAML 팡리 중 containerPort 항목이 포드 애플리케이션이 사용할 내부 포트를 정의하는데 이 항목을 정의했다고 해서 포드가 외부로 노출되는 것은 아니다. 노출되기 위해서는 Service 오브젝트를 생성해야 한다.
이 Service 오브젝트는 여러 기능이 있지만 핵심 기능은 3개 정도로 간추릴 수 있다.
- 여러 포드에 쉽게 접근할 수 있게 고유한 도메인 이름을 부여한다.
- 여러 포드에 접근할 때 요청을 분산하는 로드 밸런서 기능을 수행한다.
- 클라우드 플랫폼의 로드 밸런서, 클러스터 노드의 포트 등을 통해 포드를 외부 노출한다.
📖 ← [ 시작하세요! 도커/쿠버네티스 ] 책을 참고하여 공부하였습니다.
반응형
'DevOps > Kubernetes' 카테고리의 다른 글
[Kubernetes] : 온프레미스 환경에서 LoadBalancer 타입의 서비스 사용 (0) | 2022.03.22 |
---|---|
[Kubernetes] : Service 종류 (0) | 2022.03.21 |
[Kubernetes] : 디플로이먼트를 사용하는 간단한 이유 (0) | 2022.03.21 |
[Kubernetes] : 디플로이먼트 사용하기 (0) | 2022.03.21 |
[Kubernetes] : 레플리케이션 컨트롤러 vs 레플리카셋 (0) | 2022.03.19 |
댓글