개발 › CS·이론
개발 › CS·이론 카테고리의 글
- 쿠버네티스 스토리지는 어떻게 동작하는가 — 사라지는 컨테이너에 영속 데이터 붙이기
컨테이너는 사라지면 데이터도 사라지는데, DB 같은 워크로드는 상태를 지켜야 합니다. 이 간극을 메우는 쿠버네티스 스토리지를 밑바닥부터 파고듭니다. 볼륨의 수명, PV와 PVC의 관심사 분리, StorageClass와 동적 프로비저닝, CSI 표준, 볼륨이 파드에 붙기까지의 여정(provision·attach·mount), 접근 모드, 그리고 StatefulSet까지 정리한 교과서형 딥다이브입니다.
- 쿠버네티스 네트워킹은 어떻게 동작하는가 — 패킷이 파드 A에서 파드 B까지
파드 A의 패킷이 다른 노드의 파드 B까지 실제로 어떻게 도달하는지를 밑바닥부터 따라갑니다. 쿠버네티스의 flat 네트워크 모델, network namespace와 veth, 같은 노드·다른 노드 통신(오버레이 vs 라우팅), CNI, Service와 kube-proxy(iptables·IPVS·eBPF), DNS·Ingress·NetworkPolicy까지 정리한 교과서형 딥다이브입니다.
- 쿠버네티스는 내부에서 어떻게 동작하는가 — 컨트롤 플레인과 조정 루프
kubectl apply 한 줄 뒤에서 쿠버네티스가 실제로 하는 일을 밑바닥부터 따라갑니다. 선언적 API와 조정 루프라는 핵심 철학부터 etcd·API server·스케줄러·컨트롤러·kubelet의 역할, 그리고 파드 하나가 뜨기까지의 end-to-end 여정, 나아가 이 설계가 왜 자가 치유와 확장(오퍼레이터)을 가능하게 하는지까지 정리한 교과서형 딥다이브입니다.
- 컨테이너는 어떻게 동작하는가 — namespaces, cgroups, 그리고 이미지의 내부
컨테이너는 가벼운 VM이라는 흔한 오해에서 출발해, docker run 한 줄 뒤에서 리눅스 커널이 실제로 하는 일을 밑바닥부터 파고듭니다. 무엇을 보는지 격리하는 namespaces, 얼마나 쓰는지 제한하는 cgroups, 이미지를 이루는 union 파일시스템과 OCI 표준, runc·containerd로 이어지는 런타임 구조, 그리고 공유 커널이라는 보안의 한계와 그 강화까지 정리한 교과서형 딥다이브입니다.
- 분산 합의, 밑바닥부터 이해하기 — FLP 불가능성부터 Raft의 안전성 증명, 그리고 etcd까지
분산 시스템에서 "모두가 하나의 값에 동의한다"는 합의가 왜 필요하고 왜 어려운지를 FLP 불가능성과 정족수 원리부터 짚고, Raft의 리더 선출·로그 복제·안전성을 그 증명의 직관까지 깊게 파고듭니다. 멤버십 변경·스냅샷·선형화 가능한 읽기 같은 실전 확장과, etcd·쿠버네티스가 이를 어떻게 쓰는지까지 한 편으로 정리한 교과서형 딥다이브입니다.