Day 75 · 1/5
🌳 고급 인프라

쿠버네티스가 뭔가요?

쉽게 이해하기

쿠버네티스는 대형 물류 창고의 자동화 시스템과 같아요. 수백 개의 택배 상자(컨테이너)를 어디에 보관하고, 언제 어떻게 배송할지 자동으로 결정해주죠. 상자가 망가지면 즉시 새 상자로 교체하고, 주문이 몰리면 자동으로 상자를 더 준비해요.

핵심 정리

쿠버네티스는 여러 컨테이너를 자동으로 관리하고 배포해주는 시스템이에요.

자세히 알아보기

쿠버네티스(Kubernetes, 줄여서 K8s)는 컨테이너를 대규모로 관리하는 오케스트레이션 도구예요. Docker로 컨테이너를 하나씩 실행하는 건 쉽지만, 서비스가 커지면 수십~수백 개의 컨테이너를 관리해야 하는데 이걸 수동으로 하기엔 너무 복잡해요. 쿠버네티스는 이런 문제를 해결해줘요. 예를 들어 여러분의 앱이 갑자기 사용자가 몰려서 느려지면, 쿠버네티스가 자동으로 컨테이너를 더 띄워서 부하를 분산시켜요(오토스케일링). 어떤 서버가 고장 나도 다른 서버에서 자동으로 컨테이너를 다시 시작하고(자가 치유), 새 버전을 배포할 때도 한 번에 하나씩 교체해서 서비스 중단 없이 업데이트할 수 있어요(롤링 업데이트). 실무에서는 마이크로서비스 아키텍처를 사용하는 대부분의 회사가 쿠버네티스를 써요. 넷플릭스, 스포티파이, Airbnb 같은 회사들이 수천 개의 서비스를 쿠버네티스로 관리하죠. 물론 초기 스타트업이나 작은 프로젝트에는 과한 도구일 수 있어요. 하지만 서비스가 커질 걸 대비한다면, 쿠버네티스는 현대 인프라의 사실상 표준이에요. 쿠버네티스의 핵심 개념은 '선언적 설정'이에요. "이 컨테이너를 3개 실행해줘"라고 명령하면, 쿠버네티스가 알아서 그 상태를 유지해요. 컨테이너가 죽으면 자동으로 다시 띄우고, 서버가 추가되면 자동으로 분산 배치해요. 개발자는 원하는 최종 상태만 정의하면 되고, 나머지는 쿠버네티스가 알아서 처리해요.