728x90
SMALL
Service는 클러스터 내의 Pod들 간의 네트워크 접근을 가능하게 하는 추상화된 방법입니다.
Service는 로드 밸런싱을 제공하며, 클러스터 외부로 트래픽을 노출할 수 있습니다.
- 특징:
- 추상화된 접근: IP 주소와 포트를 통해 Pod에 접근할 수 있습니다.
- 로드 밸런싱: 여러 Pod에 대한 로드 밸런싱을 제공합니다.
- 서비스 디스커버리: DNS를 통해 서비스 이름으로 접근할 수 있습니다.
- Service API 분석
- spec → clusterIP
- Load Balancer 서비스 지원
- spec → selector
- app: webui 라는 label 설정
- spec → ports
- port → clusterIP 의 port
- targetPort → pod 들의 port
- spec → clusterIP
ClusterIP 로 접속한 뒤, replica 가 3 이므로, 3개로 나뉘어 접속한다 (33.3 %)
- Kubernetes Service Type
- ClusterIP (default)
- selector 의 label 동일한 파드들의 그룹으로 묶기
- Pod 그룹의 단일 진입점 (Virtual IP) 생성
- type 생략 시 default 값으로 10.96.0.0/12 범위에서 할당
- 고정시키지 않는 경우가 많음. 충돌 대비
- NodePort
- ClusterIP 가 생성된 후 NodePort 예약
- 모든 Worker Node 에 외부에서 접속 가능한 포트가 예약
- yaml > ports 내에 nodeport 옵션 작성하지 않으면, 랜덤으로 배정
- Default NodePort 범위: 30000 - 32767
- yaml > ports 내에 nodeport 옵션 작성하지 않으면, 랜덤으로 배정
- LoadBalancer
- 클라우드 인프라스트럭처 (AWS, Azure, GCP 등) 나 오픈 스택 클라우드에 적용
- LoadBalancer 를 자동으로 프로비전하는 기능 지원
- ExternalName
- 클러스터 안에서 외부에 접속 시 사용할 도메인을 등록해서 사용
- 클러스터 도메인이 실제 외부 도메인으로 치환되어 동작
- DNS 기능을 지원
- ClusterIP > NodePort > LoadBalancer > ExternalName 순서로 중요
- ClusterIP (default)
LIST
'🔹Kubernetes' 카테고리의 다른 글
Ingress Controller 설치 (0) | 2025.02.02 |
---|---|
Kubernetes 설정 파일 제거 (0) | 2025.02.01 |
Pod 정의 (0) | 2025.01.27 |
kubectl 명령어 분석 (매개변수) (0) | 2024.07.31 |
[Kubernetes] CentOS 7 Master-Worker 설치 방법 (0) | 2024.07.25 |