티스토리 뷰

cka

kubernetes [CKA] - Deployment(기본 개념)

타올이 2023. 8. 29. 21:57
반응형

Deployment

쿠버네티스(Kubernetes)의 Deployment는 애플리케이션의 상태를 선언적으로 관리하고 업데이트를 자동화하기 위한 리소스입니다. Deployment를 사용하면 애플리케이션의 복제본을 여러 개 실행할 수 있고, 이를 통해 고가용성과 로드 밸런싱을 제공합니다.

 

Pod 대신 사용하는 이유

  • 목적 : Deployment의 주요 목적은 애플리케이션의 상태를 일관되게 유지하면서, 안정적으로 롤아웃(새 버전의 배포) 및 롤백(이전 버전으로의 복귀)을 수행하는 것입니다.
  • ReplicaSet : Deployment는 내부적으로 ReplicaSet을 사용합니다. ReplicaSet은 지정된 수의 파드 복제본을 유지하기 위해 관리하는 리소스입니다. Deployment는 새로운 버전의 애플리케이션을 배포할 때 새로운 ReplicaSet을 생성하고, 이전 ReplicaSet의 파드를 새 ReplicaSet의 파드로 교체합니다.

  • 롤아웃 및 버전 관리 : Deployment는 애플리케이션의 새 버전을 안정적으로 롤아웃하는 프로세스를 관리합니다. 또한, 이전 버전으로 롤백하는 기능도 제공합니다.

  • 선언적 업데이트 : 사용자는 애플리케이션의 새 버전을 배포하기 위해 Deployment의 명세(spec)를 수정할 수 있습니다. 쿠버네티스는 이 명세에 따라 애플리케이션의 상태를 변경합니다.

  • 스케일링 : Deployment는 수직 및 수평 스케일링을 지원합니다. 수평 스케일링은 replicas 필드를 수정하여 파드의 복제본 수를 조절하는 것을 의미하며, 수직 스케일링은 파드의 리소스(CPU, 메모리)를 조절하는 것을 의미합니다.

  • 프로브(Probes) : Deployment는 애플리케이션의 건강 상태를 체크하기 위한 프로브를 설정할 수 있습니다. 이를 통해 애플리케이션의 상태에 따라 파드를 자동으로 재시작하거나 제거할 수 있습니다.

  • 롤링 업데이트 : Deployment는 애플리케이션을 업데이트할 때 롤링 업데이트 전략을 사용하여 중단 없이 새 버전을 배포할 수 있습니다.

  • 블루-그린 배포 : 이는 두 개의 별도 환경(블루와 그린)에서 애플리케이션 버전을 동시에 실행하고, 사용자 트래픽을 새로운 버전으로 전환하는 방식입니다. Deployment는 이런 전략을 지원하기 위한 여러 설정을 제공합니다.

쿠버네티스의 Deployment는 복잡한 애플리케이션 배포 및 관리 작업을 단순화하고 자동화하는 데 중요한 도구입니다. 이를 통해 안정적이고 지속적인 애플리케이션 운영이 가능해집니다.

TAGCKA, cka 문제, kubectl, kubernetes, kubernetes pod, kubernetes 연습문제, POD

예시

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deployment
  labels:
    app: nginx
spec:
  // replicasSet 은 랜덤한 해쉬값으로 만들어집니다.
  // replicas의 수를 보장해줍니다.
  replicas: 3
  // selector는 pod가 몇 개로 확장이 되는지 어떻게 업데이트가 되는지 기준이 됩니다. 
  selector: 
    matchLabels:
      app: nginx  // 항상 labels의 app 이름과 동일한 이름을 가져야합니다.
  // 아래는 pod 의 정보
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:1.14.2
        ports:
        - containerPort: 80
반응형
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
링크
글 보관함