updated_at: 2025-06-19 15:00

Deployment

  • 가장 일반적이고 권장되는 컨트롤러
  • ReplicaSet을 관리하면서 자동으로 Pod를 생성/복제/업데이트
  • 롤링 업데이트, 롤백, 스케일링 지원
  • 웹 서비스 등의 무상태(stateless) 애플리케이션에 적합

정의

Deployment는 Pod를 제어하고 관리하는 상위 리소스입니다.
복수 개의 Pod를 생성하고 상태를 유지합니다.
배포, 롤백, 업데이트 등 자동화된 운영 기능 제공

주요 특징

자동 복구: Pod가 죽으면 새 Pod를 자동으로 생성합니다.
스케일링: 원하는 개수의 복제본(replicas) 유지 가능
롤링 업데이트 / 롤백 지원
실제 운영 환경에 사용

예시 (deployment.yaml)

apiVersion: apps/v1
kind: Deployment
metadata: // deployment의 이름을 설정
  name: nginx-deployment
spec:
  replicas: 3  // 파드의 개수를 몇개 유지할지 설정
  selector: // 어떤 레이블의 파드를 선택하여 관리할지에 대한 설정
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
        - name: nginx
          image: nginx:1.25
          ports:
            - containerPort: 80
  • spec.selector.matchLabels 와 template.metadata.labels 과 일치하여야 한다.
평점을 남겨주세요
평점 : 2.5
총 투표수 : 1

질문 및 답글