전공공부
[K8S - CKA] Deployment 본문
1. Deployment
정의 : 배포를 담당하는 것으로 Pod를 업데이트 할 수 있는 롤링 업데이트 기능과 여러개의 Pod를 관리 할 수 있음 (ReplicaSet의 기능) , 롤백 기능 지원, scale을 지원 함(일시정지 후 pod scaling)
- 롤링 업데이트란 : Pod를 한번에 재배포하는 것이 아닌 하나씩 내리고 업데이트 하고 내리고 업데이트 하고를 반복하여 사용자에게 영향을 끼치지 않는 상태에서 무중단 배포를 진행하는 것이다.
역할 : 실질적으로는 ReplicaSet의 역할을 모두 하면서 ReplicaSet을 가지고 롤링 업데이트, 롤백 기능을 추가적으로 한다고 생각하면 된다. (무중단 배포를 지원 할 수 있게 하는 요인)
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를 만들게 된다.
'Study > K8S' 카테고리의 다른 글
[K8S - CKA] Kubectl Apply Command (0) | 2023.08.26 |
---|---|
[K8S - CKA] Imperative 접근 방식 vs. Declarative 접근 방식 (0) | 2023.08.22 |
[K8S - CKA] Relication Controller & ReplicaSet (0) | 2023.08.20 |
[K8S - CKA] Kube Scheduler (0) | 2023.08.15 |
[K8S - CKA] K8S Controller Manager (0) | 2023.08.15 |