반응형
쿠버네티스(Kubernetes, 줄여서 K8s)는 컨테이너화된 애플리케이션을 자동으로 배포, 확장 및 관리해 주는 오픈소스 오케스트레이션 플랫폼입니다. 쉽게 말해, 수십 수백 개의 컨테이너(Docker 등)를 일일이 관리하기 힘드니, 이를 대신 관리해 주는 '자동 조타수'라고 생각하면 됩니다.
1. 왜 쿠버네티스가 필요한가요?
과거에는 서버 한 대에 여러 프로그램을 직접 설치했지만, 이제는 '컨테이너' 단위로 쪼개서 관리합니다. 그런데 서비스 규모가 커지면 다음과 같은 고민이 생깁니다.
- "서버 한 대가 죽으면 그 안의 컨테이너들을 어떻게 다른 서버로 옮기지?"
- "사용자가 갑자기 몰리면 컨테이너 개수를 어떻게 늘리지?"
- "새로운 버전을 배포할 때 서비스 중단 없이 업데이트하려면?"
이 모든 고민을 해결해 주는 것이 바로 쿠버네티스입니다.
2. 쿠버네티스의 핵심 구조
쿠버네티스 클러스터는 크게 두 부분으로 나뉩니다.
① 컨트롤 플레인 (Control Plane)
클러스터의 '뇌' 역할을 합니다. 전체 상태를 관리하고 명령을 내립니다.
- API 서버: 모든 통신의 중심 창구입니다.
- etcd: 클러스터의 모든 데이터를 저장하는 저장소(백업본)입니다.
- 스케줄러: 어떤 컨테이너를 어느 서버(노드)에 배치할지 결정합니다.
② 노드 (Node / Worker Node)
실제로 컨테이너가 실행되는 '일꾼' 서버입니다.
- Kubelet: 컨트롤 플레인의 명령을 받아 컨테이너를 실행하고 상태를 보고합니다.
- Proxy: 네트워크 규칙을 관리하여 통신이 원활하게 돕습니다.
3. 주요 개념과 용어
쿠버네티스를 이해하려면 다음 객체(Object)들을 알아야 합니다.
| 개념 | 설명 |
| Pod (파드) | 쿠버네티스에서 생성하고 관리할 수 있는 가장 작은 배포 단위. 하나 이상의 컨테이너를 담고 있습니다. |
| ReplicaSet | 파드를 몇 개나 유지할지 관리합니다. (예: "항상 3개의 파드를 띄워줘") |
| Deployment | 애플리케이션 배포의 기본 단위. 업데이트나 롤백을 관리합니다. |
| Service | 파드 집합에 고정된 IP를 부여하여 외부나 내부에서 접근 가능하게 합니다. |
4. 쿠버네티스의 핵심 기능 (장점)
- 자가 치유 (Self-healing): 컨테이너가 죽으면 즉시 재시작하거나 교체합니다.
- 자동 스케일링 (Auto-scaling): 부하에 따라 컨테이너 수를 자동으로 늘리거나 줄입니다.
- 무중단 배포 (Rolling Updates): 서비스 중단 없이 새로운 버전의 소프트웨어를 배포합니다.
- 서비스 디스커버리: 복잡한 네트워크 설정 없이도 컨테이너끼리 서로 쉽게 찾아서 통신할 수 있습니다.
5. 요약하자면
쿠버네티스는 "내가 원하는 상태(Desired State)"를 선언하면, 시스템이 알아서 "현재 상태(Current State)"를 그에 맞게 계속 유지해 주는 도구입니다. 개발자는 인프라 고민을 덜고 코드에만 집중할 수 있게 되는 겁니다.
감사합니다.
반응형
'기타 > 이슈&용어정리' 카테고리의 다른 글
| 2026년 종합소득세 정보(정의부터 신고 절차까지)(1번) (0) | 2026.05.07 |
|---|---|
| 쿠버네티스의 배포 전략과 네트워킹 모델 소개 (0) | 2026.04.28 |
| 청년 취업 지원, 검색부터 신청까지 정보를 한눈에 파악 (0) | 2026.04.23 |
| 2026년 4월 17일 IT 분야 뉴스 정리 (1) | 2026.04.18 |
| 2026년 4월 17일 경제 분야 주요 뉴스 정리 (0) | 2026.04.17 |