Udemy의 Certified Kubernetes Administrator (CKA) with Practice Tests 강의의 32. Deployments 챕터를 공부한 내용으로 강의 내용과 다를 수 있습니다. 정확한 내용은 강의를 들으시는 것을 추천드립니다.
1. Deployment
이번 챕터에서는 앞서 배웠던 replication과 같은 kubernetes의 자원들에 대한 부분은 고려하지 않고, deployment를 사용해 실제 운영 환경에서는 어플리케이션을 배포하는 방법에 대해 집중한다.
애플리케이션의 새로운 버전이 나와 docket registry에 업로드 하고 모든 docker 인스턴스를 한번에 업그레이드할 경우 유저에게 영향을 미칠 수 있다.이에 하나씩 업데이트 하는 것을 ‘롤링 업데이트’ 라고 한다. 또한, 업데이트 중 오류가 발생 할 경우 '롤백'을 원하는 경우가 있다. 이런 기능들을 Deployment가 지원해준다.
Deployment가 생성되면 ReplicaSet이 자동으로 생성된며, Deployment는 원활한 업그레이드를 위해 롤링 업데이트 사용, 롤백, 중지, 재개하는 기능을 제공한다.
2. Deployment 다뤄보기
Deployment는 이전 구성 요소들과 같이 설정 파일을 통해 생성 할 수 있다.
Deployment의 설정 파일은 Replica Set의 설정 파일의 "kind"가 Deployment로 변경된 것만 빼면 동일하다.
apiVersion: apps/v1
kind: Deployment
metadata:
name: myapp-deployment
labels:
app: myapp
type: front-end
spec:
template:
metadata:
name: myapp-pod
labels:
app: myapp
type: front-end
spec:
containers:
- name: nginx-container
image: nginx
replicas: 3
selector:
matchLabels:
type: front-end
kubectl create 명령어를 사용하여 Deployment를 생성한다.
$ kubectl create -f deployment-definition.yaml
kubelctl get 명령어를 통해 생성한 deployment를 조회할 수 있다.
$ kubectl get deployment
Deployment를 생성하며 자동으로 생성된 replica set도 kubectl 명령어를 사용하여 조회 가능하다.
$ kubectl get replicaset
자동으로 생성 된 pods의 정보 또한 확인 가능하다.
$ kubectl get pods
하단 명령어를 통해 모든 자원을 한번에 조회 가능하다.
$ kubectl get all
Deployment가 생성 된 것 외엔 replicat set과 생성된 자원이 차이가 없어보인다. 다음 강의에서 deployment를 사용하는 예시를 봐본다.
'IT 강의 > 도커 쿠버' 카테고리의 다른 글
[CKA 강의 요약] Practice Test - Deployments, Solution - Deployments (Optional) (0) | 2024.06.19 |
---|---|
[CKA 강의 요약] Certification Tip! (0) | 2024.06.19 |
[CKA 강의 요약] Practice Test - ReplicaSets, ReplicaSets - Solution (Optional) (0) | 2024.06.11 |
[CKA 강의 요약] Recap - ReplicaSets (0) | 2024.04.01 |
[CKA 강의 요약] Practice Test Introduction (0) | 2024.03.26 |