Kubernetes
Entity (인물·조직)lectureverified2026-05-09

Kubernetes

#vch#lecture-intro#B-os#os-g5

Kubernetes (2014)

1. 요약

Kubernetes(K8s)는 2014년 6월 6일 Google이 발표한 컨테이너 오케스트레이션 플랫폼이다. Google 내부의 Borg(2003~2004부터 운영)와 Omega에서 10년간 검증된 추상을 오픈소스로 공개한 것. 클러스터 = 한 OS라는 패러다임을 박았고, 2018년 CNCF graduated 후 클라우드 네이티브의 사실상 표준. 2026년 모든 주요 클라우드(AWS·Azure·GCP·Oracle)와 거의 모든 대기업이 사용.

2. 등장 배경

Google은 2003~2004년부터 Borg수백만 컨테이너 워크로드를 운영. 외부 세계는 2008년 LXC·2013년 Docker로 컨테이너 시대에 진입했지만, 수천 컨테이너를 어떻게 묶어 돌릴 것인가는 미해결. Google 엔지니어 Joe Beda·Brendan Burns·Craig McLuckieBorg의 추상을 오픈소스로 가져온다는 결정. 2014년 6월 발표 후, Microsoft·Red Hat·IBM·Docker가 즉시 합류. 2015년 v1.0 출시 + CNCF(Cloud Native Computing Foundation) 출범.

3. 아키텍처 특징

핵심 추상 (Borg에서 계승)

  • Pod — 같이 돌아야 하는 1개 이상의 컨테이너 묶음. 가장 작은 배포 단위. 한 IP·한 스토리지 공유.
  • ServicePod 묶음에 안정적인 네트워크 엔드포인트 제공. Pod이 죽었다 살아나도 이름은 그대로.
  • Label / Selector — 임의 메타데이터로 객체 묶기. 환경·앱·버전을 자유 분류.
  • Deployment — *원하는 상태(desired state)*를 선언, 컨트롤러가 실제 상태를 그것에 맞춤.

컴포넌트

  • API Server — JSON over HTTP. 클러스터의 단일 진입점. 모든 변경은 여기서.
  • etcd — CoreOS가 만든 분산 키-값 스토어. 클러스터 전체 상태의 SSOT. Raft 합의.
  • Controller Manager — 다양한 컨트롤러(ReplicaSet·Node·Endpoint)가 desired state ↔ current state 차이를 끊임없이 조정.
  • Scheduler — 새 Pod을 어느 노드에 박을지 결정.
  • Kubelet — 각 노드의 에이전트. Pod 실행·헬스 체크·리소스 보고.
  • kube-proxy — 노드 네트워크 프록시. Service 라우팅.

핵심 모델

  • 선언적(declarative) API — 사용자는 원하는 상태를 YAML로 기록, 컨트롤러가 그것에 맞춤. 명령형 스크립트와 정반대.
  • 모듈러 설계 — Borg의 모놀리식·Omega의 공유 상태와 다르게 API Server + etcd + Controllers로 분리.

4. 짝지어진 언어

Go(Kubernetes 자체). YAML(매니페스트), Helm(차트 패키징), Kustomize(템플릿 없는 오버레이), CUE(타입 안전 설정), Jsonnet(설정 생성). YAML 매니페스트가 Infrastructure as Code의 사실상 표준이 됨. Operator 패턴(2016, CoreOS)이 애플리케이션별 컨트롤러를 쓰는 모델을 박아 *Stateful 워크로드(DB·메시지 큐)*까지 Kubernetes가 담당하게 됨.

5. SE 실무 변화

  • 클러스터 = OSkubectl이 클러스터 OS의 셸이 됨. Pod·Service·Volume이 프로세스·소켓·파일과 평행.
  • GitOps의 등장Git 저장소가 클러스터 desired state의 SSOT. Argo CD·Flux가 Git ↔ 클러스터 동기화. 2017~2018년 GitOps 운동.
  • CNCF 생태계 폭발 — Prometheus(모니터링)·Envoy(서비스 메시 데이터 플레인)·Istio·Linkerd(서비스 메시)·Helm(패키지)·Cilium(eBPF 네트워킹) 등 수백 프로젝트가 K8s 위에서 자라남.
  • 멀티 클라우드·하이브리드 클라우드 — K8s가 추상층이 되어 AWS·Azure·GCP·온프레미스를 같은 인터페이스로 운영. 클라우드 락인 일부 완화.
  • AI/ML 워크로드의 표준 — Kubeflow·Argo Workflows·Ray on K8s가 분산 학습·추론의 표준. 2026년 거의 모든 AI 인프라가 K8s 위.

6. 강의 활용

Kubernetes는 강의에서 **"좋은 설계는 회사 내부에서 10년 검증된 후 오픈소스로 폭발한다"**는 메시지의 결정적 사례. Google이 10년 동안 운영한 Borg의 추상을 외부 세계가 받을 준비가 되었을 때 박았다. "설계는 시간을 들여 검증되어야 한다 — 그러면 시장이 받을 때 폭발한다". 또한 선언적 API + 끊임없는 조정이라는 모델은 Vibe Coding 시대에 desired state(스펙·설계) ↔ current state(생성된 코드)의 끊임없는 조정과 정확히 평행.

7. 주요 인물·사건

  • Joe Beda / Brendan Burns / Craig McLuckie — Kubernetes 창시 3인. 모두 Google 출신.
  • Eric Brewer — Google VP, 컨테이너 인프라의 사상적 토대.
  • Tim Hockin — Kubernetes 핵심 메인테이너. 네트워킹 모델 설계.
  • Brian Grant — Borg에서 Kubernetes로의 추상 이전 책임자.
  • 2003~2004 — Google, Borg 시작
  • 2013 — Google, Omega 발표 (Borg 후속 연구)
  • 2014.06.06 — Kubernetes 첫 발표
  • 2015.07.21 — Kubernetes 1.0 + CNCF 출범
  • 2016 — Operator 패턴 (CoreOS)
  • 2017 — Docker Inc., K8s 공식 지원 발표 (Swarm 사실상 포기)
  • 2018 — CNCF graduated 졸업 (성숙 프로젝트 인정)
  • 2019 — AWS EKS·Azure AKS·GCP GKE 모두 정식 출시
  • 2026 — Kubernetes가 사실상 클라우드 OS. Edge·IoT·AI 워크로드까지 확장

출처

그룹 시리즈

synthesis/group-os_g5 (시대 그룹 종합 카드)