쿠버네티스(Kubernetes, K8s)는 컨테이너화된 애플리케이션을 자동으로 배포, 관리, 확장할 수 있도록 도와주는 컨테이너 오케스트레이션 플랫폼입니다.
구글이 내부적으로 사용하던 Borg 시스템을 기반으로 개발하였으며, 현재 CNCF(Cloud Native Computing Foundation)에서 관리하고 있습니다.
쿠버네티스는 여러 개의 컨테이너를 효율적으로 관리할 수 있도록 클러스터 기반 구조를 가집니다.
✅ 자동화된 컨테이너 관리 → 애플리케이션 배포, 확장, 복구 자동화
✅ 무중단 업데이트 → 롤링 업데이트 & 롤백 지원
✅ 자동 확장(Auto Scaling) → 트래픽 변화에 따른 자동 확장 가능
✅ 로드 밸런싱 → 여러 개의 Pod에 부하 분산
✅ 자체 복구(Self-healing) → 장애 발생 시 자동으로 컨테이너 재시작
✅ 다양한 인프라 지원 → 온프레미스, 클라우드(AWS, GCP, Azure) 등에서 사용 가능
쿠버네티스를 활용하여 간단한 Nginx 웹 서버를 배포하는 방법을 설명하겠습니다.
아래 YAML 파일을 사용하여 Nginx를 배포합니다.
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
spec:
replicas: 3 # 3개의 Pod 실행
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:latest
ports:
- containerPort: 80
kubectl apply -f nginx-deployment.yaml
Pod를 외부에서 접근할 수 있도록 서비스 객체를 생성합니다.
apiVersion: v1
kind: Service
metadata:
name: nginx-service
spec:
selector:
app: nginx
ports:
- protocol: TCP
port: 80
targetPort: 80
type: NodePort
배포 후 확인:
kubectl apply -f nginx-service.yaml
kubectl get pods
kubectl get services
이제 NodePort
를 통해 웹 서버에 접근할 수 있습니다!
비교 항목 | Docker | Kubernetes |
---|---|---|
개념 | 컨테이너 실행 및 관리 | 컨테이너를 클러스터 단위로 자동화 관리 |
배포 방식 | 개별 컨테이너 실행 | 여러 컨테이너를 묶어 자동 배포 |
확장성 | 수동 확장 필요 | 자동 확장 가능 |
복구 기능 | 컨테이너 다운 시 직접 재시작 필요 | 자동 복구 (Self-healing) |
부하 분산 | 직접 설정 필요 | 내장 로드 밸런싱 지원 |
네트워크 관리 | 개별 컨테이너 연결 | 클러스터 내 네트워크 관리 |
👉 Docker는 컨테이너를 실행하는 기술이고, Kubernetes는 이를 대규모로 관리하는 오케스트레이션 도구입니다.
즉, Docker는 컨테이너 실행, Kubernetes는 컨테이너 운영 자동화라고 이해하면 됩니다!
🔹 마이크로서비스 아키텍처 (MSA) → 여러 개의 서비스 운영 자동화
🔹 CI/CD 파이프라인 → 지속적 배포 및 롤백 자동화
🔹 멀티 클라우드 환경 → AWS, GCP, Azure 등 다양한 클라우드에서 통합 운영
🔹 자동 확장 및 부하 분산 → 트래픽 증가 시 자동으로 Pod 추가
✅ 쿠버네티스(Kubernetes, K8s)는 컨테이너 기반 애플리케이션을 자동으로 배포, 관리, 확장할 수 있는 컨테이너 오케스트레이션 도구입니다.
✅ Docker는 컨테이너 실행 도구, Kubernetes는 컨테이너 관리 도구입니다.
✅ 마이크로서비스 아키텍처, CI/CD 자동화, 멀티 클라우드 환경에서 필수적인 도구로 사용됩니다.
🚀 쿠버네티스를 활용하면 대규모 컨테이너 환경을 효율적으로 관리할 수 있습니다!
윈도우 운영체제의 노트북에서는 iPhone 유선 테더링이 잘 안되는 경우가 많습니다. 보통 iPhone의 드라이버가 설치가 안되있어서인…
안녕하세요, 혹시 이런 생각해 본 적 없으신가요? "내가 투자한 회사는 누가 감시하고, 어떻게 운영될까?" 오늘은…
1. Gemini CLI란 무엇인가요? Gemini CLI는 터미널 환경에서 직접 Gemini 모델과 상호작용할 수 있도록 만들어진…
과적합은 머신러닝에서 학습용데이터를 과하게 학습하여, 실제데이터를 예측하지 못하는 현상을 말합니다. 인공지능(AI)의 학습 방법은 우리가 시험공부를…