1. 쿠바네티스 커리큘럼 (K8s Curriculum)
우리는 '컨테이너 지휘자'인 쿠바네티스의 기초를 다음 순서로 학습했습니다.
- 1단계: 정체와 구조 - 마스터(두뇌)와 워커(일꾼) 노드로 이루어진 클러스터 이해.
- 2단계: 최소 단위 포드(Pod) - 컨테이너를 담는 일회용 봉투인 포드의 개념.
- 3단계: 관리자 디플로이먼트 - 포드의 개수를 유지하고 업데이트를 관리하는 사령탑.
- 4단계: 서비스(Service) - 포드가 바뀌어도 변하지 않는 고정된 접속 창구(간판).
- 5단계: 설정과 저장 - 보안 정보(Secret)와 일반 설정(ConfigMap), 데이터 보존(Volume).
2. 핵심 요약 (Key Concepts) 💡
- Desired State (원하는 상태): 사용자가 선언한 상태를 쿠바네티스가 24시간 감시하며 현실과 맞춤.
- Self-healing (자가 치유): 포드가 죽으면 즉시 새 포드를 만들어 서비스 유지.
- Zero Downtime: 업데이트 시 포드를 하나씩 교체하여 서비스 중단 없이 배포.
3. 주요 오브젝트 및 명령어 (Key Objects & Commands) ⌨️
| 오브젝트 | 역할 | 주요 명령어 (kubectl) |
| Pod | 가장 작은 실행 단위 | kubectl get pods (상태 확인) |
| Deployment | 포드 개수 및 배포 관리 | kubectl apply -f [파일명].yaml (실행) |
| Service | 고정 주소 및 로드밸런싱 | kubectl get service (접속 주소 확인) |
| Common | 전체 상태 확인 | kubectl get all |
4. 예제 파일 (YAML) 📄
쿠바네티스는 모든 설정을 YAML 파일로 설명합니다.
[deployment.yaml] - "포드 3개를 유지해줘"
YAML
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-app-deploy
spec:
replicas: 3 # 원하는 포드 개수
selector:
matchLabels:
app: my-web
template:
metadata:
labels:
app: my-web
spec:
containers:
- name: my-python-app
image: my-first-app:latest
[service.yaml] - "포드들에 접속할 고정 간판을 달아줘"
YAML
apiVersion: v1
kind: Service
metadata:
name: my-app-service
spec:
selector:
app: my-web # 이 라벨이 붙은 포드들을 찾아 연결
ports:
- protocol: TCP
port: 80 # 서비스의 포트
targetPort: 8080 # 포드 내부의 포트
type: LoadBalancer # 외부에서 접속 가능하게 설정
'IT writer' 카테고리의 다른 글
| Docker 초보자용 학습 요약 노트 (0) | 2026.02.24 |
|---|---|
| Docker 학습 요약 노트 (0) | 2026.02.24 |
| 업무 생산성과 창의성을 극대화할 수 있는 핵심 AI 프로그램들을 분야별로 정리 (0) | 2026.02.07 |
| 스마트 팩토리, DX, AX (0) | 2026.01.09 |
| 클라우드형 서비스 모델 (0) | 2025.12.11 |