피드로 돌아가기
How a Kubernetes Service Actually Works (and All 5 Types You Need)
Dev.toDev.to
Infrastructure

200ms 내 Kernel 레벨 라우팅으로 구현한 K8s Service 메커니즘

How a Kubernetes Service Actually Works (and All 5 Types You Need)

saiyam18142026년 5월 5일14intermediate

Context

Pod의 Ephemeral 특성으로 인한 IP 변경 및 유동적 스케줄링 발생. 개별 Pod IP에 의존한 통신 시 Service Discovery 구현 비용 증가 및 시스템 불안정성 초래.

Technical Solution

  • API Server를 통한 ClusterIP 할당 및 IPAddress/ServiceCIDR 객체 기반의 중앙 집중형 IP 관리
  • EndpointSlice Controller를 통한 Ready 상태 Pod IP의 정밀한 추적 및 100개 단위 슬라이싱 최적화
  • kube-proxy의 DaemonSet 배포를 통한 노드별 iptables-restore 기반의 원자적 룰 업데이트
  • KUBE-SERVICES 체인을 통한 ClusterIP-Pod IP 간의 DNAT 처리 및 Netfilter 기반의 커널 레벨 패킷 포워딩
  • StatefulSet 대응을 위한 Headless Service 제공으로 DNS를 통한 개별 Pod IP 직접 노출 구조 설계
  • ExternalName을 활용한 외부 관리형 서비스의 CNAME Alias 처리로 추상화 계층 유지

1. 외부 노출 필요 시 LoadBalancer 남용을 지양하고 ClusterIP와 Ingress 조합 검토

2. StatefulSet 운영 시 DNS 기반 직접 통신을 위해 Headless Service 설정 확인

3. 서비스 규모 확장 시 EndpointSlices의 100개 엔드포인트 제한 및 슬라이싱 동작 파악

4. kube-proxy의 iptables 모드 기반 트래픽 분산 로직(Random 모드 등) 확인

원문 읽기