π Autoscaling in Kubernetes (κ°μ)
β
Scaling μ΄λ?
μλ 물리 μλ² μμ μμ:
- Vertical Scaling (μμ§ νμ₯)
- κΈ°μ‘΄ μλ²μ CPU, λ©λͺ¨λ¦¬ λ± μμμ λ μΆκ°
- μ¦, μλ² ν¬κΈ°λ₯Ό ν€μ
- Horizontal Scaling (μν νμ₯)
- μλ²λ₯Ό μ¬λ¬ λ μΆκ° β κ°μ μ ν리μΌμ΄μ
μ μ¬λ¬ μΈμ€ν΄μ€λ‘ μ€ν
- μ¦, μλ² κ°μλ₯Ό λλ¦Ό
β
Kubernetesμμμ Scaling
Kubernetesμμλ λ κ°μ§ μμμμ Scaling κ°λ₯:
- Workload Scaling (μν¬λ‘λ νμ₯)
- νλ(Pod) κ°μλ₯Ό λ리거λ μ€μ΄λ λ°©μ
- (Horizontal) λ λ§μ Pod μΆκ°
- (Vertical) κΈ°μ‘΄ Podμ λ λ§μ CPU/λ©λͺ¨λ¦¬ ν λΉ
- Cluster Scaling (ν΄λ¬μ€ν° νμ₯)
- λ
Έλ(Node) μ체λ₯Ό νμ₯
- (Horizontal) λ
Έλ μΆκ°
- (Vertical) κΈ°μ‘΄ λ
Έλμ μμ(CPU/λ©λͺ¨λ¦¬) μ
κ·Έλ μ΄λ
β
μλ(Manual) vs μλ(Automatic) Scaling
- Manual (μλ λ°©μ)
- ν΄λ¬μ€ν° μν νμ₯: μ VM/μλ²λ₯Ό νλ‘λΉμ λ ν
kubeadm join μΌλ‘ μΆκ°
- ν΄λ¬μ€ν° μμ§ νμ₯: VM 리μ¬μ΄μ¦ β ν΄λ¬μ€ν°μ κ΅μ²΄
- μν¬λ‘λ μν νμ₯:
kubectl scale λͺ
λ ΉμΌλ‘ Pod μ μ‘°μ
- μν¬λ‘λ μμ§ νμ₯:
kubectl edit μΌλ‘ Deployment/StatefulSetμ 리μμ€ μμ²Β·μ ν μμ
- Automatic (μλ λ°©μ)
- Cluster Autoscaler: ν΄λ¬μ€ν° λ
Έλ μλ μ¦κ°
- Horizontal Pod Autoscaler (HPA): Pod κ°μ μλ μ¦κ°
- Vertical Pod Autoscaler (VPA): Pod 리μμ€ μλ μ‘°μ
β
μμ½
- Scaling = μμ νμ₯ (μμ§ = 리μμ€ μ¦κ°, μν = μΈμ€ν΄μ€ μ¦κ°)
- Kubernetesλ μν¬λ‘λ νμ₯κ³Ό ν΄λ¬μ€ν° νμ₯ λ λ€ μ§μ
- μλ λ°©λ²λ μμ§λ§ μ€μ μ΄μμμλ Autoscaler (HPA, VPA, Cluster Autoscaler) λ₯Ό λ§μ΄ μ¬μ©