KR_쿠버네티스 - somaz94/DevOps-Engineer GitHub Wiki

Kubernetes 심화 면접 질문 및 답변

DevOps 엔지니어를 위한 쿠버네티스 핵심 개념 정리. 상세 내용은 각 링크를 클릭하세요.


주요 용어 통합 정리

아키텍처 & 구성요소

  • kube-apiserver: 쿠버네티스 API 중심점 — 모든 클러스터 작업의 진입점
  • etcd: 클러스터 전체 데이터를 저장하는 분산 키-값 저장소 (Raft 합의 알고리즘)
  • kube-scheduler: Pod를 실행할 최적의 노드를 선택
  • kube-controller-manager: ReplicaSet, Deployment 등 다양한 컨트롤러 실행
  • kubelet: 각 노드에서 Pod·컨테이너 상태 관리
  • kube-proxy: 서비스 추상화 구현 및 네트워크 규칙 관리
  • Container Runtime: 실제 컨테이너 실행 소프트웨어 (containerd, CRI-O)

네트워킹

  • ClusterIP: 클러스터 내부에서만 접근 가능한 가상 IP (iptables/IPVS 규칙으로만 존재)
  • NodePort: 각 노드의 특정 포트를 통해 외부에 서비스 노출
  • LoadBalancer: 클라우드 제공자의 외부 로드밸런서 프로비저닝
  • ExternalTrafficPolicy: 외부 트래픽 라우팅 방식 (Cluster: 모든 노드, Local: Pod 있는 노드만)
  • CNI: 컨테이너 네트워크 표준 인터페이스 (Calico, Cilium, Flannel)
  • VXLAN: Layer 2 프레임을 UDP로 캡슐화하는 오버레이 터널링 프로토콜
  • IPVS: iptables보다 성능 우수한 Layer 4 로드밸런서 (O(1) 룩업)
  • CoreDNS: 클러스터 DNS 서버 — Service·Pod DNS 이름 해석
  • NetworkPolicy: Pod 간 Ingress/Egress 트래픽 제어 리소스
  • Ingress Controller: HTTP/HTTPS 트래픽 라우팅 수행 (NGINX, Traefik, Istio)

스토리지

  • PV (Persistent Volume): 클러스터 수준 스토리지 리소스
  • PVC (Persistent Volume Claim): 사용자의 스토리지 요청 — PV와 바인딩
  • StorageClass: 동적 프로비저닝 방식 정의
  • CSI: 컨테이너 오케스트레이터와 스토리지 시스템 간 표준 인터페이스
  • Retain / Delete: PVC 삭제 후 PV 보존 여부 (Reclaim Policy)
  • WaitForFirstConsumer: Pod 스케줄링 시점에 PV 바인딩 (토폴로지 제약 고려)

스케줄링 & 리소스 관리

  • Node Affinity: 노드 레이블 기반 Pod 배치 규칙
  • Taint / Toleration: 노드에 제약 설정 / Pod에 허용 설정
  • Topology Spread Constraints: Pod를 토폴로지 도메인에 균등 분산
  • Requests / Limits: 최소 보장 리소스 / 최대 사용 리소스
  • QoS: Guaranteed > Burstable > BestEffort (메모리 부족 시 BestEffort부터 종료)
  • HPA: Pod 수 자동 조정 / VPA: 리소스 요청 자동 조정 / Cluster Autoscaler: 노드 수 조정
  • PriorityClass / Preemption: Pod 우선순위 정의 및 낮은 우선순위 Pod 축출

워크로드 리소스

  • Deployment: ReplicaSet을 관리하며 선언적 업데이트 제공
  • StatefulSet: 안정적인 네트워크 ID·PVC를 가진 상태 저장 앱용 컨트롤러
  • DaemonSet: 모든(또는 특정) 노드에 Pod 1개씩 실행
  • CronJob: Cron 표현식 기반 주기적 Job 실행
  • RollingUpdate: maxUnavailable·maxSurge로 무중단 점진적 업데이트
  • Blue-Green / Canary: 전체 전환 / 일부 트래픽으로 새 버전 테스트

보안 & 인증

  • RBAC: Role/ClusterRole + RoleBinding으로 권한 제어
  • ServiceAccount: Pod가 API 서버와 통신하는 인증 자격증명
  • PSS (Pod Security Standards): Privileged / Baseline / Restricted 보안 레벨
  • PSA (Pod Security Admission): enforce / audit / warn 모드로 PSS 적용
  • Sealed Secrets: 공개키 암호화로 Secret을 Git에 저장 가능
  • External Secrets Operator: AWS Secrets Manager·Vault 등 외부 저장소와 동기화
  • IRSA: EKS에서 ServiceAccount에 IAM Role 부여
  • mTLS: 양방향 TLS 인증 (Service Mesh)

