Deployment

장동민·2022년 7월 29일
0

CKA 자격증 준비

목록 보기
5/13

1. Deployment

  • 쿠버네티스 클러스터에서 애플리케이션을 배포하는 가장 일반적인 방식
  • ReplicaSet 컨트롤러를 통해 replica 수 보장 및 scaling 가능
  • Rolling update 또는 Rollback 지원

2. Deployment는 ReplicaSet 컨트롤러를 이용해 Pod scaling을 지원

$ kubectl scale deployment <deploy_name> --replicas=N
  • scale-out : 애플리케이션 Pod수를 확장하여 처리능력을 향상
  • scale-in: 애플리케이션 Pod수를 줄여서 리소스 낭비를 최소화

3. Rolling Update & Rolling back

  • Rolling Update: 동작중인 애플리케이션의 서비스 중단 없이 점진적으로 Pod 업데이트
$ kubectl set image deployment <deploy_name> <container_name>=<new_version_image> --record
  • Rollback: 동작중인 애플리케이션 서비스 중단 없이 이전 버전으로 되돌리기
# deployment 수정사항 확인
$ kubectl rollout history deployment <deploy_name>

# 이전 버전으로 되돌리기
$ kubectl rollout undo deployment <deploy_name>
# 버전을 선택하여 이전 버전으로 되돌리기
$ kubectl rollout undo deployment <deploy_name> --to-revision=NUMBER

※ 문제1: Deployment & Scaling

(참고 URL : https://kubernetes.io/ko/docs/concepts/workloads/controllers/deployment/)

  • 작업 클러스터 : k8s

a. webserver 라는 이름으로 deployment를 생성하시오.
- Name: webserver
- 2 replicas
- label: app_env_stage=dev
- container name: webserver
- container image: nginx:1.14

b. 다음, webserver Deployment의 pod 수를 3개로 확장하시오.


  1. 작업 클러스터 확인

  1. deployment 생성 및 yaml 파일 편집기로 이동

  1. vi 에디터로 yaml 파일 편집 및 작성 후 저장

  1. 만들었던 yaml 파일 apply

  1. deployment 생성 확인

  1. webserver의 deployment의 pod 수를 3개로 확장

  1. webserver의 deployment의 pod수가 3개로 바뀐 것을 확인


※ 문제2: Rolling update & Rollback

(참고 URL : https://kubernetes.io/ko/docs/concepts/workloads/controllers/deployment/)

  • 작업 클러스터: k8s
  • Deployment를 이용해 nginx 파드를 3개 배포한 다음 컨테이너 이미지 버전을 rolling update하고 update record를 기록합니다.
  • 마지막으로 컨테이너 이미지를 previous version으로 rollback 합니다.
    • name: eshop-payment
    • Image: nginx
    • Image version: 1.16
    • update image version: 1.17
    • label: app=payment, environment=production
  1. 작업 클러스터 확인

  1. deployment 생성 및 yaml 파일 편집기로 이동

  1. vi 에디터로 yaml 파일 편집 및 작성 후 저장

  1. 만들었던 yaml 파일 apply와 record를 기록

  1. 컨테이너 이미지 버전을 rolling update 후 record로 기록

  1. 컨테이너 이미지 버전 rolling update한 기록 확인

  1. 컨테이너 이미지를 previous version으로 rollback

  1. rollback한 기록 확인

profile
나만의 데이터베이스

0개의 댓글