K8s
  • Amazon EKS
  • 1.EKS 환경 구성
    • IDE 환경 구성
    • 인증/자격증명 및 환경 구성
  • 3.VPC구성과 eksctl 기반 설치
    • Cloudformation 구성
    • eksctl 구성
    • EKS 구성확인
  • 4.EKS Service 이해
    • Cluster IP 기반 배포
    • NodePort 기반 배포
    • Loadbalancer 기반 배포
  • 5.EKS Ingress
    • AWS Load Balancer Controller
  • 6.EKS 기반 관리
    • 패키지 관리 - Helm
    • 고가용성 Health Check 구성
    • 고가용성 Health Check 구성 (작업중)
    • Assign
    • 테인트와 톨러레이션
    • Pod 오버헤드 (Pod Overhead)
  • 7.Scheduling
    • 스케쥴링 - AutoScaling 구성
    • 스케쥴링-Karpenter
      • Basic Node Pool
        • Scaling Application
        • Limit Resources
        • Disruption
        • Drift
        • RightSizing
      • Multi NodePools
        • Team Based NodePool
        • Weighting NodePool
      • Cost Optimization
        • Consolidation
          • Single Node Consolidation
          • Multi Node Consolidation
          • Using Spot Instance
          • Spot to Spot Consolidation
        • Using Graviton
        • On-Demand & Spot Ratio Split
      • Scheduling Constraints
        • Node Affinity
        • Taints and Toleration
        • Topology Spread
        • Pod Affinity
        • Persistence Volume Topology
        • Pod Disruption Budget
        • Disruption Control
        • NodePool Disruption Budgets
        • Instance type and AZ
        • Multi-Arch
      • Control Pod Density
        • Static Pod Density
        • Dynamic Pod Density
        • Restrict Instance Type
      • EC2 Node Class
        • EC2 Node Classes
        • Custom AMI
        • Node Volumes
      • Observability
      • Migrating from Cluster Autoscaler
        • Install Cluster AutoScaler (CAS)
        • AutoScaling using Cluster AutoScaler (CAS)
        • Migrate from CAS to Karpenter
    • 스케쥴링-Karpenter (Old)
    • EKS Fargate (New)
    • EKS Fargate (old)
  • 8.Observability
    • K8s Dashboard 배포
    • Prometheus-Grafana
    • EFK기반 로깅
    • Container Insights
    • X-Ray기반 추적
    • Loki
  • 9. EKS Networking
    • Multus
    • VPC Advanced
    • External SNAT (TBD)
  • 10.EKS Storage
    • 볼륨/CSI
    • Stateful Container-EBS
    • Stateful Container-EFS
  • 11.EKS Security
    • 이미지 보안
    • OPA Gatekeeper
    • Kyverno
    • RBAC
    • IAM 그룹 기반 관리
    • IRSA (IAM Roles for Service Account)
    • Pod Security (TBD)
    • KMS 기반 암호화 (TBD)
    • Calico 네트워크 정책
  • 12.EKS CI/CD
    • Code Pipeline기반 CI/CD
    • Jenkins 기반 CI
    • WEAVE Flux 기반 GitOps (TBD)
    • Argo 기반 CD
    • Github Action & ArgoCD 기반 CI/CD
  • 13.EKS Service Mesh
    • Istio
      • Istio 소개
      • istio 설치와 구성
      • istio 트래픽 관리 1
      • istio 모니터링
      • Page 1
    • App Mesh (TBD)
  • Tip
    • Kubernetes 개념
      • Overview
      • Cluster Architecture
        • 노드
        • 컨트롤플레인과 노드간 통신
        • 컨트롤러
        • 클라우드 컨트롤러 매니저
      • Containers
        • 이미지
        • 컨테이너 소개
        • 런타임클래스
        • 컨테이너 환경변수
        • 컨테이너 라이프사이클 훅
      • Workloads
        • Pod
          • Pod 개요
          • Pod
          • Pod LifeCycle
          • 컨테이너 초기화
          • Pod 프리셋
          • 파드 토폴로지 분배 제약 조건
          • Untitled
        • Controller
      • Service-LB-Networking
      • Storage
      • Configuration
      • Security
      • Policies
      • Scheduling and Eviction
      • Cluster Admin
      • Extending Kubernetes
    • shell
    • git_source
    • aws cli
    • eksctl command
    • kubectl Command
    • helm command
    • Useful URL
Powered by GitBook
On this page
  • 🚀 Amazon EKS 환경에서의 워크로드 확장 방식
  • 1. 어플리케이션 확장 기법
  • 2. 데이터 플레인 확장 기법
  • 3. 전체 아키텍처 흐름
  • 4. 선택 가이드

Was this helpful?

7.Scheduling

update : 2025.04.08

PreviousPod 오버헤드 (Pod Overhead)Next스케쥴링 - AutoScaling 구성

Last updated 1 month ago

Was this helpful?

🚀 Amazon EKS 환경에서의 워크로드 확장 방식

Amazon EKS에서는 워크로드 확장을 어플리케이션 레벨과 데이터 플레인(인프라) 레벨로 구분하여 유연하게 관리할 수 있습니다.


1. 어플리케이션 확장 기법

기법

설명

확장 대상

트리거

HPA (Horizontal Pod Autoscaler)

파드 수를 수평적으로 증가시켜 트래픽에 대응

파드

CPU, 메모리 등 메트릭

VPA (Vertical Pod Autoscaler)

파드 자체의 자원(CPU, 메모리)을 증가시켜 성능 향상

파드

리소스 사용률

KEDA (Event-driven Autoscaler)

이벤트 기반으로 파드 수를 확장. 외부 시스템과 연동 가능

파드

메시지 큐, 스케줄러 등 이벤트

📌 HPA와 VPA는 metrics-server 또는 custom metrics API가 필요하며, KEDA는 이벤트 소스 연동이 필요합니다.


2. 데이터 플레인 확장 기법

기법

설명

확장 대상

트리거

Cluster Autoscaler (CAS)

Auto Scaling Group 기반 노드 확장. Pending Pod을 감지해 노드 증가

EC2 노드

Pending Pod

Karpenter

필요 시점에 적합한 EC2 인스턴스를 직접 생성. 빠르고 유연한 확장

EC2 노드

Unschedulable Pod

⚡ Karpenter는 ASG에 의존하지 않고, 원하는 인스턴스 타입을 선택하여 즉시 생성하므로 비용 최적화와 확장 속도에 유리합니다.


3. 전체 아키텍처 흐름

  • HPA/VPA/KEDA → 파드 확장 요청 발생

  • CAS/Karpenter → 파드가 스케줄링되지 못할 경우 노드 확장 수행

  • 각각의 Autoscaler가 서로 보완적으로 작동하며, 효율적인 워크로드 운영 가능


4. 선택 가이드

상황

추천 기법

트래픽에 따라 파드 수 조절

HPA

머신러닝/배치 작업 등 리소스 집약형 파드

VPA

큐 기반 처리, 이벤트 트리거

KEDA

안정적이고 관리형 ASG 기반 확장

Cluster Autoscaler

빠르고 비용 최적화된 노드 확장

Karpenter