모니터링 & 관측성

  • Liveness Probe: 컨테이너 정상 실행 여부 (실패 시 재시작)
  • Readiness Probe: 트래픽 수신 준비 여부 (실패 시 Service에서 제거)
  • Startup Probe: 앱 시작 여부 (성공 전까지 Liveness 비활성화)
  • Prometheus: 풀스택 모니터링 — Service Discovery + relabel_configs
  • OpenTelemetry: 통합 관측성 프레임워크 (Metrics, Logs, Traces)
  • Distributed Tracing: 마이크로서비스 간 요청 추적 (Jaeger, Zipkin)

고급 운영

  • etcd Compaction / Defragmentation: 오래된 revision 삭제 / 실제 디스크 공간 회수
  • PDB (Pod Disruption Budget): 자발적 중단 시 최소 가용 Pod 수 보장
  • Admission Webhook: Mutating(리소스 수정) / Validating(검증)
  • API Priority and Fairness: 요청 분류 및 공정 처리
  • Finalizer: 리소스 삭제 전 정리 작업 보장
  • CRD / Operator: 커스텀 리소스 타입 정의 / 운영 지식을 코드로 자동화

문제 해결

  • ImagePullBackOff / ErrImagePull: 이미지 pull 실패 상태
  • CrashLoopBackOff: 컨테이너 반복 실패·재시작
  • OOMKilled: 메모리 초과로 컨테이너 강제 종료
  • CPU Throttling: CFS Quota로 인한 CPU 사용 제한
  • Node NotReady: kubelet 장애·네트워크 파티션 등으로 노드 불가

Q&A 목록

Q1-Q10: 핵심 개념

Pod 생성 흐름(API Server → etcd → Scheduler → kubelet)부터 RBAC·API Group 구조, HPA 스케일링 알고리즘, Probe 최적 설정, RollingUpdate 전략, Graceful Shutdown의 preStop Hook까지 쿠버네티스 운영의 핵심 개념을 다룬다.

상세 보기


Q11-Q21: 네트워크 심화

같은 노드 내 ARP Proxy 동작, VXLAN 캡슐화, iptables vs IPVS, kube-proxy DNAT/SNAT 체인, CoreDNS·ndots, Calico BGP, Ingress Controller 비교(NGINX/Traefik/Istio), CNI IPAM, MTU 불일치, Dual-Stack 등 쿠버네티스 네트워크 내부 동작을 심층 분석한다.

상세 보기


Q22-Q30: 고급 운영

etcd Compaction·Defragmentation 자동화, Control Plane HA, PDB 설정, QoS·OOMKilled 해결, Cluster Autoscaler vs Karpenter, StatefulSet PV 관리, CronJob·DaemonSet 운영, Admission Webhook 구현 등 프로덕션 운영에 필요한 고급 주제를 다룬다.

상세 보기


Q31-Q35: 트러블슈팅 실전

CPU Throttling(CFS Quota), DNS 해석 지연(ndots=5), ImagePullBackOff·Private Registry 인증, Node NotReady 복구 절차, PV Terminating 상태 해제 등 현장에서 자주 발생하는 장애를 원인부터 해결까지 단계별로 정리한다.

상세 보기


Q36-Q40: 보안 & 컴플라이언스

PSS·PSA의 enforce/audit/warn 모드, NetworkPolicy Egress·DNS 허용 패턴, IRSA 동작 원리, 컨테이너 보안 스캔과 Admission Controller 통합, Sealed Secrets vs External Secrets Operator를 비교하며 클러스터 보안을 강화하는 방법을 정리한다.

상세 보기


Q41-Q45: 모니터링 & 옵저버빌리티

Prometheus Service Discovery·relabel_configs, OpenTelemetry Collector 구성, Kubernetes Events 장기 보관, Metrics Server vs Custom Metrics API 비교, Grafana Dashboard as Code(Jsonnet) 등 클러스터 관측성 확보 전략을 다룬다.

상세 보기


Q46-Q50: 고급 스케줄링

Pod Priority·Preemption, Topology Spread Constraints vs Pod Anti-Affinity, Taint Effect(NoSchedule/PreferNoSchedule/NoExecute), Scheduler Profile·Multiple Schedulers, 1000+ 노드 대규모 클러스터 성능 튜닝 포인트를 실무 관점에서 정리한다.

상세 보기


기본 개념

쿠버네티스를 사용하는 이유부터 구성요소, Pod 생성 방식, RBAC, PV/PVC, Autoscaling, Probe, Affinity, 보안, Operator, CRD, Graceful Shutdown, Deployment Strategy, 네트워크 패킷 흐름까지 기본기를 체계적으로 정리한다.

상세 보기


참고 자료

⚠️ **GitHub.com Fallback** ⚠️