Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
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 31
Archives
Today
Total
관리 메뉴

전공공부

[K8S - CKA] Deployment 본문

Study/K8S

[K8S - CKA] Deployment

monitor 2023. 8. 20. 17:06

1. Deployment


정의 : 배포를 담당하는 것으로 Pod를 업데이트 할 수 있는 롤링 업데이트 기능과 여러개의 Pod를 관리 할 수 있음 (ReplicaSet의 기능) , 롤백 기능 지원, scale을 지원 함(일시정지 후 pod scaling)

 

- 롤링 업데이트란 : Pod를 한번에 재배포하는 것이 아닌 하나씩 내리고 업데이트 하고 내리고 업데이트 하고를 반복하여 사용자에게 영향을 끼치지 않는 상태에서 무중단 배포를 진행하는 것이다.

 

역할 : 실질적으로는 ReplicaSet의 역할을 모두 하면서 ReplicaSet을 가지고 롤링 업데이트, 롤백 기능을 추가적으로 한다고 생각하면 된다. (무중단 배포를 지원 할 수 있게 하는 요인)

 

<https://yankeexe.medium.com/how-rolling-and-rollback-deployments-work-in-kubernetes-8db4c4dce599>

 

2. YML


apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deployment
  labels:
    app: nginx
spec:
  replicas: 3
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:1.14.2
        ports:
        - containerPort: 80

 

놀랍게도 이렇게 만들어만 두어도 ReplicaSet은 자동으로 Deployment가 만들게 된다. 그럼 ReplicaSet은 자동으로 Pod를 만들게 된다.

위 객체들 중 service를 제외한 나머지 객체들은 모두 위 deployment.yaml으로 제작한 것이다.