인프라 & 클라우드 · 중급
Kubernetes Service의 주요 타입(ClusterIP, NodePort, LoadBalancer)을 설명하고, 각각의 타입이 어떤 방식으로 외부 트래픽을 Pod로 라우팅하며, 어떤 상황에 적합한지 비교하여 설명해 주세요.
힌트 · 각 서비스 타입이 제공하는 접근성(클러스터 내부, 노드 레벨, 클라우드 로드밸런서)과 사용 시나리오를 중심으로 설명합니다.
ClusterIPNodePortLoadBalancerkube-proxyIngress
모범답안
Kubernetes Service의 주요 타입은 ClusterIP, NodePort, LoadBalancer 세 가지가 있습니다.
ClusterIP는 기본 타입으로, 클러스터 내부에서만 접근 가능한 가상 IP를 할당합니다. Pod 간 통신이나 클러스터 내부에서만 사용되는 애플리케이션에 적합합니다.
NodePort는 각 노드의 특정 포트를 외부에 개방하여 서비스에 접근하게 합니다. 클러스터 외부에서 간단하게 서비스를 노출할 때 유용하지만, 노드 IP가 변경될 경우 문제가 될 수 있습니다.
LoadBalancer는 클라우드 프로바이더의 로드밸런서를 사용하여 외부 트래픽을 서비스로 전달합니다. 외부에서 안정적으로 서비스를 제공해야 할 때 가장 많이 사용됩니다.
이 모든 서비스 타입은 kube-proxy를 통해 실제 Pod로 트래픽을 라우팅하며, 더 복잡한 라우팅 규칙이나 SSL 종료 등이 필요할 때는 Ingress를 함께 사용하는 것이 일반적입니다.
읽었다면, 이제 직접 답해볼 차례예요
패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.
함께 보는 Docker / Kubernetes 면접 질문
- 단일 호스트에서 여러 Docker 컨테이너로 구성된 애플리케이션을 관리할 때 Docker Compose를 사용합니다. Docker Compose 파일(`docker-compose.yml`)에서 `depends_on`, `networks`, `volumes`와 같은 고급 옵션을 사용하여 서비스 간 의존성 관리 및 네트워크 구성을 어떻게 할 수 있는지 설명해 주세요.
- Kubernetes Pod의 라이프사이클(Pending, Running, Succeeded, Failed, Unknown)을 단계별로 설명하고, 각 단계에서 Pod가 어떤 상태에 있으며 어떤 이벤트가 발생하는지 구체적으로 설명해 주세요.
- Kubernetes에서 Deployment와 ReplicaSet은 Pod를 관리하는 데 사용됩니다. 이 둘의 관계를 설명하고, Deployment가 ReplicaSet 위에 추상화된 계층으로서 어떤 이점을 제공하는지 구체적인 사용 사례(예: 롤링 업데이트, 롤백)를 들어 설명해 주세요.
- Kubernetes 환경에서 애플리케이션의 복잡한 배포, 관리, 운영 라이프사이클을 자동화하기 위해 Custom Resource Definition(CRD)과 Controller를 활용하는 Operator 패턴을 설계하고 구현해야 한다면, 어떤 핵심 구성 요소를 고려하고 어떤 방식으로 애플리케이션의 상태 관리 및 자동 복구를 구현할 것인지 설명해 주십시오.
- MSA 환경에서 Kubernetes 기반의 서비스 메쉬(Service Mesh)를 도입하여 Blue/Green 배포, Canary 배포, A/B 테스트와 같은 고급 트래픽 관리 전략을 구현하려고 합니다. 서비스 메쉬가 이러한 전략들을 어떻게 지원하며, 특히 요청 기반 라우팅(request-based routing) 및 폴트 인젝션(fault injection)과 같은 기능들을 어떻게 활용하여 실제 운영 환경에 적용할 수 있을지 구체적인 시나리오와 함께 설명해 주십시오.
- 대규모 Kubernetes 클러스터에서 특정 워크로드의 스케줄링 지연이 발생하거나, 노드 자원 활용률이 불균형하게 나타나는 문제가 지속될 때, 기본 스케줄러의 한계를 극복하고 최적의 스케줄링을 달성하기 위한 방안을 제시해 주십시오. 이에는 커스텀 스케줄러 구현, 스케줄러 확장(Scheduler Extender), 또는 고급 스케줄링 정책(Taints/Tolerations, Node Affinity/Anti-Affinity, PriorityClass)의 복합적인 활용이 포함될 수 있습니다.