Service란?
Kubernetes에서 서비스는 클러스터에서 하나 이상의 Pod로 실행되는 네트워크 애플리케이션을 노출하는 방법입니다.
(In Kubernetes, a Service is a method for exposing a network application that is running as one or more Pods in your cluster.)
ClusterIP
- 서비스는 기본적으로 자신의 ClusterIP를 가진다.
- 서비스를 파드에 연결 시켜두면 서비스의 ClusterIP를 가지고 파드에 접근할 수 있게된다.
- Pod는 언제든 재생성될 수 있다. 따라서 Pod의 IP는 휘발성이 강하며 이 떄문에 Service의 ClusterIP를 사용하는 것이다.
- 물론 ClusterIP 타입의 서비스도 쿠버네티스 클러스터 내에서만 접근 가능하다.
사용처
- 인가된 사용자(운영자)
- 내부 대쉬보드
- Pod의 서비스 상태 디버깅
NodePort
- 각 Node에 파드가 하나씩 떠있다고 헀을 때 1번 노드의 아이피로 접근하더라도 다른 노드의 아이피에 접근할 수 있다.
- 서비스 입장에서는 어떤 노드에서 온 트래픽인지에 상관없이 분산하기 때문
- 만약 externalTrafficPolicy를 true로 잡으면 해당 노드 위에 올려져있는 파드로만 트래픽을 줌.
사용처
- 내부망 연결
- 데모나 임시 연결용
LoadBalaner
- 앞단에 로드 밸런서가 생긴다.
- 만약 AWS나 GCP가 아니라면 로드밸런서에 아이피를 할당해주는 별도의 플러그인을 설치 하여야한다.
- AWS나 GCP에서는 자체적으로 플러그인을 설치해줌.
사용처
- 외부 시스템 노출용
참고
'기술 탐구 > k8s' 카테고리의 다른 글
(k8s) Volume이란 무엇일까? (emptyDir, hostPath, PVC/PV) (0) | 2024.08.13 |
---|---|
(CKA) MOCK 1 풀이와 관련 공식 문서 (0) | 2024.07.18 |
(k8s) m1 mac 환경에서 k8s 클러스터를 구축해보자. (0) | 2024.07.08 |
(k8s) Pod에 대한 정의와 각종 속성 (2) | 2024.06.14 |
(k8s) 쿠버네티스 명령어 (2) | 2024.06.13 |