KR_쿠버네티스 - somaz94/DevOps-Engineer GitHub Wiki
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 장애·네트워크 파티션 등으로 노드 불가
Pod 생성 흐름(API Server → etcd → Scheduler → kubelet)부터 RBAC·API Group 구조, HPA 스케일링 알고리즘, Probe 최적 설정, RollingUpdate 전략, Graceful Shutdown의 preStop Hook까지 쿠버네티스 운영의 핵심 개념을 다룬다.
→ 상세 보기
같은 노드 내 ARP Proxy 동작, VXLAN 캡슐화, iptables vs IPVS, kube-proxy DNAT/SNAT 체인, CoreDNS·ndots, Calico BGP, Ingress Controller 비교(NGINX/Traefik/Istio), CNI IPAM, MTU 불일치, Dual-Stack 등 쿠버네티스 네트워크 내부 동작을 심층 분석한다.
→ 상세 보기
etcd Compaction·Defragmentation 자동화, Control Plane HA, PDB 설정, QoS·OOMKilled 해결, Cluster Autoscaler vs Karpenter, StatefulSet PV 관리, CronJob·DaemonSet 운영, Admission Webhook 구현 등 프로덕션 운영에 필요한 고급 주제를 다룬다.
→ 상세 보기
CPU Throttling(CFS Quota), DNS 해석 지연(ndots=5), ImagePullBackOff·Private Registry 인증, Node NotReady 복구 절차, PV Terminating 상태 해제 등 현장에서 자주 발생하는 장애를 원인부터 해결까지 단계별로 정리한다.
→ 상세 보기
PSS·PSA의 enforce/audit/warn 모드, NetworkPolicy Egress·DNS 허용 패턴, IRSA 동작 원리, 컨테이너 보안 스캔과 Admission Controller 통합, Sealed Secrets vs External Secrets Operator를 비교하며 클러스터 보안을 강화하는 방법을 정리한다.
→ 상세 보기
Prometheus Service Discovery·relabel_configs, OpenTelemetry Collector 구성, Kubernetes Events 장기 보관, Metrics Server vs Custom Metrics API 비교, Grafana Dashboard as Code(Jsonnet) 등 클러스터 관측성 확보 전략을 다룬다.
→ 상세 보기
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, 네트워크 패킷 흐름까지 기본기를 체계적으로 정리한다.
→ 상세 보기