cKA SimB - Q6 Kubelet 문제 해결

1 개요[ | ]

중단된 Deployment에서 이전 상태로 롤백
  • 잘못된 이미지나 설정으로 인해 중단된(Available condition 실패) Deployment를 이전 정상 상태로 롤백하는 실습
  • Deployment는 과거의 ReplicaSet을 자동으로 저장하며, 이를 기준으로 롤백 가능

2 오류 발생 Deployment 생성[ | ]

  • 존재하지 않는 이미지 태그로 Deployment 생성 시, Pod가 ImagePullBackOff 상태에 빠짐
# k create deploy nginx-deploy --image=nginx:invalid
  • Deployment 상태 확인 시 Available condition 이 실패
# k describe deploy nginx-deploy | grep -A5 Conditions
Conditions:
  Type           Status  Reason
  ----           ------  ------
  Available      False   MinimumReplicasUnavailable

3 롤백 가능한 Revision 확인[ | ]

  • rollout history 명령으로 과거 버전 확인
# k rollout history deploy nginx-deploy
deployment.apps/nginx-deploy 
REVISION  CHANGE-CAUSE
1         <none>
2         <none>

4 Deployment 롤백[ | ]

  • 이전 정상 동작했던 버전으로 롤백
# k rollout undo deploy nginx-deploy
deployment.apps/nginx-deploy rolled back

5 롤백 후 상태 확인[ | ]

  • Available 조건이 True로 바뀜
# k get deploy nginx-deploy
NAME            READY   UP-TO-DATE   AVAILABLE   AGE
nginx-deploy    1/1     1            1           3m
# k describe deploy nginx-deploy | grep -A5 Conditions
Conditions:
  Type           Status  Reason
  ----           ------  ------
  Available      True    MinimumReplicasAvailable

6 핵심 요약[ | ]

  • Deployment 상태가 "Available=False"이면 새로운 버전이 실패한 것
  • kubectl rollout undo로 이전 버전으로 되돌릴 수 있음
  • 정상 동작하는 이전 버전의 ReplicaSet을 기반으로 롤백
문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}