👾 쿠버네티스(Kubernetes) 이해하기

🧩 쿠버네티스는 왜 개발되었을까?

🔍 1. 문제의 시작: “서버 1대에 모든 걸 담는다?”

과거에는 하나의 서버에 웹사이트 전체를 설치했습니다. 예를 들어:

  • 웹 서버 (Apache)
  • 데이터베이스 (MySQL)
  • 이미지 저장 폴더

하지만 이런 구조에는 문제점이 많았어요:

  • 하나라도 멈추면 전체 서비스 다운
  • 확장이 어렵고 복잡함
  • 새로운 버전 배포 시 기존 서비스 중단

🛠 2. 가상머신(VM) → 컨테이너

가상머신(VM)이 등장하면서 조금 나아졌습니다. 서버 안에 여러 개의 작은 컴퓨터(VM)를 만든 거죠. 하지만 VM도 무겁고 느렸어요.

그래서 나온 것이 컨테이너(Container)입니다:

  • 더 가볍고 빠름
  • 필요한 앱만 분리해서 배포 가능

📌 컨테이너는 도시락, 쿠버네티스는 도시락 배달 로봇이라고 생각해보세요!

⚙️ 3. 컨테이너가 많아지면? → 관리가 어려워짐

하나의 서비스가 여러 개의 컨테이너로 나뉘다 보면 문제가 생깁니다:

  • 컨테이너가 어디에 있는지 파악이 어려움
  • 고장 나면 자동 복구가 안 됨
  • 트래픽이 많아지면 자동 확장 어려움

그래서 등장한 것이 바로 쿠버네티스(Kubernetes)입니다.


🚀 쿠버네티스란?

쿠버네티스는 컨테이너들을 자동으로 배치하고, 확장하고, 복구해주는 오픈소스 시스템입니다.

원래 구글이 내부에서 쓰던 “Borg”라는 시스템을 오픈소스로 공개한 것이 쿠버네티스입니다.

📦 쿠버네티스는 이런 일들을 해줘요:

기능 설명
자동 배포 & 롤백 새로운 앱을 자동으로 배포하고, 실패 시 이전 상태로 자동 복구
자동 확장 사용자가 많아지면 자동으로 컨테이너 수를 늘림
자가 복구 죽은 컨테이너를 자동으로 재시작
로드 밸런싱 여러 컨테이너에 트래픽을 고르게 분산
서비스 디스커버리 컨테이너끼리 서로를 쉽게 찾을 수 있도록 네트워크 설정

📌 쿠버네티스 구조 한눈에 보기

쿠버네티스 기본 구조

위 이미지는 Kubernetes 공식 사이트에서 제공하는 구조도입니다.

🧠 주요 용어 쉽게 정리

용어 설명
Pod 컨테이너 하나 또는 여러 개를 담는 최소 단위
Node 컨테이너가 실행되는 물리 서버 또는 가상 서버
Cluster 여러 Node가 모여 있는 하나의 쿠버네티스 환경
Master 전체를 관리하는 뇌 역할 (현재는 Control Plane이라고 부름)
Service Pod들을 묶어 하나의 IP로 보여주는 가상 서비스

🏭 쿠버네티스는 어디에서 쓰이고 있을까?

📱 1. 대형 IT 기업

  • 구글, 네이버, 카카오, 쿠팡 등은 수천 개의 서비스를 운영합니다.
  • 모든 서버를 쿠버네티스로 관리함으로써 효율성과 안정성을 높이고 있어요.

☁️ 2. 클라우드 서비스

  • AWS, Azure, GCP, Naver Cloud 모두 쿠버네티스 기반 서비스를 제공합니다.
  • 사용자는 버튼 몇 번만 클릭하면 쿠버네티스 클러스터를 만들 수 있어요.

🏫 3. 학교 & 교육

  • 실습 서버를 쿠버네티스로 구성하면 학생들이 빠르고 쉽게 실습 가능
  • 실패해도 자동 복구되어 관리가 쉬움

🛠 4. 스타트업과 중소기업

  • 소규모 팀도 적은 비용으로 안정적인 인프라 구축 가능
  • 마이크로서비스 아키텍처 구현에 적합

✨ 쿠버네티스가 가져다 준 변화

전통적인 방식 쿠버네티스 기반 방식
수동 서버 관리 자동화된 인프라 운영
느린 배포 무중단 자동 배포
다운타임 발생 자가 복구 시스템
고정된 트래픽 처리량 자동 확장 가능

📣 이제는 서버 하나하나를 사람이 직접 관리하는 시대가 아닙니다. 쿠버네티스를 통해 우리는 더 빠르게, 더 안정적으로 서비스를 만들 수 있어요.


📚 마무리 요약

  • 쿠버네티스는 컨테이너를 관리하는 자동화 플랫폼입니다.
  • 구글에서 개발되어 현재는 세계 대부분의 IT 기업이 사용합니다.
  • 학생도 쉽게 쿠버네티스를 배워서 실습에 활용할 수 있어요.

여러분도 빅데이터소프트웨어공학과에 입학하여 체계적으로 쿠버네티스를 공부해서 미래의 클라우드 전문가로 성장해보세요! 💪


📎 출처:

  • https://kubernetes.io
  • https://www.cncf.io
  • 한국폴리텍대학 서울강서캠퍼스 빅데이터소프트웨어공학과 이협건 교수 강의자료