ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Kubernetes Deployment
    kubernetes 2021. 12. 20. 21:10

    Deployment 정의하기

    deployment.yml 파일을 작성한다.

    Kubernetes ReplicaSet 생성, 확인, 수정, 삭제하기 에서 kind 를 Deployment 로 수정 후 deployment.yml 로 저장한다.

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: myapp
    spec:
      selector:
        matchLabels:
          app: nginx
      replicas: 3
      template:
        metadata:
          name: nginx
          labels:
            app: nginx
        spec:
          containers:
            - name: nginx-container
              image: nginx

    Deployment 생성하기

    kubectl apply 로 deployment.yml 실행

    kubectl apply -f deployment.yml
    # kubectl create -f deployment.yml

    Deployment 확인하기

    kubectl get all
    # kubectl get deployments
    # kubectl describe deployment myapp

    Deployment 변경해 보기

    replicas=4 로 변경하기

    deployment.yml 파일 수정 후 kubectl apply -f deployment.yml 실행한다.

    혹은 kubectl edit deployment myapp 을 실행하면 myapp deployment editor 가 뜨는데, 여기서 수정 후 저장하면 수정한 부분이 적용된다. deploy 진행 상태를 아래 명령어로 확인할 수 있다.

    kubectl rollout status deployment myapp

    container image 를 nginx 에서 nginx:1.20 으로 변경하기

    kubectl edit deployment myapp 을 실행해 수정 후 저장하면 변경된 내용이 저장된다. 최초 deploy 이후 변경 history 를 아래 명령어로 확인할 수 있다.

    kubectl rollout history deployment myapp

     

    revision=2 가 nginx:1.20 으로 수정한 revision 인데, 변경된 부분을 아래처럼 확인할 수 있다.

    kubectl rollout history deployment myapp --revision=2

    revision=1 로 돌아가기

    현재 revision=2 로 배포되어 있는데, revision=1 로 돌아가 보자

    kubectl rollout undo deployment myapp --to-revision=1

    revision=1 로 돌아간 revision 이 revision=3 이 되어 적용되어 있다. (기존 revision=1 은 없어짐)

    Deployment 삭제하기

    kubectl delete deployment myapp

    참고: https://www.udemy.com/course/learn-kubernetes/

    댓글

Designed by Tistory.