본문 바로가기
K8S

Service 개념과 종류

by ohrohi 2025. 2. 7.
반응형
  • Kubernetes Service의 개념
    • 동일한 서비스를 제공하는 Pod 그룹의 단일 진입점을 제공
    • 정보 기록은 etcd에 저장된다.
  • 정의
Deployment definition service definition
apiVersion: apps/v1
kind: Deployment
metadata:
name: webui
spec:
  replicas: 3
  selector:
    matchLabels:
    app: webui
  template:
    metadata:
      name: nginx-pod
      labels:
        app: webui
  spec:
    containers:
    - name: nginx-container
      image: nginx:1.14
apiVersion: v1
kind: Service
metadata:
name: webui-svc
spec:
  clusterIP: 10.96.100.100 (생략가능)
  selector:
    app: webui
  ports:
  - protocol: TCP
    port: 80 (cluster의 포트)
    targetPort: 80 (서비스 pod의 포트)

 

 

  • Service Type
    • ClusterIP (default)
      • Selector의 label이 동일한 파드들의 그룹으로 묶어
      • Pod 그룹의 단일 진입점 (Virtual IP) 생성
      • 클러스터 내부에서만 사용 가능
      • type 생략시 default 값으로 10.96.0.0/12 범위에서 할당됨
    • NodePort
      • ClusterIP가 생성된 후 NodePort를 예약
      • 모든 Worker Node에 외부에서 접속가능한 포트를 예약
      • Default NodePort 범위: 30000-32767
    • LoadBalancer
      • Public 클라우드 (AWS, Azure, GCP 등)나 오픈스택 클라우드에 운영가능
      • LoadBalancer를 자동으로 구성 요청
      • NodePort를 예약 후 해당 NodePort로 외부 접근을 허용
    • ExternalName
      • 클러스터 안에서 외부에 접속시 사용할 도메인을 등록해서 사용
      • 클러스터 도메인이 실제 외부 도메인으로 치환되어 동작
반응형

'K8S' 카테고리의 다른 글

Ingress 개념  (0) 2025.02.07
Headless Service와 Kube proxy  (0) 2025.02.07
CronJob  (0) 2025.02.07
Job Controller  (0) 2025.02.07
Statefulset  (0) 2025.02.07