#IaaS #Onboarding #개념
1. 기본 개념
-
쿠버네티스(Kubernetes, K8s)
컨테이너 오케스트레이션 도구. 컨테이너 배포, 스케일링, 네트워킹, 자원 관리 자동화.
-
클러스터(Cluster)
쿠버네티스가 동작하는 전체 시스템.
- 마스터 노드(Control Plane): 클러스터 관리 담당 (API 서버, 스케줄러, 컨트롤러 매니저, etcd).
- 워커 노드(Node): 실제 컨테이너(Pod) 실행.
2. 리소스 단위
-
Pod
컨테이너 실행의 최소 단위. 하나 이상의 컨테이너와 스토리지, 네트워크를 묶음.
-
ReplicaSet
Pod 개수를 유지하는 리소스. (n개 복제본 보장)
-
Deployment
Pod + ReplicaSet을 선언적 방식으로 관리. 롤링 업데이트/롤백 지원.
-
StatefulSet
상태 유지가 필요한 워크로드 (DB 등). 고유 ID와 영속 스토리지 보장.
-
DaemonSet
모든 노드에 하나씩 Pod을 실행하는 리소스 (예: 로그 수집기, 모니터링 에이전트).
-
Job / CronJob
- Job: 일회성 작업 수행.
- CronJob: 스케줄 기반 반복 작업 수행.
3. 네트워킹
-
Service
Pod에 고정된 IP/도메인을 제공하는 추상화 계층.
- ClusterIP (내부 통신 전용),
- NodePort (노드의 포트 개방),
- LoadBalancer (외부 로드밸런서 연동),
- Headless Service (고정 DNS 레코드 제공).
-
Ingress
외부에서 HTTP/HTTPS 요청을 클러스터 내부 서비스로 라우팅. (Ingress Controller 필요)
-
CNI (Container Network Interface)
Pod 네트워킹 플러그인 (Calico, Flannel, Cilium 등).
4. 스토리지
-
Volume
Pod 안에서 컨테이너 간 공유 가능 스토리지.
-
PersistentVolume(PV)
클러스터 레벨에서 관리되는 스토리지.
-
PersistentVolumeClaim(PVC)
Pod에서 요청하는 스토리지.
-
StorageClass
동적 프로비저닝을 위한 스토리지 정책 (예: AWS EBS, Ceph RBD).
5. 설정 및 보안
-
ConfigMap
환경 설정(비민감 데이터) 저장 및 주입.
-
Secret
비밀번호, 인증서 등 민감 데이터 저장. base64 인코딩 방식.
-
Namespace
리소스를 논리적으로 격리.
-
RBAC(Role-Based Access Control)
사용자/서비스 계정 권한 제어.
6. 스케줄링 & 관리
-
Scheduler
Pod을 적절한 노드에 배치. 자원 사용량, taint/toleration, affinity 고려.
-
Affinity / Anti-Affinity
Pod 배치 정책 (특정 노드/Pod와 함께 or 떨어져서 실행).
-
Taints & Tolerations
특정 노드에만 Pod이 스케줄링되도록 제한.
-
Resource Requests & Limits
CPU/메모리 자원 예약 및 상한 지정.
-
Horizontal Pod Autoscaler (HPA)
CPU, 메모리 사용량에 따라 Pod 개수 자동 조절.
-
Vertical Pod Autoscaler (VPA)
Pod 자원 크기(CPU/메모리) 자동 조절.
-
Cluster Autoscaler
클러스터 노드 수를 자동 확장/축소.
7. 로깅 & 모니터링
-
kubectl logs / kubectl exec
Pod 로그 및 디버깅.
-
Prometheus / Grafana
메트릭 수집 및 모니터링.
-
ELK / EFK Stack
Elasticsearch + (Fluentd/Fluentbit) + Kibana 로깅.
8. 고급 개념
-
Operator
특정 애플리케이션을 쿠버네티스 방식으로 자동 운영할 수 있도록 만든 컨트롤러.
-
CSI(Container Storage Interface)
스토리지 표준 인터페이스. (AWS EBS CSI, Ceph CSI, PowerStore CSI 등)
-
CRD(Custom Resource Definition)
사용자가 쿠버네티스 리소스 타입을 확장 가능.
-
Service Mesh (Istio, Linkerd)
마이크로서비스 간 통신, 트래픽 관리, 보안, 모니터링 제공.
Comments
💬 Sign in with GitHub to leave a comment. Comments are public and stored in GitHub Discussions.