Helm을 사용한 롤백: 마이크로서비스를 이전 상태로 되돌리기

날아올라돼지야·2024년 9월 1일
0

이번 강의에서는 Helm을 사용하여 Kubernetes 클러스터 내의 마이크로서비스를 이전 버전으로 롤백하는 방법에 대해 설명합니다. Helm의 롤백 기능은 단일 명령으로 클러스터의 모든 관련 구성 요소를 이전의 원하는 상태로 되돌릴 수 있어, 여러 마이크로서비스에 변경 사항이 있을 때 매우 유용합니다.

1. Helm History 명령어

  • Helm History 명령어를 사용하여 특정 릴리스에 대해 업그레이드 또는 설치 이력(revisions)을 확인할 수 있습니다.
  • 현재 릴리스 이름이 easybank인 경우, 다음 명령어를 실행합니다:
    helm history easybank
  • 이 명령어는 릴리스의 모든 설치 및 업그레이드 내역을 보여줍니다. 예를 들어, 아래와 같이 나올 수 있습니다:
    • Revision 1: 초기 설치가 완료됨.
    • Revision 2: s12 태그로 업그레이드되었으나, 오류가 있어 다시 롤백할 필요가 있음.
    • Revision 3: s11 태그로 업그레이드 완료.

2. Helm Rollback 명령어

  • Helm Rollback 명령어를 사용하여 특정 이전 버전으로 롤백할 수 있습니다.
  • 예를 들어, Revision 1로 롤백하려면 다음 명령어를 실행합니다:
    helm rollback easybank 1
  • 이 명령어를 실행하면, Helm은 클러스터 내 모든 관련 구성 요소를 Revision 1 상태로 되돌립니다.
  • 롤백이 완료되면, "Rollback was a success"라는 메시지가 표시됩니다.

3. Kubernetes 대시보드에서 확인

  • Kubernetes 대시보드에서 롤백이 성공적으로 완료되었는지 확인할 수 있습니다.
  • 대시보드에서 Pods 섹션을 열고, 새로 생성된 Gateway Server Pod를 선택합니다.
  • Pod의 이벤트를 확인하여, 올바른 Docker 이미지(s14)가 다시 배포되었는지 확인합니다.
  • 로그를 통해 Gateway Server가 정상적으로 시작되었는지도 확인할 수 있습니다.

4. Postman을 사용한 롤백 검증

  • Postman을 사용하여 API를 호출하여 롤백이 제대로 되었는지 확인합니다.
  • 예를 들어, 인증 없이 API를 호출할 때 401 Unauthorized 오류가 발생하면 롤백이 성공한 것입니다.

5. 롤백 후 Helm History 확인

  • 롤백 후에 Helm History 명령어를 다시 실행하여 새로운 리비전 상태를 확인합니다:
    helm history easybank
  • 이제 Revision 4가 생성되었으며, 주석에 rollback to 1이 추가된 것을 확인할 수 있습니다.

6. 변경 사항 재설정

  • 롤백 후, values.yaml 파일에서 태그를 원래 상태(s14)로 다시 수정합니다.
  • 이 변경 사항은 GitHub 저장소에 체크인됩니다.

요약

Helm을 사용하면 단일 명령어로 Kubernetes 클러스터 내 여러 마이크로서비스를 쉽게 롤백할 수 있습니다. 이를 통해 시스템 안정성을 유지하면서도 신속하게 배포 오류를 수정할 수 있습니다. 이번 강의에서는 롤백의 원리와 실제 적용 방법에 대해 설명하였으며, 이러한 과정을 통해 Helm의 유용성을 다시 한 번 확인할 수 있었습니다.

추가적인 질문이나 궁금한 점이 있다면 언제든지 알려주세요. 감사합니다.

profile
무슨 생각하며 사니

0개의 댓글