IT기술/쿠버네티스 (k8s)

쿠버네티스(k8s)에서 파드 수 조절과 관리 방법

후스파 2025. 3. 29. 13:25
반응형
쿠버네티스 kubernetes k8s

쿠버네티스에서 파드 수 조절과 관리는 Deployment 오브젝트와 매니페스트 파일을 통해 이루어집니다. 다음은 주요 관리 방법과 작동 원리에 대한 설명입니다.

 

파드 수 조절 방법

1. 매니페스트 파일 수정 방식

  • Deployment의 spec.replicas 값을 변경 후 kubectl apply 실행
# apache_ex001_dep.yml 예시
apiVersion: apps/v1
kind: Deployment
spec:
  replicas: 5  # 이 값을 조절
 
 
kubectl apply -f apache_ex001_dep.yml
 

 

 

2. 명령어 직접 실행 방식

kubectl scale deployment/apache-ex001-dep --replicas=3
 
 

이 명령은 즉시 실행되는 명령형 방식으로, etcd에 반영되지만 추적 가능성이 낮습니다.

 

내부 작동 원리

  • etcd 연동
    모든 변경 사항은 API 서버를 통해 etcd에 저장되며, 컨트롤 매니저는 이 값을 기준으로 실제 상태를 조정합니다.
  • 롤링 업데이트
    컨테이너 이미지 변경 시 Deployment는 다음 전략으로 업데이트:
spec:
  strategy:
    type: RollingUpdate
    rollingUpdate:
      maxSurge: 25%
      maxUnavailable: 25%
 

 

  • 자동 복구 메커니즘
    ReplicaSet이 파드 수를 지속적으로 모니터링하며, 의도한 상태와 불일치 시 자동으로 조정됩니다611. 파드 삭제 시 새 인스턴스가 즉시 생성되는 것도 이 메커니즘 덕분입니다.

 

실무 활용 팁

  • 버전 관리: 매니페스트 파일 변경 시 반드시 버전 관리 시스템과 연동
  • 확장 전략: 수동 조정 대신 HPA(Horizontal Pod Autoscaler) 사용 권장
kubectl autoscale deployment/apache-ex001-dep --min=2 --max=10 --cpu-percent=80
 

 

  • 상태 확인 명령어
kubectl rollout status deployment/apache-ex001-dep  # 배포 상태 확인
kubectl get replicaset --watch                      # 레플리카셋 변화 추적
 
 
 

주의사항

  • 직접 파드 삭제(kubectl delete pod)는 임시 조치일 뿐, 영구적 수정은 Deployment 수준에서 수행해야 함
  • 매니페스트 파일과 실제 클러스터 상태의 동기화 유지 필요
  • 프로덕션 환경에서는 최소 3개의 etcd 노드 구성 권장

 

이러한 메커니즘을 통해 쿠버네티스는 선언적 설정을 기반으로 한 자동화된 인프라 관리를 실현하며, etcd의 강력한 일관성 보장이 그 핵심에 있습니다.

 

 

[k8s] 쿠버네티스 관리

쿠버네티스(Kubernetes)는 매니페스트 파일을 통해 리소스를 정의하고 관리합니다. 이 파일은 쿠버네티스...

blog.naver.com

 

 

쿠버네티스(k8s) 핵심 명령어와 매니페스트 활용 가이드

1. 기본 kubectl 명령어쿠버네티스 클러스터 관리를 위한 최소한의 필수 명령어를 소개합니다.명령어설명주요 옵션kubectl apply매니페스트 파일로 리소스 생성/수정-f [파일명]kubectl get리소스 목록

hoosfa.tistory.com

 

반응형