🧭 Kubernetes란?
**Kubernetes(쿠버네티스)**는 컨테이너(Docker 등)를 자동으로 배포·운영·확장·복구할 수 있도록 도와주는 컨테이너 오케스트레이션 플랫폼입니다.
✅ Kubernetes가 필요한 이유
기존 방식 Kubernetes 방식
수동으로 컨테이너 배포 | 자동화된 배포 및 관리 |
서버 장애 시 직접 재시작 | 헬스체크로 자동 복구 |
서버 확장 어려움 | YAML 파일로 간단히 확장 |
로드밸런싱 수동 설정 | 자동 서비스 디스커버리 |
배포 설정이 흩어짐 | 모든 구성 YAML로 정의 (버전관리 가능) |
🔧 Kubernetes 구성요소 요약
구성요소 설명 비유
Pod | 컨테이너 1개 또는 묶음 (기본 단위) | 택배 상자 |
Node | Pod가 실행되는 실제 서버 | 배달 차량 |
Deployment | Pod를 몇 개, 어떻게 유지할지 정의 | 생산 계획서 |
Service | Pod 접근을 위한 가상 IP 및 라우팅 설정 | 콜센터 |
Ingress | 도메인 URL을 서비스에 연결 (nginx 등 사용) | 도로 |
ConfigMap / Secret | 환경 설정 또는 민감 정보 외부화 | 설정 파일 |
Namespace | 리소스들을 구분하는 가상 공간 | 폴더 또는 팀 |
🧪 Kubernetes로 할 수 있는 일
- 컨테이너 애플리케이션 자동 배포
- 트래픽에 따라 서비스 자동 확장
- 장애 발생 시 자동 재시작
- 다양한 환경에서 통일된 배포 방식 적용
- 로그/모니터링 연동
☁️ Kubernetes 사용 환경
환경 예시
퍼블릭 클라우드 | AWS EKS, GCP GKE, Azure AKS |
온프레미스 서버 | kubeadm, Rancher 등 |
로컬 개발용 | Minikube, Kind |
🚀 Minikube란?
Minikube는 로컬 Ubuntu/Windows/Mac 환경에서 Kubernetes 클러스터를 가볍게 실행할 수 있는 도구입니다.
✅ 특징
- 단일 노드 Kubernetes 클러스터 생성 (학습용/개발용)
- 실제 Kubernetes 구성과 거의 동일
- Docker, VirtualBox, Hyperkit 등 다양한 드라이버 지원
- kubectl 명령어 그대로 사용 가능
✅ Minikube 실습 흐름
- Minikube 설치 (Ubuntu 기준 -driver=docker 추천)
- kubectl CLI 설치
- minikube start 로 클러스터 기동
- kubectl apply 로 배포 설정 실행
- minikube service 명령어로 서비스 접근 테스트
✅ 실습 환경 추천
- VMware Ubuntu에서 Minikube 설치 → Spring Boot 앱 배포 실습
- 도커 이미지 → Kubernetes 클러스터에 올리기
- LoadBalancer, Ingress, ConfigMap 등 실습 가능
'OS > Kubernetes' 카테고리의 다른 글
🟢 [Kubernetes] YAML로 Nginx 배포 및 파드 확장하기 (0) | 2025.06.30 |
---|---|
🟢 [Kubernetes] kubectl로 Nginx 배포하기 – 실습 정리 (0) | 2025.06.30 |
🟢 [Kubernetes] Minikube 설치 및 클러스터 시작하기 (0) | 2025.06.30 |
[Kubernetes] 명령어 모음 (0) | 2021.04.02 |
[Kubernetes] POD (0) | 2021.04.01 |