Day 75 · 3/5
🌳 고급 인프라

Helm이 뭔가요?

쉽게 이해하기

Helm은 앱스토어와 같아요. npm에서 라이브러리를 설치하듯이, Helm으로 데이터베이스, 모니터링 도구, 웹 서버 같은 복잡한 애플리케이션을 한 줄 명령어로 쿠버네티스에 설치할 수 있어요. 설정 파일을 일일이 작성할 필요 없이, 검증된 패키지를 가져다 쓰면 돼요.

핵심 정리

Helm은 쿠버네티스 애플리케이션을 패키지로 관리하는 패키지 매니저예요.

자세히 알아보기

쿠버네티스에 애플리케이션을 배포하려면 Deployment, Service, ConfigMap, Secret 등 여러 YAML 파일을 작성해야 해요. 간단한 앱도 5~10개의 파일이 필요하고, 환경마다 설정이 달라지면 관리가 정말 복잡해져요. Helm은 이런 복잡한 설정을 패키지(Chart)로 묶어서 관리할 수 있게 해줘요. Helm Chart는 쿠버네티스 애플리케이션의 템플릿이에요. 예를 들어 PostgreSQL을 설치하고 싶다면, 'helm install my-db bitnami/postgresql' 한 줄이면 끝이에요. Helm이 알아서 필요한 모든 리소스를 만들고 연결해줘요. 필요한 설정(비밀번호, 볼륨 크기 등)은 values.yaml 파일로 쉽게 커스터마이징할 수 있고요. 실무에서는 거의 모든 유명 오픈소스 도구가 Helm Chart를 제공해요. Prometheus(모니터링), Grafana(대시보드), Redis(캐시), Nginx(웹서버) 등 필요한 도구를 Helm으로 빠르게 설치하고 관리할 수 있죠. 자체 애플리케이션도 Helm Chart로 만들면 개발/스테이징/프로덕션 환경별로 같은 구조를 유지하면서 설정만 바꿔서 배포할 수 있어요. Helm의 또 다른 장점은 버전 관리예요. 업그레이드가 잘못되면 'helm rollback' 한 줄로 이전 버전으로 되돌릴 수 있어요. 쿠버네티스를 본격적으로 사용한다면 Helm은 거의 필수 도구예요.