Design a Kubernetes Cluster

Yu Sang Min·2025년 7월 1일

CKA

목록 보기
88/110

🚀 Kubernetes 클러스터 설계 시 고려사항

✅ 1. 클러스터 목적 정의

목적권장 구성
학습Minikube, Kind, kubeadm (싱글 노드)
개발/테스트kubeadm 기반 멀티 노드, 또는 GKE, EKS, AKS
운영(Production)고가용성 멀티 노드 (다중 Control Plane 구성)

✅ 2. 클라우드 or 온프레미스

옵션특징
Cloud관리형 (GKE, EKS, AKS), 자동 확장, 유지보수 쉬움
온프레미스직접 관리 (kubeadm, kOps), 커스터마이즈 가능, 높은 제어권

✅ 3. 워크로드 특성 파악

  • 애플리케이션 종류:

    • 웹 서비스
    • 빅데이터, AI, 분석
  • 트래픽 패턴:

    • 지속적 대량 트래픽
    • 버스트성 트래픽
  • 애플리케이션 수:

    • 소수 → 소규모 클러스터
    • 다수 → 확장형 클러스터

✅ 4. 스토리지 및 노드 구성

워크로드 유형스토리지 추천
고성능SSD 기반 로컬 스토리지
공유NFS, Ceph, EFS, Network File System
상태 저장PersistentVolume + StorageClass 구성

🔥 클러스터 설계 아키텍처 다이어그램

                                      ┌────────────────────────────┐
                                      │       Cloud / On-Prem       │
                                      └─────────────┬──────────────┘
                                                    │
                              ┌─────────────────────┴───────────────────────┐
                              │                                               │
                ┌─────────────────────────────┐             ┌─────────────────────────────┐
                │        Control Plane         │             │          Worker Nodes        │
                │ (API Server, etcd, Scheduler │             │  (Pod, Service, Volume, etc.)│
                │   Controller Manager)        │             │                               │
                └─────────────────────────────┘             └─────────────────────────────┘
                              │                                               │
                              │                      ┌────────────────────────┴──────────────────────┐
                              │                      │                                                   │
        ┌─────────────────────────────┐  ┌─────────────────────────────┐       ┌─────────────────────────────┐
        │ Persistent Storage (NFS, EBS)│  │ Load Balancer (NGINX, ALB)  │       │ Monitoring/Logging (Prometheus)│
        └─────────────────────────────┘  └─────────────────────────────┘       └─────────────────────────────┘

하드웨어 및 스케일링 기준

항목기준
최대 노드 수5,000 노드
최대 파드 수150,000 파드
컨테이너 수최대 300,000 컨테이너
노드당 파드최대 100개

※ 운영 환경에서는 Control Plane를 별도로 구성하고 Master Node는 워크로드를 수행하지 않음. 단, 테스트/개발 환경에서는 Master에도 워크로드 가능.


🔗 플랫폼별 클러스터 프로비저닝 도구

플랫폼도구
온프레미스kubeadm, kOps
AWSAmazon EKS, kOps
GCPGoogle Kubernetes Engine (GKE)
AzureAzure Kubernetes Service (AKS)

📦 스토리지 전략

  • 스토리지 클래스 정의

    • 고성능 SSD
    • 저비용 HDD
    • 네트워크 스토리지
  • Volume 종류

    • PersistentVolumeClaim (PVC)
    • Dynamic Provisioning
    • Shared Volumes (NFS, Ceph)

🚀 결론

  • 클러스터 설계는 단순히 노드를 배포하는 것 이상의 작업.
  • 워크로드 특성, 트래픽 유형, 스토리지 요구사항, 고가용성 요구를 기반으로 설계.
  • 클라우드 네이티브 시대에서는 관리형 Kubernetes를 우선 고려하고, 필요시 온프레미스 또는 하이브리드 선택.
profile
React, Node.js, AWS, Git, Github, Github Action, Docker, K8S

0개의 댓글