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

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

이번 강의에서는 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개의 댓글