Helm Uninstall 명령어를 통한 마이크로서비스 삭제

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

이번 강의에서는 Helm Uninstall 명령어를 사용하여 Kubernetes 클러스터에서 마이크로서비스를 모두 삭제하는 방법을 설명합니다. 이는 특히 개발, 테스트 환경과 같이 낮은 환경에서 클러스터를 종료할 때 매우 유용합니다. 또한 Helm을 사용하여 마이크로서비스 설치와 마찬가지로 단일 명령어로 전체 삭제를 할 수 있습니다.

1. Helm 설치 상태 확인

먼저 현재 Helm을 통해 설치된 릴리스 목록을 확인하려면 다음 명령어를 사용합니다:

helm ls

이 명령어는 현재 Helm으로 설치된 모든 릴리스를 표시합니다. 예를 들어 easybank, grafana, tempo와 같은 릴리스가 나열됩니다.

2. 마이크로서비스 삭제 (Uninstall)

Helm Uninstall 명령어를 사용하여 모든 마이크로서비스를 삭제할 수 있습니다. 여기서는 먼저 easybank 릴리스를 삭제한 후 나머지 구성 요소들을 차례로 삭제합니다:

helm uninstall easybank

이 명령어를 실행하면, easybank 릴리스를 통해 설치된 모든 마이크로서비스(예: accounts, loans, cards 등)가 Kubernetes 클러스터에서 삭제됩니다.

3. 기타 컴포넌트 삭제

다음으로, grafana, tempo, loki, prometheus, kafka, keycloak 등의 컴포넌트도 같은 방식으로 삭제합니다:

helm uninstall grafana
helm uninstall tempo
helm uninstall loki
helm uninstall prometheus
helm uninstall kafka
helm uninstall keycloak

4. 설치된 릴리스가 없는지 확인

모든 릴리스를 삭제한 후, 다시 Helm ls 명령어를 사용하여 삭제가 성공했는지 확인합니다:

helm ls

이 명령어는 더 이상 설치된 릴리스가 없음을 보여줄 것입니다. Kubernetes 대시보드에서도 확인할 수 있으며, 더 이상 표시할 것이 없다는 메시지를 확인할 수 있습니다.

5. 퍼시스턴트 볼륨 클레임(PVC) 삭제

Helm Uninstall 명령어는 대부분의 리소스를 삭제하지만, 퍼시스턴트 볼륨 클레임(Persistent Volume Claims, PVC)은 자동으로 삭제되지 않습니다. 이는 다시 설치할 때 문제를 일으킬 수 있으므로 수동으로 삭제해야 합니다. Kubernetes 대시보드에서 PVC를 선택하고 Delete 버튼을 눌러 삭제합니다.

Kubernetes CLI를 사용하여도 PVC를 삭제할 수 있습니다:

kubectl get pvc
kubectl delete pvc <pvc-name>

6. Helm과 다른 배포 도구 비교 (Customize)

Helm 외에도 Customize라는 다른 배포 도구가 존재합니다. Customize도 Helm과 유사한 문제를 해결하는 도구이며, 학습 곡선이 더 완만한 장점이 있습니다. 하지만 Helm은 훨씬 더 강력한 기능과 커뮤니티 지원을 제공합니다. 특히 Helm은 Bitnami를 비롯한 다양한 커뮤니티 차트를 통해 여러 컴포넌트와 제품을 설치하는 데 강력한 지원을 받습니다.

결론적으로, Customize도 좋지만 Helm의 커뮤니티와 복잡한 기능을 고려할 때, 개인적으로는 Helm을 사용하는 것을 추천합니다.

요약

  1. Helm ls: 설치된 모든 릴리스 확인
  2. Helm Uninstall: 단일 명령어로 마이크로서비스 및 컴포넌트 삭제
  3. 퍼시스턴트 볼륨 클레임(PVC): 수동으로 삭제 필요
  4. Helm과 Customize 비교: Helm이 더 복잡하고 강력한 기능 제공

이를 통해 Helm의 강력한 관리 기능을 활용하여 Kubernetes 클러스터에서 마이크로서비스를 쉽게 설치하고 삭제할 수 있습니다.

감사합니다!

profile
무슨 생각하며 사니

0개의 댓글