이번 강의에서는 Helm Uninstall 명령어를 사용하여 Kubernetes 클러스터에서 마이크로서비스를 모두 삭제하는 방법을 설명합니다. 이는 특히 개발, 테스트 환경과 같이 낮은 환경에서 클러스터를 종료할 때 매우 유용합니다. 또한 Helm을 사용하여 마이크로서비스 설치와 마찬가지로 단일 명령어로 전체 삭제를 할 수 있습니다.
먼저 현재 Helm을 통해 설치된 릴리스 목록을 확인하려면 다음 명령어를 사용합니다:
helm ls
이 명령어는 현재 Helm으로 설치된 모든 릴리스를 표시합니다. 예를 들어 easybank
, grafana
, tempo
와 같은 릴리스가 나열됩니다.
Helm Uninstall 명령어를 사용하여 모든 마이크로서비스를 삭제할 수 있습니다. 여기서는 먼저 easybank
릴리스를 삭제한 후 나머지 구성 요소들을 차례로 삭제합니다:
helm uninstall easybank
이 명령어를 실행하면, easybank
릴리스를 통해 설치된 모든 마이크로서비스(예: accounts
, loans
, cards
등)가 Kubernetes 클러스터에서 삭제됩니다.
다음으로, grafana
, tempo
, loki
, prometheus
, kafka
, keycloak
등의 컴포넌트도 같은 방식으로 삭제합니다:
helm uninstall grafana
helm uninstall tempo
helm uninstall loki
helm uninstall prometheus
helm uninstall kafka
helm uninstall keycloak
모든 릴리스를 삭제한 후, 다시 Helm ls 명령어를 사용하여 삭제가 성공했는지 확인합니다:
helm ls
이 명령어는 더 이상 설치된 릴리스가 없음을 보여줄 것입니다. Kubernetes 대시보드에서도 확인할 수 있으며, 더 이상 표시할 것이 없다는 메시지를 확인할 수 있습니다.
Helm Uninstall 명령어는 대부분의 리소스를 삭제하지만, 퍼시스턴트 볼륨 클레임(Persistent Volume Claims, PVC)은 자동으로 삭제되지 않습니다. 이는 다시 설치할 때 문제를 일으킬 수 있으므로 수동으로 삭제해야 합니다. Kubernetes 대시보드에서 PVC를 선택하고 Delete 버튼을 눌러 삭제합니다.
Kubernetes CLI를 사용하여도 PVC를 삭제할 수 있습니다:
kubectl get pvc
kubectl delete pvc <pvc-name>
Helm 외에도 Customize라는 다른 배포 도구가 존재합니다. Customize도 Helm과 유사한 문제를 해결하는 도구이며, 학습 곡선이 더 완만한 장점이 있습니다. 하지만 Helm은 훨씬 더 강력한 기능과 커뮤니티 지원을 제공합니다. 특히 Helm은 Bitnami를 비롯한 다양한 커뮤니티 차트를 통해 여러 컴포넌트와 제품을 설치하는 데 강력한 지원을 받습니다.
결론적으로, Customize도 좋지만 Helm의 커뮤니티와 복잡한 기능을 고려할 때, 개인적으로는 Helm을 사용하는 것을 추천합니다.
이를 통해 Helm의 강력한 관리 기능을 활용하여 Kubernetes 클러스터에서 마이크로서비스를 쉽게 설치하고 삭제할 수 있습니다.
감사합니다!