인프라 & 클라우드 · 심화
쿠버네티스의 Service 타입 중 ClusterIP 트래픽이 실제 파드까지 전달되는 과정을 kube-proxy(iptables 또는 IPVS 모드) 관점에서 설명하고, 두 모드의 성능 차이가 발생하는 이유를 설명해주세요.
힌트 · 규칙 수 증가에 따른 룩업 비용 차이와 로드밸런싱 알고리즘 지원 관점에서 접근하세요.
kube-proxyiptablesIPVS네트워크 정책로드 밸런싱
모범답안
ClusterIP Service로 들어온 트래픽은 kube-proxy가 관리하는 iptables 또는 IPVS 규칙을 통해 파드로 전달됩니다.
iptables 모드에서는 Service의 각 IP와 포트 조합에 대해 수많은 iptables 규칙이 생성됩니다. 트래픽이 들어오면 iptables는 이 규칙들을 순차적으로 검사하며 일치하는 규칙을 찾아 해당 파드로 포트 포워딩합니다. 규칙 수가 많아질수록 룩업 비용이 증가하여 성능 저하가 발생할 수 있습니다.
IPVS 모드는 리눅스 커널의 IP Virtual Server 모듈을 사용합니다. IPVS는 Service를 가상 서버로, 파드를 실제 서버로 간주하고 연결 테이블을 관리합니다. 트래픽이 들어오면 IPVS는 이 연결 테이블을 기반으로 해싱 알고리즘 등을 사용하여 빠르게 실제 파드를 선택합니다. iptables처럼 규칙을 순차적으로 검사하지 않기 때문에 규칙 수가 많아져도 성능 저하가 적고, 다양한 로드밸런싱 알고리즘(Round Robin, Least Connection 등)을 지원하여 더 효율적인 트래픽 분산이 가능합니다. 따라서 대규모 환경에서는 IPVS 모드가 일반적으로 더 나은 성능을 제공합니다.
읽었다면, 이제 직접 답해볼 차례예요
패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.
함께 보는 DevOps / CI·CD 면접 질문
- 멀티 스테이지 빌드(multi-stage build)는 어떤 문제를 해결하며, 빌더 스테이지와 런타임 스테이지를 분리할 때 이미지 크기와 보안 측면에서 어떤 이점이 있는지 설명해주세요.
- 컨테이너는 호스트 커널을 공유하는데, namespace와 cgroup이 각각 어떤 격리와 자원 제어를 담당하는지, 그리고 이것이 VM 대비 격리 수준이 약하다고 평가되는 이유를 설명해주세요.
- 쿠버네티스에서 Deployment의 롤링 업데이트가 진행되는 도중 일부 트래픽이 5xx를 반환하는 현상이 보고됐습니다. readinessProbe, terminationGracePeriod, preStop 훅이 이 문제와 어떻게 연관되는지 설명해주세요.